Never Trust the Software Guys: Why are software engineers always complaining that other people’s software suck?

I will start by saying, I have been known to say a few unkind words about some of the code bases that I have inherited to work on. Heck, I have written books on how to build better software – with the implication that there is ‘bad’ software out there.

After ponding the question, here is my list of possible answers:

  1. Most software does suck.
  2. Engineers will be engineers; in that we always point out the flaws first and downplay that the software works well enough to pay the bills.
  3. There is no science in computer science – there are just practitioners1.
  4. Not invented here syndrome.
  5. Spending too much time in the blog-a-sphere, LinkedIn, Reddit, etc.
  6. It’s a Monday…

My vote is for #3, There is no science in computer science – there are just practitioners. If there was ‘hard science’ behind building software, then the commentary that follows a statement of “… that code sucks” would be a formal proof of why it is flawed vs. opinion or statements about best practices.

What are your thoughts?


  1. My dumb downed version of the following quote:

    Software engineering should be known as “The Doomed Discipline,” doomed because it cannot even approach its goal since its goal is self-contradictory. Software engineering, of course, presents itself as another worthy cause, but that is eyewash: if you carefully read its literature and analyse what its devotees actually do, you will discover that software engineering has accepted as its charter “How to program if you cannot.”

    —Edsger W. Dijkstra.

    www.cs.utexas.edu/~EWD/transcriptions/EWD10xx/EWD1036.html ↩︎