I read an interesting post this evening by Michael DeHaan, titled The Archaeology of Software. In it, he makes the case that there is a great deal of value in endeavoring to understand why things exist as they do in, specifically, the field of software development. He says (I’m paraphrasing) that’s way more productive than dismissing something out of hand as being subpar, dumb, brain dead, or whatever – and a learning opportunity is missed. He makes a lot of insightful points, and I highly recommend you spend a few minutes reading it.
I know he was making a larger point about how some people behave towards others’ solutions and ways we might strive to rise above pettiness and vitriol to be more constructive, but he touches on so many facets of engineering. What struck me as I read his post was how much engineering wisdom there was implicit in his words. I don’t know Michael, and can’t say how deliberate his wording was, but he at least casually touched on the essence of engineering a lot in the post. He spent a great deal of time enumerating a long list of heuristics he has developed over time (see my last post). These heuristics are very obviously hard earned from experience, and are all very consistent with the essence of engineering.