Balancing professional growth and personal time is a constant challenge in our industry. Inspired by the question in episode 210 of the soft skills engineering podcast,I am reflecting on my own approach to hiring and interviewing for jobs and how we should think about side projects and the github profile.
Before I got my job as a web developer, I was studying 2 hours per night. Now that I've started working (been here for two years) I want to come home and relax! How much time do you spend reading about new technology, or working on side projects? I plan on getting a new job in the future, and I feel like I need to start studying again. My github is empty since I started this job, should I be worried about that?
When you first start in the industry, you will be going from this time where you probably spent every waking hour looking to make yourself ready for work by doing every leetcode/sideproject that will make you look like a good candidate. This changes almost immediately as you sink in to a 40 hour week of actually doing the work. It's completely natural to not want to code at home. This is healthy and good. Some of the best engineers I have worked with haven't written a single line of code at home. You learn on the job, and you get to grow with every new problem you solve.
An empty Github Profile might feel confronting when it comes to moving from work mode to searching mode, but reality is, it doesn't matter! A delicious github graph filled with green squares might be a great dopamine hit for you, but it's not going to be the deciding factor for hiring someone who already has industry experience.
Now, for those of you who know me, you know I'm a huge fan of side projects. That is like 50% of the purpose of this blog is to share from my own experiences from coding for fun. But even I haven't always felt the need to hardcore code all day and all night. When I've had really engaging or demanding professional work, I'm more likely to go outside and touch grass, or spend time with my family. I think that is a healthy balance. There are times when it's the opposite though, if my day job isn't involving much code, and more in the analysis space I will find time to pique curiosity with side-code.
So on to the next part; you're looking for that second job? Well, the github profile isn't going to be a factor (sorry). A full profile may be pivotal in your first role, but in my experience it plays a much smaller part in each subsequent role. What's more important is that you can talk about the work you have done professionally. Be very precise in telling the story of your work; Describe the problem, explain the context and then dive in to how you use your tools to solve it. This is the kind of thing that will get you hired.
When does it make sense to pick up side projects ahead of a job search?
This might make sense if you are looking at picking up a new technology. If you can find a way to branch out within your current role, do it. Experience with real world projects is 1000x more valuable for lateral shifts. Finally, if you can't shift your current role to the new stack/skill, then totally put your time into a nice real world project simulation.
Focus on distilling a project to just the parts you might need in interviewing in the new role, and aggressively cut scope on anything you already have experience in within your current role. This is the kind of thing that will optimize your time, and get the most pay-off for shifting to a new skillset.
In my own experience, side projects have infrequently come up as a topic of discussion. What does come up more frequently is the knowledge gained from working on the project. Being able to compare my experience on a project to the role I'm interviewing for has been helpful in giving context about who I am as a technical contributor, and how I might approach the trade-offs from technology decisions.
Navigating this balance between professional growth and personal growth is something that will always be a tension. There is no obvious one-size-fits-all approach. Whether you hack on the weekends or not, prioritize a balanced approach. Try not to get caught up on expectations for your side projects to mean anything in the interview. Be real with yourself about what you are working on achieving here. Don't Fixate on the Github contributions graph. Finding a healthy work-life balance is the most important thing of all, and the best way to do that is to listen to your gut, and don't take things too seriously.
Thanks for reading! I'm eager to hear your own experience with side projects and job seeking :)