Be very worried. Software is eating the world, and it sucks.
This is a quote from a great article called Why the Great Glitch of July 8th Should Scare You by Zeynep Tufekci. You should go and read it (but finish this one first).
It's one of several articles that I've noticed recently explaining the sorry state of software quality. It's nice finally to see some prominent articles emerging which put the record straight. I'm glad a few people are doing their best to reveal the dirty secret of programming: software mostly sucks. It's full of bugs and it's insecure.
This article (and others besides) go into great detail. If you want the quick and easy read, here's my attempt:
Speaking as a software engineer, the problem is:
- We write huge amounts of software and software is extraordinarily complex by nature.
- At the same time, our software has to integrate with an even greater mass of existing software, which is made up of programs layered on top of one another most of which also barely work.
- And all the time we are pressured into doing this as quickly as we possibly can.
It is possible to do software well and write programs that are stable and secure. For example, read how NASA do it. They work with extreme care at a relatively glacial pace; single changes to the code result in committee meetings and can throw up specifications running to hundreds of pages. But it's the kind of working atmosphere most programmers and start-ups would baulk at. (From the article: "The culture is intolerant of creativity, the individual coding flourishes and styles that are the signature of the all-night software world.") That kind of quality requires spending a lot of money. Of course, NASA, with their huge government budget, can do that. The rest of the world has to turn a profit.
So software sucks - and it'll probably stay that way for a good long while, not because of any technical problem, but more a cultural one. Fast, cheap or high-quality? You can pick only two out of those three. Guess which two our culture ends up choosing time and again...