DEV Community

Cover image for I've parked my side projects - hobbies to enable my career growth
Tai Kedzierski
Tai Kedzierski

Posted on

I've parked my side projects - hobbies to enable my career growth

(Image (C) Tai Kedzierski)

There was a time when I would get back from my day job and head straight for my home computer to work on other projects - Lua for Minetest, Python for various tools, bash for other tools, investigating various extra automation tools I found on blogs and pocasts, personal server maintenance...

Looking back over the last year however, I realise that I have worked on pretty much none of my personal projects in many, many months...

I still have a notes folder full of side-projects I started but have not progressed:

  • A deduplication script that can do folder merges, or skip based on contents
  • An attempt at a card game a la Magic: The Gathering or Hearthstone
  • A Markdown-based, HTTP-PUT-enabled blog solution
  • A weather forecast notification service
  • Rewrites of my old tools from bash to Python
  • A simple multi-server artifacting solution
  • individual tasks I have set and are yet to be completed ...

And I do feel like I've been rather remiss at tending to them and feel bad about it, but I have come to realise why I had so many side projects: I was trying to get my career going somewhere, and I'm closer now than ever before.

A couple years ago, I found myself astounded at some of the developers who would wrap up their work for the day at 5pm and go home to.... do non-tech stuff. I thought, "they're not really comitted," or "it's just a job for them." All the while, I was running my side projects, Minetest game servers, maintaining scripts for my various other servers, going to tech meetups, running a Linux User Group, eyeing up the next conference... lots of stuff to do in the tech world, and when you love it, that's everything, right? Some people have hobbies like knitting, hiking, etc - but no! Not me! I live and breathe code! Any less is a lack of comittment!

But I've found this past couple of years that I've been happier with the job I'm now in to provide the senses of accomplishment and of growth that I need, both from the projects and from the people around me; that I can take pleasure from hobbies and activities that are non-tech related. Walking (like all of us recently, *sob sob*, but also, during periods when it was allowed, driving out to remote places), paracord crafting, sewing, bouldering... all of these have been much more important to me and my mental health, and more enjoyable than being stuck at the keyboard for 14 hours in a day...

Why so many??

I came to wondering, "why did I even have so many side projects?" My conclusion is that, whilst I was working in the areas and industry that I wanted to be in, my prior work or setup at work was not anywhere near what I had been wanting to do up until recently.

Side projects were my training arena. Through working on Minetest mods and hosting a server, I gained an immense amount of knowledge on using git, using Pull Requests both in submitting and managing them; refining my knowledge in bash scripting; hardening my skills in Python programming, clean coding; ensuring uptime on servers and services; organising and coordinating meetups; training for RHCSA... the list goes on, but ultimately, I am able to do the jobs I do today on the back of those side projects.

I was growing my career through work done outside of my job.

None of the work I had previously done professionally had any scope to truly develop the new skills I learned on the side that led me to a job role that I wanted, none of the jobs either encouraged or had time for personal development.

Hobbies and Work

I started out in tech in highschool building my own website, writing JavaScript and HTML from scratch and, after my years at uni, had the idea that I wanted to become a developer. Instead, I ended up working for Adobe Systems in their Enterprise Technical Support division which was a great and challenging role which taught me much about customers, managing expectations, troubleshooting, and the likes - but I rarely got any chance to exercise any coding skills there. Once I left I found myself adrift. I naively thought I could get a job anywhere on the back of Adobe's name and my multi-cultural background, and hooo was I in for a wake-up smack.

A failed interview where I was shown to know a sum total of zero-point-one about Linux spurred me on to investigating the OS personally.

I turned to Open Source and its ecosystem full of real-world, production-ready projects.

As I went down that path, I began picking up on so many other things I felt I needed to explore, that my days ended up filled with tech-this and tech-that, Jupiter Broadcasting podcasts night and day, TuxMachines headline trawling, server setups, blogging, and oh so many sources of information...

But as I changed roles over the years (including a brief stint as a contractor -- turns out I am passionate about technology, and hate paperwork with a passion to match!), I came to realise there was one thing missing - proper teamwork. Many of the roles I landed had me working alone, in isolation. Either I had tasks foisted on me as part of the member of an operation (whose individuals rarely needed to interact), or I was just That One Guy who had to know everything beacuse nobody else knew (that's why I was hired, right?). And every step of the way, I knew I wanted to be elsewhere.

Teamwork and Validation

When I did something, it was either a given (done what I should have done) or too novel to be reviewed (no feedback - just awe). The latter was weirdly the least satisfying - I implemented things I could feel were sub-par, but in looking for critique I was only met with approval.

You don't want to be congratulated for something you feel is rubbish.

So I continued to work on my side-projects, because I was getting neither the validation I wanted, nor the feedback needed to improve. I would revisit my old work and critique it myself. Knowing I could identify my old shortcomings was great - because it was a clear indication that I had grown since!

Destination Reached

There are people now in my team who I am now able to speak to as peers - I can learn from their work, and suggest improvements; just as they can learn from my work, but also show me where I've fallen short. I can switch between technical work and get stuck in to code, as well as use soft skills to mediate meetings, direct small parts of strategy. For every time I am lauded where I'm right, I have also been rightly shown where I am still needing work. There's balance, and there's growth.

There's validation where it is earned, and pushback where it is needed.

Side projects to one side

So what of my side-projects? Well they're still important to me. I loathe that they languish, because I started them from a practical standpoint. That deduplicator especially, and the weather searcher, are projects I would really like to see completed.

The day job actually is rewarding though, and I do not feel the need to obsessively supplement my tech aspirations with self-sustained growth anymore. I did burn out at one point, trying to burn a candle at two ends and its middle, and relationships did suffer -- no mistake, I was more career-focused than personal-life-focused, and that had its consequences.

Now that I am where I am... I hope I can at last achieve the work-life balance so oft touted, without feeling like I'll be sacrificing either anymore. For once, I feel like I can focus on myself, instead of my career - and that distinction is something I learnt only recently, once I had time to focus on Me.

So, thank you Side Projects, and it's time to rest for a spell.

Top comments (1)

gbritoda profile image
Gabriel Uri

That is a fantastic read.

It's interesting indeed how actually having peers criticizing your work is much more satisfying than being the in-house expert that will create things and no one will question its quality.

Thank you for taking the time in writing this one