This is a story about having to go back to work...
In my desperation to physically express my anguish, I smeared my own blood all over a canvas, from a deep gash in my wrist. The critics were not impressed.
Now I don't do much of anything. I'm just kind of hoping the world will go away. It'd be nice if some sort of Y2K virus wiped out all the computer systems, and everybody was unchained from their keyboards, wandered outside into the daylight, rubbing their strained eyes and blinking at the brightness of the sky, and started to talk to each other about more than office chit-chat.
I remember on 9/11 we all kinda remembered that it's OK to talk to strangers. That when shit is going down, you'd better make the best job you can of things with those around you. I remember that the most emotionally affected people were those who were furthest away from their kids. Why do we have to commute miles away from our kids, and be 'busy' for 40+ hours a week?
'Busy' eh? Well, if you can directly point at the impact you have on somebody's life, maybe you are busy. When I was an electrician, I could flick a switch at the end of a job, and they would have lights, electric showers, ovens, hobs, extractor fans, under-floor heating, sockets that they could plug electrical appliances into, storage heaters, immersion heaters, electric towel rails, dishwashers, somewhere to plug the washing machine and the fridge into, power to the garage, power to the shed, power to the hot tub, power to the swimming pool, lights in the garden, lights to illuminate the driveway. Yeah, I was busy.
Probably about the 'busiest' I've ever felt as a programmer was when 500,000 people downloaded one of my games. It only took me a day to develop though, and it didn't really do much, so I don't feel very proud. I wrote some utility to help field engineers set up the software on a load of busses. That was a bit better, and every time I see that model of bus ticket machine, I know that my software probably configured it... but it still feels a long way from 'useful'.
There's a real disjoint between programmers and users, especially as we're now trying to build companies with millions, if not billions of users (Facebook has 1.16bn monthly users). Personally, I was happier when I was teaching pensioners how to use Microsoft Word, back when I was a teenager.
It's my own fault to some extent. I draw out the workflow of a company, and wherever I see a stick man (a person) I devise some way to get rid of them, to automate their job. Human workflow computer systems are a pain in the arse. You need pretty user interfaces, and you have to train people how to use the systems. As a software engineer, you want data in, data out.
I've even taken to modelling customers in the most brutal state-transition diagram imaginable.
What that diagram basically says is "keep marketing our products to a person until they're dead".
Most software engineers don't build in the 'dead' end-state of their customer, and their software handles dead customers very inelegantly. My designs have baked death in from the very first whiteboard sketches.
I went to work for a company that was almost entirely run by stick men. They were very busy.
I wasn't too enamoured with the task of wrestling control away from the busy people who were, to all intents and purposes, making a reasonable job of running a UK company with stores in every major town. The problem was that they wanted to expand into Europe. The stick man system didn't scale.
So, I'm confused. I like directly helping people with their software woes. I even like building large complicated high volume data processing systems. I just don't like making software so the stick men can keep 'busy' doing their stick man tasks. Building a user interface so that a human can mis-type a figure, or press a button in error... that's like hell to me.
I used to draw Heath Robinson type contraptions as a kid. I might do one today or tomorrow. It's got to be a damn sight better use of brain power than the garbage-in-garbage-out systems that companies like paying me to design and build.