Another article on how programming sucks
Recently, yet another article on why programming sucks appeared on the Internet (https://medium.com/@luisobo/why-does-programming-suck-6b253ebfc607#.3yuwk9m69). I haven’t read it. May be there’s a hidden message buried somewhere in it. I refuse to read it.
There’s lots of them*. There’s also a million conferences almost entirely dedicated to sharing in-jokes and rolling eyes about programming related things that “suck”. It seems like a lot of programmers find a lot of things about their job kind of suck.
I would like to suggest here that programming doesn’t suck. It’s hard. It’s especially hard if you don’t have the right attitude. The same way PE sucks. Or long-distance running, or anything else that requires concentration and skill. Playing the piano sucks for most people, and that’s why they don’t become professional pianist. Most people try to play guitar at some point in their life, but very few of them proceed to make it their job. Some people play football on the weekend, but if you make them go through a professional’s day training, they will probably conclude that’s a pretty sucky way to spend your day, let alone every day, throughout your teenage years, not knowing if you’ll make it or end up playing in division six. Programming doesn’t suck. It’s difficult and takes hours of practice. Focused, self-aware practice. Much like playing music or painting. And enough vision to know what problem are better solved without programming. And enough people skills to have some empathy for your users. And enough business skills to understand that your client or employers interests have to take priority to your own compulsions and obsessions, or you’ll be out of a job.
There’s a major difference between sports, music, performing arts on one side, and programming on the other side. With art, if you think it sucks, you won’t practice, you won’t be very good at it, and nobody will pay you for it. You’ll quickly find that although you might still pick up the guitar once a month and noodle around a bit, this is probably not going to be your main line of business. With the small exception of some pre-fabricated boy-bands, you won’t get paid for shit art.
Now, there are actual capable programmers out there who build real things of beauty and immense utility. But the programming that is known as Enterprise Software Development, doesn’t work like art. You join a team with a bunch of other drones, you go through the motions, do the rituals, mumble something about ticket numbers in your daily stand up, and spend the days writing some code that may or may not work, but you’ll never know cause the only time it’s been run is in unit tests. You hear about the team’s successes and the amazing architecture and infrastructure that is being built somewhere else, while they hear about the amazing software you’re building, and the mega-complex problems you’re solving, but there’s nobody around who can actually take any responsibility for actually building and running something and giving it to the users. Projects after projects fail, people complain about other people, other people complain about other people, something is mentioned about best practices and technical debt and everyone moves on to their next project. If art was like that, art galleries would be filled with stickmen drawn on printer paper and stuck on the wall with blue tack.
So, to all those people who keep moaning about how programming sucks, I would like to suggest this — look around at other areas of your life. Do they also suck? Is there something that you find doesn’t suck? Something you enjoy doing? Perhaps you should try doing that for a living.
* Err, let me google those for you…