Joe Winchester’s JDJ article, Who Needs “Hardship Programming”?
Let’s take cars, for example – my attitude is that when they break I take them to the mechanic; what’s fun isn’t so much tinkering with the engine myself and gaining some kind of machismo pride in doing so, it’s the journeys I take in it and what I do when I arrive. Likewise with writing software – the purpose is to create a good user experience for someone else who wants to solve a particular problem in a more efficient way. I once had to explain to a customer why we were late shipping a particular software release and he replied that we were just polishing the inside of a tin can and he didn’t care. He was right – we were upgrading operating system releases and migrating to a new language version mid-release cycle. However, there was no business value to it and we’d just taken our eye off the target and onto our navels.
Is the problem with software and tooling one of a master craftsman with his favorite chisel and simply that people are reluctant to change something that makes them most productive, or is it just that people have a built-in desire to belong to a herd and gain social acceptance from their tribal peers from where they can collectively mock progress and other languages and technology changes as being for the folks on the other team? Is the super-league of programmers occupied by folks who take apart game boxes and have wireless networks in their kitchen, or is it by those who would rather play some fun games on the box it was designed for and then enjoy a nice meal in the kitchen afterward?