Revisiting my opinion on free time coding
Back in 2013, I published a post about my job training, how I got there, and on how I see the world. Looking back at this now almost five years old text is weird, and a bit cringe-worthy. Most certainly, I do not recommend you do read everything, but maybe have a look at the paragraph about free time coding.
I was wrong, and in hindsight, writing and publishing that post was a bad and dangerous idea.
Back then, my world-view was skewed, and surely a lot different compared to what I think today. My old post was mainly driven by what I have learned in and around of my job training, and the company I worked at.
Now, a bit later, and what feels like several light-years further into my career, the flaws become obvious, and I should probably just have silently removed the post. Things are different these days. While not many people cared about my posts and my opinions back then, I realize that some people tend to quote me and my opinions as advice to other people1. So instead of deleting the old post and acting like it never happened, let me be clear:
No, you do not have to code in your free time to be a good software engineer.
Just like with any other career paths, you should be able to learn everything you need at your job. Do you expect an aircraft engineer to build airplanes at home and a doctor to perform surgeries on their friends and family? No.
Do you feel stuck at your current job? Do you want to learn something new and interesting that could benefit your work? Do you want to visit a conference to build relationships and learn about different perspectives? Please do not do that in your after-work hours.
Talk to your manager, someone from HR, or whoever is responsible for you in your company. Raise these ideas, and take your work time to improve your work skills. If they reject your ideas, and you do not understand the reasoning behind that decision, ask again. And ultimately, if you feel completely blocked, maybe your current environment is not right for you. Sometimes, you have to move on.
Obviously, this does not mean you absolutely should not code in your free time. If you have fun doing that, then do it! Want to look at a new library or a new language? Want do build and maintain an open source project because you have fun doing that? Cool, do it. But please do not let someone force you into activities you do not 100% enjoy. And if someone tells you that you are a “bad” engineer because you do not work in your free time, they are wrong, not you. :)
Thanks to my current team, and Mozilla in general, for being especially clear on how personal development and career advancement should look like, and thanks to the people who nudged me into reconsidering my opinion over the last few years.
That is all. Just had to get it off my chest.
Please do not do that. I am a truly horrible role model. ↩