The very first line of code that I ever wrote was back in 2003 sitting at home while still in High School on a PC that had less storage than my smartwatch does today. But it was a great machine for the time. Sadly, that brand is no longer around anymore but the memories still remain. Operating systems were less resource intensive back then, so those machines ran like a champ and it seemingly kept going forever with easily replaceable parts.
And I still remember the code that I wrote back then. It was in Python and it pretty much just echo'd out every function available at the time and some random values. But it taught me about variables, functions, compilers and all the other words I would soon be learning in life.
print(1 + 3)
Soon after playing around with Python I downloaded and installed a C++ compiler on my machine and pretty much did the same thing. And while YouTube wasn't around back in the early 2000's, you could still find plenty of video tutorials related to coding on various online forums and platforms.
And that was fun. Alot of fun. It was new and novel and nobody around me really knew what it was, which added to the enjoyment.
And that was 20 years ago as of me writing this article. Alot's changed since that time of course. I got a degree in Computer Science, I spent over 15 years working as a software engineer for companies of all sizes sitting in many different cubicles, built dozens of websites and I'm currently working on my 2nd startup.
And to this day, still the most popular question that I get asked is "Is programming still fun?". And my answer hasn't really changed too much in the past 2 decades. And it isn't a concrete yes and it isn't quite a no. Because it isn't really a yes or no question.
Truthfully, most of the time, it isn't what I would call 'fun'.
My first actual coding in life, not at home, didn't happen in a cool loft working on a startup late into the night with programmers and hackers around me drinking caffeinated drinks. Not at all. It happened much like it does with most CS students in a university setting.
In a computer lab trying to get my homework done for my next class. And I wasn't building cool stock trading bots or A.I. image generators. I was probably coding out some kind of basic class structure with multiple inheritance that outputted 'true' several times based on different parameters.
And that was the first 4-5 years of my coding life, so I don't know if fun is the word that I would use to describe that process. Getting my homework done was fun, and passing my midterms was fun, when it happened. But the long hours of reading and trial error were more on the stressful side than the fun side.
Fast forward to my first actual coding job where I would end up using only 10% of whatever I learned in college, and fun once again takes on another meaning. That job in particular was the most stressful job that I've ever had. And if you'd like to read more about why and how it was stressful, you can read that article here. But essentially, the deadlines were short and the tasks were insanely complicated for a junior programmer. Writing complex queries for a multi-million dollar warehouse automation application wasn't something that I learned in any class. But it's also where I learned most of what I know today to be fair to the job.
Again, the fun part here is having the queries work and being able to go home on time. Which happened every so often. The 1 hour drive home in traffic, was not so fun.
The better I got at programming throughout the years though, the funner it did become. Alot of fun to be honest. Tasks were just easier, I had alot more say into what projects I'd personally be taking on and I worked with fantastic developers for many years. And most importantly, my salary started to go up and to match the number of hours that I was putting in. And that was fun.
On top of that, I was able to find time in the day (each day) to begin working on personal projects, such as this blog, music fan sites and consulting on the side.
Besides the music fan sites I still do much of the rest. But that's true with any skill that you acquire, it doesn't have to be tied to programming. The more expertise you build in any area, the less work you have to do overall in order to get the job done.
But, even with that benefit, there are still many parts of programming professionally that take the opposite direction.
Coding often times involves repetitive tasks, or building out features that never get to go live to production, or spending hours at a time looking through cryptic error logs trying to find a single line of code that may be wrong.
Fast forward to today where I'm CTO of a tech startup that's been running strong for almost 2 years now and that I helped to build from the ground up and I can honestly say that programming is still incredibly fun and that I wish I had more time in the day to actually do it.
But even after 20 years, the fun parts are still mainly sporadic and short-lived. Because building a new potentially game-changing feature for a new company is pretty fun. But having to deal with a potentially broken payment system with cryptic catch errors or bot issues that slow the database down is not fun. Not one bit. Especially not on a live website with real users who are impacted by those things.
Solutions need to be found quickly and documented accordingly. Data needs to be transformed often times when error's do occur and most of these things have very short deadlines. Regardless of how many years you've put into something, you don't really control the outside factors. And sometimes, things just break and they need to be fixed.
I don't think 'fun' is meant to be long term though. Otherwise it would just be called 'normal'. Fun is suppose to come and go like waves. But if you're doing everything right, then potentially the waves can be shortened a bit and you can spend a few extra hours enjoying your craft/work.
So have fun while you can, but always prepare for that next support ticket that's bound to hit your inbox or that error message in your logs. But feel good knowing that once that ticket is closed, the fun will usually come back around again even if just for a little while.
Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.
Stay up to date. Get informed of the latest happenings in the development world.
Another solid bundle for developers!
Start at $1. Pay what you want and get up to 18 Ruby books for your collection.
If you buy something through a link, we may earn a commission