This essay isn't quite Safe For Work (SFW) and might offend a few people, so be warned, but I found it somewhat humorous. It's a look at all the insanity and problems with programming and software in the world. It certainly makes me glad that those of us working on software don't actually build tangible objects like bridges.
However the piece did make me think a bit. Why do we have so many conflicts and strange practices in our software systems? Why haven't we decided upon more good security practices that we widely disseminate and use? Why doesn't much of our code follow established patterns, like those that we might use to build a bridge?
I think ultimately it's because of the ease with which we can "try" something out in code. Our industry allows us to easily build mock ups of ideas, which often get altered and enhanced as we test out ideas to the point where we don't have time to start over from the beginning in a new way. We continue to build and grow our systems like some sort of bizarre Winchester House, often afraid or uninterested in questioning the conglomeration of architectures that might be contained inside a single application. Even databases are not immune, containing multiple data models and substructures that may or may not mesh smoothly with each other, and often don't contain much DRI at at all. I also think it's the NIY syndrome that so many technologists have.
It seems as though the more we learn about computing, and more important and embedded software becomes in our world, the less we seek to constrain the innovation and impose any sort of engineering or strong discipline on our systems. It makes me think we'll never get to the highly integrated, and well running computer systems of the future.