The Angst of Side Projects

The challenges of learning and developing in your free time


So much of what drives me as an individual is this weird desire to build something or to be able to show something at the end of the day. It’s been a constant in my life, from building car models as a kid, to recording music and woodworking as teenager, web design and writing as a college student, car audio or building Hadoop clusters for myself, building forts for my two year old or a technology infrastructure for my wife. The thing that makes me want to “do” is the vision of some future product (which will inevitably not live up to my expectations and send me further down the rabbit hole). I want to be able to say, “see that, I made that” even if I will ultimately tear it down as soon as I show it off, realizing I could build it better next time. It’s not what I build: it’s the process of building that I enjoy. I think that’s what makes me who I am as individual and a developer.

That’s been a challenge for me working in a corporate IT setting, which has probably been the source of my personal frustration as well as the reason for so many of my side projects. The things I build are seen by only a few people — and sometimes, if they are built correctly, they are never actually seen or noticed. A lot of things I build are “secret” or at least proprietary, and therefore aren’t shareable. A lot of the things I build aren’t really great by my standards either. A lot of things I’m involved with get built and then forgotten and are never able to realize their true potential. That’s frustrating to someone always trying to make something great no matter what it is.

Over the years I’ve built some things that I’m super proud of no doubt, including a bunch of new technology POCs (some of which were adopted), some really badass interactive executive dashboards with what-if capabilities, and some really interesting code and solutions that solve some odd problems. But at the same time, I’ve built a lot of things that I haven’t agreed with from either a code/design/architecture perspective all the way down to my very own code that just needed to work on a given deadline and was “good enough” to go to production. I’ve also been part of the analysis team that helped people make pretty major outsourcing decisions and resulted in a number of my friends losing their jobs.

First off, it’s a bummer to have a set of skills and not be always permitted to use them to their fullest or to try to push outside of those skills on a regular basis. I’m sure that this is a pretty general sentiment amongst the IT developers of the world holding down the 9-5 and getting shit done.

But at the end of the day, these things that I did and do, that I can’t show the world, that aren’t mine, and possibly suck, are the things that keep me going on my own personal time. I want to build cool things, learn what’s new and keep pushing forward. If the corporate environment can’t allow me that kind of space I’ll do it in my free time.

Free time: it’s what I value so much these days. Before I had a job that consumed my every waking thoughts, before I had a daughter that required near constant attention and planning, I used to spend hour upon hour hacking on computers and technology or other hobbies with no deadlines other than and end goal of producing something, eventually.

But now the deadline feels real, and this is probably very much what a mid-life crisis is all about. Between getting ready for work, commuting, working, evening family time and the regular chores, I’m lucky to have an hour a day to work on what I want. At that point the choices become tough — do I play guitar for an hour and maybe work on that song that’s been running through my head, do I watch some TV and take a break, or do I try and cram as much learning as I can into my head so that I can eventually use it to do awesome things.

Right now I’ve opted for the latter, leaving my musical hobbies (bagpipes, harp, guitar, whatever else is lying around) behind in favor of learning Hadoop, Python, foundational OOP, Linux, networking, etc, etc. It’s these technologies I’m not working in every day that I’m working on every night. I’m trying to get some basic skill sets I’ve never had to use up to snuff and at the same time learn these new bleeding edge technologies that will shape the future. But I only have an hour a day at most, and the weight of that kind of commitment is heavy. What am I going to be able to accomplish in the next year? Maybe have a rudimentary understanding of a bunch of things, or a partially deep understanding in one thing? I’m not entirely sure.

It’s tough when you realize that the filters with which you experience the world are also the filters with which your world is defined.

For me the filters are now, Family > Health > Work > Personal. For years it was Personal > Work > Family > Health. I love the turn it has taken and wouldn’t trade it for the world though. The things I’m “building” in the family and health sector are worth their weight in bitcoins. Being run ragged by my two year old one day and dealing with her tantrums, whimsy, and peculiarities will always trump figuring out a bit of code, building an app, or learning something new and awesome. It’s always just going to be that way for me.

That said, I’m not sure what kind of technical side project excellence I’ll ever be able to achieve with this structure and fear I may fall into one of those comfortable jobs where you bang out the same code year in and year out. I have a suspicion that my constitution won’t allow it but who knows. Things are always changing.

Email me when Fred LaCrosse publishes or recommends stories