The opinions stated here are my own, not those of my company.
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.
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).