Software engineering endemic problems and why we need good programmers. My experience

This is, a manipulated compendium of the most notable quotes, words and ideas of the most brilliant computer scientists we have ever had. Edsger Dijkstra, Ken Thomson, Dennis Ritchie, Alan Turing, Niklaus Wirth, Alan Kay, Bjarne Stroustrup, Richard Stallman, Frederic Brooks, Martin Fowler, Donald Knuth …  I have experienced these vivid thoughts as if they were my own flesh and blood many times in my professional career. It is my desire to share with you, written in a sequential and linked order, trying to construct a reasoning related text and not a mere bunch of isolated ideas. I hope you enjoy the reading.

Main idea: All large and medium software projects always tend to fail, be it finishing on time, overbudget or both.

When we talk about the software crisis we are exactly referring to the previous assertion and the fact most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.  Some, in an humorous mood, think this is due to all programmers tend to be optimists in their estimations, but the reality is that the complexity of software is an essential property, not an accidental one. Hence, descriptions of a software entity that abstract away its complexity often abstracts away its essence.

In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever. As a consequence, systems program building is an entropy-decreasing process, hence inherently metastable. Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence. And what is worst, contrarily to other engineering disciplines, adding manpower to a late software project, makes it later.

In addition, specifications contribute to software complexity, sometimes extracted from requirements that are ambiguous, conflicting, or incomplete and we must work to resolve, as soon as possible, with a kind of customer that most of the times don’t even really knows what he wants. Be very carefull! even the best planning is not so omniscient as to get it right the first time. The complexity is something inherent to the software building act and it is preferable to convince your customer to work in collaboration over fixed contract negotiation, trying to respond to change instead of a following plan. Obviously the main problem of this desirable approach, it will be the budget deviation and make it understandable to our customers.

Program construction consists of a sequence of refinement steps. One of my most productive days was throwing away 1,000 lines of code. The lurking suspicion that something could be simplified is the world’s richest source of rewarding challenges. The competent programmer is fully aware of the limited size of his own skull. He therefore approaches his task with full humility, and avoids clever tricks like the plague.

If your code its well documented, or better, auto-documented and clean, as a result it will be easy to understand and consequently easy to fix mistakes, verify and maintain. Simplicity is prerequisite for reliability. Remember, any fool can write code that a computer can understand but good programmers write code that humans can understand.  It is a common error when programmers sacrifice clarity in favor of execution speed because they often develop software that runs fast, but is error-prone and difficult to change.

Golden rule of software development: Write software for others as you wish they would write for you.

From my experienced point of view the easiest way to debug is to write software without any bugs. Debugging sucks, testing rocks,  but remember that program testing can be used to show the presence of bugs, but never to show their absence ! It had to be punishable working in teams not using batteries of unit testing, regressive tests , coverage tests or other similar techniques that serves as an effective premature alert mechanism prompting any important bug coming out from our code.

All inherent problems and complexity related to software engineering and programming always have been there, try to know and identify these problems and avoid trendy and miraculous techniques, methodologies or paradigms without any critical approach. The computer industry is the only industry that is more fashion-driven than women’s fashion. Certainly not every good program is object-oriented, and not every object-oriented program is good. Quality programming is usually taught by design patterns  and good examples. We have thousands of free software projects with tons of wisdom hidden among their lines of code. Please take advantage of this, don’t be a  fool ! There are lots of different tools and languages. Open your mind ! You must perform like a plumber, for every job, there is required a tool or set of them that best suit to complete successfully the work.

It is important to be good working in a team and learn to write. The ability to communicate your ideas to others will aid you more than anything else you will learn, and make you more valuable to employers.

Study after study shows that the very best designers and programmers are A+ team players. They produce structures that are faster, smaller, simpler, clearer, and produced with less effort. The differences between the great and the average, approach an order of magnitude.

From my point of view as a consequence of all having said before we can state that a good programmer is someone who:

Loves to code in a creative way and it’s ready to get things done rather than only speak. Continuously refactors code in a leveraging way trying to make it faster, smaller, clearer, simpler, more general and produced with less effort. One that don’t reinvent the wheel, reuse code and use design patterns that are the smart experienced solution of many programmers that have had the same problems than you, maybe many years before you were born. A good programmer is a A+ team player and writes tests because its preferably over debugging and wasting lots of time verifying manually the correctness of the software. He is alway prone to reuse good third-party code and to develop, using either as a base or inspiration, good quality free software. From the engineering point of view you must love free software because is the greatest source to learn by example. A good one, should focus on usability and writing maintainable code. Be able to code in any language and choose the right languages and tools that best fits for every different project. We can’t use a hammer for all kind of works! Definitively, a person that should be instructed thoroughly and know more than basic computer science.

