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...
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.
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.
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!
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.
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.