Did you ever question your decision to become a software engineer? Have you ever wondered how on earth you could possibly think that fixing other people’s screw-ups for a living was worthwhile? Don’t you constantly remind yourself that spending one evening in the purgatories of hell would be much more pleasurable than that upcoming all-nighter you have to pull off because your team is behind schedule again? Or are you just that masochistic to do it voluntarily in your free time because that’s what nerds do? Actually, most of us probably do that. Coding sucks, but we’re loving it!

How do you both hate and love coding at the same time?

Actually, let me start with the reasons why it was so quiet here for the last couple of months. I didn’t write new blog articles on this site for quite some time because I was rather busy dealing with tasks that required my full attention, most of them were in fact related to coding. Honestly, these tasks were rather frustrating and noticeably time-consuming. Unfortunately, I couldn’t procrastinate any longer. “Commit early, commit often” did not apply here and it’s likely not going to get any better in the near future. Confused

This ongoing situation actually led me to writing this article. Granted, it’s a little different but I guess it still fits in since we probably can all relate to it. I’d like you guys to think about the questions raised in this article for a while…

…and please make sure to let me know your opinion in the comment section down below, I’m interested in how fellow coders feel about this!

Coding: An Awesome Pinnacle of Frustration

I’ve started coding when I was at the age of thirteen and I’ve since been hooked. I used to work on some small projects with a classmate, and even though I’m not particularly proud of having made my first programming experiences with (*coughs loudly*) Visual Basic 6, I still enjoy thinking back and remembering the good old times of exploration when I was so green that I didn’t yet understand the concept of variable declarations and actually used text boxes on hidden forms to store my numbers. Crazy

Anyway, my point is: I have been coding for over a decade and I still did not grow tired of it whatsoever. So why is that? Well, I think that programming has this amazing and possibly unique property of being describable by numerous adjectives at the same time, some of which have direct opposite meaning. Writing code is often extremely interesting and challenging, yet sometimes just annoying and plain boring. Even though it involves time-consuming yet incredibly creative thought processes, it remains to be a tremendously addicting and rewarding hobby that’s both fun and — of course — extremely frustrating.

That last word is exactly what boggles me the most. Why would anyone pursue a profession or a hobby which is *that* frustrating? Everyone knows how exhausting it is to chase a bug that just doesn’t want to reveal itself for hours or even days. If finally found, is the resulting feeling of relieve and accomplishment really worth the trouble? Apparently it is.

Who doesn’t have a folder stuffed with shattered dreams of applications that never really made it to daylight? Will we ever touch any of these ideas again or are they doomed to rot for eternity? What about boring tasks at work? Is it really fulfilling to customize crappy business software with even crappier languages? Does the paycheck make up for it? Probably.

What is it though that really keeps us continuing? Myself, I’ll probably never give up programming even though I receive my fair share of frustration every single day. So why is it still one of my most favorite activities?

I like to compare writing software to playing those good old classics on the NES. It provides exactly the right amount of frustration to make you want to continue and keep coding. It constantly feeds you with tiny little bits of goodies that give you a sense of making progress and achieving something. Overcoming obstacles and solving problems with pure logic is challenging and great fun (at least for some people, non-programmers usually don’t agree. Tongue).

On the other hand, sometimes the frustration can really get to you. Is that programming’s major downside or is it just another aspect that adds even more fun and challenge to the overall appeal in some weird pathetic way?

Reader’s Opinion

So, what’s your opinion on that topic? Is coding just your hobby or do you do it for a living? Do you program professionally only without any desire to continue after you called it a day at work? How much frustration do you experience? Is there a balance between advantages and disadvantages? Let me know! Smile

…indeed, coding sucks but we can’t live without it.

Related Articles

  • Monkey Coder

    I actually agree with the whole NES paragraph: there’s something addictive, something gratifying on “doing things the right way” and even dirty pleasure in refactoring your old bad code, even if it works, even if it leads to more bugs…

    Of course, all the headache, all the memory leaks and WTF moments are genuinely maddening. There’s also the “going through the motions” phase, which also sucks and is pretty boring, you know like “Been here, done that already”.

    More suckage… You may have the “I would really die before reading through all these docs” day. You may have to work with sub-par codebases or languages. You may have to crack your skull about the prospects of new language versions, libraries, product owner requirements… But well, it’s not all that bad.

    Actually, after long and exhausting hours of coding at work I usually pick up my keyboard to try and put something together. The discovery journey doesn’t seem to end, no matter how long have you been doing it or how bitter have you become about it. There’s something that pushes, like a puzzle to be solved. There’s a strange reward on creating complex or elegant “machines” that you can never fully share with anyone (unless they code too, that’s it).

    So well, yeah, it sucks, but it’s also nice, right?.

  • Alaska Web Hosting

    I believe that the reason programming can be both the best and worst thing ever at the same time is because programming is both a science and an art. There are the specs that everybody has to follow (the science part), but how you follow them is entirely up to you (the art part).

    Some could argue that it’s more of a science because of optimization and efficiency, but balancing that with readable and maintainable code is truly an art that some people are much more skilled in than others. Programming is the only thing in the world where passion meets science on such an extreme yet diverse level.

    • I like how you described it. After reading your last sentence I realized another thing: Programming is cheap. Everyone with access to a computer can get started. Other passions usually require materials that can be really expensive.

  • CodenameLambda

    I have started programming at the age of 8. I learned Python and I am stil loving it, it’s easy but powerful. Programming is my hobby and I am programming some homepages, a lot of money for 8h of work, and I don’t get to do frustrating things very often. (I am 16)

    • Jason Kerr

      well lah tee frickin dah! the overachiever, everything worked out in my life story. we never get tired of hearing that one!

  • Comit

    Learn Clojure life will suck less!

  • tajin19

    The coding itself doesn’t suck. It’s being micromanaged through scrum that sucks. Agile/Scrum started out as a way to help developers and is now being used by management as a tool of persecution.