Coding as a hobby? For me, non-work coding is a regimen, like going to the gym

Einstein FTW

The opinions stated here are my own, not those of my company.

This post is also available on my website (link to post). Read it there or here; up to you!

Who is this post for?

You should read this post if you are trying to get better at coding. If you have questions or stories to share, please comment!

tl;dr

Don’t feel pressured to treat coding as a hobby if you don’t actually find it fun and relaxing. If your goal is to get better at coding, just treat non-work coding as a regimen, like going to the gym.

Coding as a hobby

Stack Overflow runs a developer survey every year. In the results for the 2019 survey, a whopping 80% of respondents said they code as a hobby!

Of course, don’t misinterpret this statistically. This survey is voluntary, so it suffers from selection bias, which means that the 80% only applies to the survey respondents; it doesn’t apply to all developers.

Is coding my hobby?

Not really. Let me explain.

My hobbies are things I do to relax, learn outside of work, have fun with my family, etc. Riding bicycles, re-learning to play guitar (after many years of inactivity), playing Lego with the kids, etc.

I don’t find coding outside of work relaxing during the work week because I spend all day at work either coding or dealing with code (filing bugs, discussing fixes, etc). By the end of the day, I really don’t want to see any more code.

Furthermore, the weekend is generally family time. By the end of the night, once the kids are asleep, I’m pretty tired. I want to veg out, not code.

Do you want to become a better coder?

I do, for a few reasons.

First, even though I don’t code as a hobby myself, I do consider it a core mental activity, like reading, writing, doing math, etc. It should be a standard part of the K-12 curriculum. Even if you don’t like coding, software is eating the world. Since coding is a core mental activity, getting better at it is innately rewarding.

Second, I feel a lot of professional pressure in my career as a software developer to keep getting better. For example, to get a job at a better company, to get a better job in your current company, to cultivate a specialization, to get promoted to a lead or manager role, etc. For these reasons alone I take coding as a non-work regimen fairly seriously.

Does the code you write at work make you a better coder?

This is not a trick question. If you feel like the code you write at work is consistently making you a better coder, day after day, year after year, that’s great. I am curious how common that is.

In my experience, the code I write at work only occasionally makes me a better coder overall. This has been true over my whole 16+ year career. Once in a while, I get a nice tricky problem, delve into a language feature I haven’t used before, or start something from scratch, and I learn something new. It’s great when it happens!

The rest of time, I am writing code that is similar to the code I’ve written before. I can still learn things here, such as getting faster, writing code that is easier to read and understand, etc. But in my experience, I have learned the most by tackling problems that are unfamiliar, hard, and without obvious solutions. My day-to-day work has never satisfied that for long stretches of time, which is why I have adopted a coding regimen outside of work.

What is my coding regimen?

My coding regimen is super simple. I try to code outside of work for at least 1 hour a week. That’s it. Regimens don’t have to be obsessive or overbearing.

Of course, when I have applied for new jobs in the past, I have adopted a much more intense period of study and practice. But my day-to-day regimen is meant for slow, steady progress.

Conclusion

That’s it! If you love coding as a hobby, good for you. If you don’t, but still want to get better, consider adopting a coding regimen outside of work.

This is Version 1.2 of this post. You can see other versions (older, and possibly newer) at my GitHub repo (link to post).

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.