We need good programmers (A+), they are the most promising weapon to fight against software intrinsical complexity nature.

150 thoughts on “Software engineering endemic problems and why we need good programmers. My experience”

  1. Pingback: My Homepage
  2. Hey very cool blog!! Man .. Beautiful .. Wonderful .. I will
    bookmark your site and take the feeds also?

    I am glad to search out so many helpful info here within the publish, we want work out extra techniques
    in this regard, thanks for sharing. . . . .

    .

  3. Hey I am so glad I found your web site, I really found you by error, while I was looking
    on Google for something else, Anyways I am here now and would just like to say cheers for a remarkable post and a all round thrilling blog (I also love the theme/design),
    I don’t have time to look over it all at the minute
    but I have saved it and also included your RSS feeds,
    so when I have time I will be back to read much more, Please do keep up the
    great jo.

  4. My partner and I absolutely love your blog and find a lot of your post’s to be precisely what
    I’m looking for. can you offer guest writers to write content for you personally?

    I wouldn’t mind writing a post or elaborating on some of the subjects you write about here.
    Again, awesome site!

    my web-site fallout shelter ios Hack

  5. Excellent blog! Do you have any helpful hints for aspiring
    writers? I’m hoping to start my own website soon but I’m
    a little lost on everything. Would you advise starting with a
    free platform like WordPress or go for a paid option? There are so many choices out there
    that I’m completely confused .. Any ideas? Cheers!

    My weblog; private instagram viewer

  6. Three-way layer woven polyethylene that is rip-stop difficult.

    From twine wheeled, the process billet was apprehended just by thread
    is used up. Because earthquakes can strike anywhere at any time, earthquake safety fasteners are your best bet for
    protecting your electronics.

    Review my web-site – entergy arkansas power outages (Florine)

  7. Each mobile game, some android development framework focus on campaign and sandbox style gameplay modes and do,
    but a necessity in a small screen. Developed by Chilinggo Ltd among the several advance mobile game
    the artwork in LoC is less generic than many of those activities over
    and over again. To me, as Nintendo’s 3D handheld is tap titans cheats no download no reason why the
    Android phone version. There are many iPhone game of your PC.

  8. Other economy changes include lower level availability of Dark Elixir Drills (Town Hall level 7 for the first, Town Hall level 8
    for the second), increased capacity for Dark Elixir Drills of
    all levels, and an additional level for Gold Mines and Elixir Collectors (12).
    Properties accumulate a separate pot of money with a maximum per day.
    Click Here to know more about astuce clash of clans hack (https://derclashofclanshack.de) of clans.

  9. I believe everything published was very reasonable.
    But, what about this? suppose you were to write a awesome title?
    I am not suggesting your content is not good., but suppose you added something that makes people
    want more? I mean Software engineering endemic problems and why we need good programmers.

    My experience | Nicklaus_, Res de molt is a little plain. You should
    glance at Yahoo’s front page and watch how they create
    post titles to get people interested. You might add a related video or a related picture or two to get readers
    interested about what you’ve got to say. In my opinion,
    it might make your blog a little bit more interesting.

  10. Hi there! This is my 1st comment here so I just wanted to give a quick shout out and say
    I really enjoy reading your articles. Can you suggest any
    other blogs/websites/forums that deal with the same topics?
    Thank you!

  11. You let the heightened sexual tension radiate throughout
    the body, beyond the genitals, and the body moves only involuntarily
    in response to it. Sex toys can increase the
    overall mood when it comes to pleasure. When she begins to act clingy and possessive
    just after they have had sex a man begins to wonder what his life would really be like
    if he was dating her seriously.

    Feel free to surf to my blog post: http://Www.gaimoi.com

  12. Surfing the Internet is a very enjoyable thing to do, but in order to
    be able to this you need to choose the proper Internet speed that
    will allow you to do what you want or need to accomplish.

    The remaining pins all have different functions which include providing power for
    each HDMI cable, ensuring the smoothest transmission possible from one device to the next, and much more.
    Fiber optic cable is not just used for computer networking,
    but also to connect audio devices, as it transmits high quality audio signal.

    Also visit my blog post Seilzug

  13. It’s approximately the charge card company to find your banking information when the judge signs the garnishment order.
    In addition, you may need a copy of the LLC partnership’s operating agreement, as well being a federal tax ID number which
    identifies the LLC partnership for tax and banking purposes.

    us bank human resources us bank mortgage login (epsetkd.dr.beta.ekt.gr)

  14. An interesting discussion is definitely worth comment.
    I do believe that you ought to publish more about this subject, it might not be a taboo subject
    but generally people don’t speak about these issues.
    To the next! Kind regards!!

  15. The show which will be another fashion reality competition will feature some of our favorite Runway alums like Mondo Guerra (.
    We are able to check it by flattening following the begin to make a decision if the lower jacket can reinstated inside a
    short time. Whatever be your material, the comfort you will get
    is simply matchless either if you stroke against the texture of the cloth or wear the idea on.

  16. Ferret diets should list meat, poultry or fishmeal, or animal by-products as the first ingredient.
    Cut them to equal sizes then glue them to one of
    the ends of the tank. This really is potentially because of the adrenaline issue;
    the shock towards the animal is much more significant by using a superior powered rifle than that of a crossbow or compound
    bow.

    Feel free to visit my page … energy advantage;
    http://profileinsgroup.com/,

  17. Maybe your vagina is attacked by any other type of STD related disease
    as well. I know how these dudes would really be if
    they weren’t surrounded by gold watches, diamonds, and all that.
    Sometimes a gentleman just wants to be with a woman who really loves
    being a woman.

    my web site :: tranny chat rooms

  18. Packaging:5This is about as standard as it gets – a 5 hour energy assistance program
    indiana (http://www.mgrc.com.my) shaped bottle with a wrap.
    Solar panels work best when they are in a spot, which has constant exposure to the sun throughout the
    year. Soon after, I noticed the signs posted all over Camden Town to beware
    of the pickpockets.

  19. Everyone is looking for a good, long-term investment these days.

    Close friends since the eighth grade, the two pals were only 13 when they met, yet that friendship lasted for 29 years until Elvis’s terrible demise.
    Some saxophone players like to turn their lip to the
    inside a bit.

    Have a look at my blog: Telecharger Virtual Dj

  20. The Indian Culture of Home heating, Refrigerating and also A/c Engineers (ISHRAE) was developed to
    promote the HEATING AND COOLING market in India.

    My web site: HVAC Training (Lucia)

  21. %It helps keep your bathroom neat and organized. It also helps increase the functionality of your bathroom space. The bathroom and kitchen are the most important rooms of a home when it comes to sanitation.

    Feel free to visit my web site shelving units [Ruby]

  22. The guidance covers five primary locations: the law public authorities the workplace and service delivery religious organisations and school education.

    Also visit my weblog couples therapy (Alina)

  23. Standard hand tools, power devices, and some market particular tools and
    tools will certainly be talked about as well as shown.

    Feel free to visit my blog – HVAC Training Courses (Fawn)

  24. %Follow the steps below to build your own garage storage – Niki – shelves. You can put storage shelves overhead from the top of your garage down to the floor or in a horizontal succession of three to five shelves.

  25. So when a couple of years ago I was advised this book, I took it up a tiny wearily, and prepared to submit myself to more of the exact same.

    Feel free to surf to my homepage: couples counseling; Iona,

  26. %It was obvious then that this 16-year-old lad was some talent, and to think he is England?s leading player more than 12 years on is quite an achievement.

    My blog post – garage storage (Louella)

  27. %Slatted panels come in a few varieties so you can choose one to look best for your business. With the right panelling you can make your shop look smart and appealing, while also using the panelling to display or store items.

    Also visit my homepage; storage shelf [Ashleigh]

  28. Prosecutors ought to refer to the CPS Guidance for Expert Witnesses booklet for
    full details with regards to the duties and obligations of all
    expert witnesses.

    my site – couples counselling (Kandy)

  29. When I originally commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment
    is added I get several emails with the same comment.

    Is there any way you can remove me from that service? Many thanks!

    Here is my weblog; free porn

  30. Everyone loves what you guys are up too.
    This type of clever work and reporting! Keep up the fantastic works guys I’ve
    added you guys to my own blogroll.

  31. %The common house hold shelf has many uses. In this article I will explain the many uses of a shelf. The answer my friends, are shelves. You may shelves use for many menial tasks that defy gravity.

    My page shelving ideas (tecbased.com)

  32. %Building your own dock can easily save you 50% over the
    cost of a new one. ? The cost to assemble the parts into a finished dock.

    You need a new floating dock or you want to add on to your existing
    one, but money is tight.

    Feel free to surf to my homepage: shelving units (volok-srcn.ru)

  33. %Only the tip of their archival heritage is ever on display, however hundreds of other fragile and perhaps irreplaceable items need to be kept in a safe and secure manner.

    Also visit my web site – shelving ideas – Nathan,

  34. The document ought to make it clear that the restrictions it describes may possibly be temporary, if the church decides to alter its canons.

    Also visit my web blog :: marriage guidance (Pearl)

  35. %Sometimes your collection of books on the shelf are just too much for the bookend to hold. If you have book shelves in your home, and lots of books, you’ve probably discovered that bookends don’t always keep everything in order.

    Also visit my webpage corner shelf unit (nifdugu.ru)

  36. It’s the best time to make some plans for the future and it’s time to be happy.
    I’ve read this post and if I could I wish to suggest you few interesting things or advice.

    Perhaps you can write next articles referring to this article.
    I wish to read more things about it!

  37. I discover myself going back to it per day, as well as it’s terrific to see the programmers continuing to sustain it with updates and also brand-new additions.
    Preorder special deal an excellent method to obtain an efficient video game
    buy. Bought a new device?

    Here is my blog … http://www.mathaax.com

  38. To create everyone happy, set up a caution system that gives
    your child ample time to complete prior to another person obtains a
    turn. As a father and mother, your ideal resource for details
    concerning the computer game your children are playing is speaking to your children themselves.
    One more major modification is pertaining to Clash Of Clans that
    has millions of gamers incredibly upset.

    My web blog; http://tvoypsiholog.com.ua/?option=Com_k2&view=itemlist&Task=user&id=174023

  39. This is the info you ought to recognize. In the meanwhile,
    we have an excellent Clash of Clans update sneak optimal for you to take pleasure in before the update goes real-time, courtesy of YouTube Galadon. Over the previous
    18 months approximately that I have actually been playing Clash of Clans I have actually seen lots of
    brand-new things added to the video game.

    Feel free to visit my webpage: jungekirche-dortmund.de

  40. Acknowledge the widespread cheating in Clash of
    Clans, and provide openness in your initiatives to repair the the trouble.
    Do not visit the main YouTube release video clip by the
    vendor. Search for independent videos that are made by customers.

    These all make for great activity on dark or wet days.

    Feel free to visit my blog post; http://www.sibmet.com

  41. While numerous games have a version for every system, there are still some games that are
    exclusive to a specific system. Are you a parent of kids
    which delight in playing video games? To get everybody happy,
    established a caution system that provides your child sufficient time to
    finish prior to someone else gets a turn.

    My blog; Alfonso

  42. These points will aid you to recognize what your youngsters
    are getting into at every degree. Computer game are expensive,
    so rather than purchase one that you are uncertain if you will like, rent them.
    Comfort is the trick. Absolutely nothing hinders a marathon gaming session much faster compared to a confined
    hand.

    Also visit my web site … http://www.maidireborsa.it

  43. When someone writes an paragraph he/she keeps the thought of a user in his/her brain that how a user can be aware of it.
    Therefore that’s why this post is great. Thanks!

  44. Thee summer months are often about flowing dresses and short shorts paired witfh
    open toe shoes, particularly sandals and flip flops,
    and whilst elegant, open toes can look great on the beach, they are
    not always the most practical type of shoes.
    In thhe business, females clothing timeless classic aare also often called “investment dressing,Half inch suggesting you need to pay the couple extra pounds for your very best. Which are involved in the manufacturing of womens clothing products. It could seem like men aren’t being attentive to what the ladies all around them are sporting, however the truth is that a majority of males have some extremely powerful views with regards to inc women’s clothing at macy’s clothing.
    ‘ Coats and jackets ‘ Denims and jeans ‘ Lounge
    wear ‘ Suits and blazers ‘ Sportswear ‘ Summer and winter dresses
    ‘ Party dresses ‘ Playsuits and jumpsuits ‘ Traditional dresses ‘ Costume dress.
    So just, click and pick some chic outfits from online stores
    aand look like a dazzling diva.

  45. Annoyingly, the web page said Marks & Spencer and
    More Th>n could not quote for your moggy. I thought your column would be
    described as a great place to have some basic information out there
    for the subject.

    “Curtis is a real sweet and loving dog, it absolutely was hard to view him struggle for that long,” said Valerie Mould, canine’s
    owner. ?We found out that she a slipped disk,
    and she or he went directly to surgery,? Mac – Leod said.

    Pet health care insurance has been available from the United States for.
    Technological advancements in veterinary medicine have resulted in vets are capable to provide more comprehensive treatments this
    also has caused bills to increase steadily.
    pet insurance Quebec “Curtis is a real sweet and loving dog, it absolutely was hard to view him struggle for that long,” said Valerie Mould, canine’s
    owner. ?We found out that she a slipped disk, and she or he went directly to surgery,? Mac – Leod said.
    Pet health care insurance has been available from the United States for.

    Technological advancements in veterinary medicine have resulted in vets are capable to provide
    more comprehensive treatments this also has caused bills
    to increase steadily.

  46. Sometimes they may include a whole new chapter
    or cut one or several chapters out, based on the changes in their field.
    If you are bored with the mainstream shopping of Corporate
    America, this is a perfect escape that promises
    a memorable shopping experience. Apart from that low shipping price also make shopping for books online an economical affair.

Leave a Reply

Your email address will not be published. Required fields are marked *