Today I've received a very interesting question from a reader. Why does programming suck? While it may seem a little bit controversial, having a programmer talking about why programming sucks, may seem kind of odd but, well… It does suck sometimes.
One of the reasons why programming sucks is the technology. Technology changes at a rapid pace and it is very difficult to keep up with those changes. Another reason why programming sucks is that it can be difficult and well… The building process is also “shitty”.
Do you agree with the reasons why programming suck? Do you think programming sucks at first place? Leave a comment below!
John:
Hey, what’s up, John Sonmez from simpleprogrammer.com. I got this question from Dennis. I’m actually not going to read the question or the whole question because I just like the—or the whole email. I just like the question that he asked. I’m just going to answer that. He said, “Why does programming suck?” He went on to talk a little bit more about an article and stuff, but I thought that’s just a good in itself, right? Why does programming suck? Because it does suck! I mean it’s great but it also sucks. Why does it suck? Why is it so hard? Why do you bang your head against the wall?
Well, there’s a lot of reasons why. One of them is because the technology is always freakin’ changing, so you’ve got a lot to keep up. That sucks! It’s hard! You’re never going to just master this thing, right? I mean there’s a lot of things in life that you can master, right? You could like—soccer doesn’t change, right? There’s a lot of things that don’t change. I think for the most part like basic electrical engineering doesn’t change. A circuit is a circuit. A resistor is a resistor. Why does programming suck?
Well, it changes. It’s hard. You’ve got to keep up with it. You’re never going to master it, you never can. The other aspect of it is it’s very ethereal. You can’t ever have the perfect solution for it. It’s not like building a bridge. You can build a bridge. You can say, “Look, that is a solid bridge, a Mack Truck can drive over that thing and that thing does not collapse” whereas software you’re like, “Well, it looks nice. The code looks nice.” But you don’t know. You don’t know if it’s perfect. You don’t know if it’s great. You never get that level of satisfaction. There’s always an art component to it.
The other thing is that when software starts out it’s all new and it’s shiny and you start on the screen field project and you think, “Oh, I’m going to build this beautiful great thing” and you start coding it. As soon as you touch the keyboard you start turning to shit. You make it bad. I’m sorry, but you do. Then you try and fix it and you make it worse then some stupid tester finds a bug in your software and then your whole life, the whole rest of the life of that software is no longer building this nice clean project, it’s fixing bugs. Now 90% of your time is fixing bugs.
I don’t mean to paint a bleak picture but that’s the things that suck about it and those things are not going to go away. Those things are always going to suck about it. You’ve just got to realize this that—I thought it was just interesting to answer that question of why does it suck. I mean there’s a lot of things, I think, in the software development world. It’s always going to be hard.
Part of the reason why I love it so much is because it is so hard. It is difficult. This is the problems you have to deal with and a lot of people aren’t willing to deal with those problems. It takes a certain—to me it’s one of the most challenging things that you could do. It’s one of the most exciting things because it is so hard, because it is always changing because there are always these challenges because you can never know if you did it perfect or right and you can always improve upon it. There’s an unlimited level of growth to it whereas you’re never going to master it. That’s a good thing.
Anyway, yeah, it does suck. For those of you newbies out there that think that it’s all wonderful, it’s going to suck. Everything eventually sucks at some point. You’re not going to—whatever you think that you love you’ll eventually hate. That’s how you know that you love something. You have to be able to hate it as well. The opposite of love is not hate. The opposite of love is indifference. That’s how you know it.
Anyway, good question, Dennis. I know I didn’t really answer your full question but you had such a good—or your full email, but you had such a good question there that I couldn’t resist biting on the topic of why does programming suck. That’s why it sucks. If you’ve got a reason why programming sucks—let’s sound off. Give me all your reasons why programming sucks, all the sucky things that happen in your code, in writing code. Leave a comment below and if you like this video, subscribe. Take care.