Software development is hard…

Software development is hard, well that’s not really true. The act of programming is actually pretty easy, but knowing what to write, where, how, etc, etc is pretty exhausting. On top of that, if you rely tomorrow on what you knew yesterday everyone you know will pass you and leave you in a cloud of virtual dust, so you spend everyday keeping your skills up to date.

If you program in multiple languages and environments, as I do, this means each language and environment needs to be continually refreshed in your head, just thinking about it is exhausting. I only keep about 10 languages and about 5 environments current – There simply aren’t enough hours in the day!

I know this won’t mean much to many people, to whom the mysteries of programming seem as alien as the surface of Mars. But think about it this way for a moment:

Imagine you are a car mechanic. Now imagine that every car on the planet has a different set of tools needed for it, some have nuts with 4 flats, some with 6 (like normal), some with 7, perhaps there’s a few where the nuts are perfectly round and you have to tighten them with magnets. Now imagine that every 18 months everything you knew about the cars you work on becomes obsolete, along your entire set of sockets, screwdrivers, etc, and you need to buy new. On top of that, some cars are released without any tools that fit them, and you are expected to fashion your own tools while the car is in your workshop.

Getting the idea yet?

Now, of course, these cars don’t run on normal petrol, oh no, that would be too easy, they run on a very precise blend of petrol, diesel, moonshine and rabbit dung, each car to a different recipe, which you are expected to make for your customers, again without proper equipment – You just make your own, while your customers stand around saying they hate cars, that they don’t understand what was so wrong with dog sleds, and implying that you are part of the PROBLEM while trying to help them out.

Am I done yet?

Well, no, not quite. While bankers tend to leave the money in the bank, cooks tend not to take their cooking home, teachers seldom invite their classes to their homes, counsellors, pharmacists, doctors (you get the idea), if you work in IT, you tend to be everyone’s best friend…

I’m not complaining, you understand, I love my job, and more than that I love helping people, but seriously, it’s not just sitting in front of a screen while the computer does all the work…