Too many reasons not to program, part 2
While I cannot think of anything I’d enjoy doing for 40 hours a week, programming is particularly taxing on the body, mind and spirit. We, human beings, were simply not designed for sitting down all day, moving nothing but our fingers and our poor eyes, reading text from a light source 1 meter distant.
The only thing that makes it bearable is that it’s highly stimulating for the mind, but that cannot be sustained all day/week. So after the high comes the low, like maniac depression. You spend the rest of the day trying to recover, to get some balance, but your mind is still thinking about that if statement, that null check, that unit test you forgot to write. You even dream about code.
And what you get in return? Money. Not even that much. You won’t get recognition unless you open-source. An architect can tell his friends and family “look at the house I designed” and get a reaction. Try showing your friends and family the code you wrote. Salesmen, lawyers, they network, build relationships. Once you finish a project there’s nothing stopping your boss/client from firing you, specially if you are good at your job and wrote code that’s easy to understand and maintain.
And if you are good at your job you probably spent a lot (too much) time perfecting your craft, becoming an expert, and even building your own tools. But try taking that to the next job. “We are not a .NET shop, we use Ruby”. “We are not a Ruby shop, we use Python”. “We are not a Python shop, we use Java”. SOAP, REST, XML, JSON, Markdown, object-oriented, functional, DDD, TDD, CQRS, MVC, MVVM, SQL, NoSQL. I find it hard calling programming a profession considering the level of fragmentation that exists in our industry.
“Actually, we only hire people without experience”. After all, it’s cheaper to train monkeys to configure generic software than to write it from scratch. Junior programmers can be paid less, exploited more, and replaced more easily.
Programming just might be the worst white-collar career.