Why I (still) do side projects

By 
Zachary Watkins
Published on 
; updated on
.

Published in 

We have 3 kids under 8 and it’s hard to find time to do things for myself. They come first. If I thought that doing side projects didn’t help them at all, then I wouldn’t do it. Time is much harder to find these days and I think much differently about why I’m working on a side project than I did at first. I thought that was worth sharing here.


Learning

At first, it was about learning. I don’t have a computer science degree – just a BFA in studio art with a focus on graphic design. When applying for my first post-college job, my only experience with web development was 2 years of updating my university’s website content in Dreamweaver. That first employer took a chance on me being able to learn on the job, and I made it my mission to prove them right. I took on every challenge and if it required something I hadn’t worked with before then I learned it either during working hours or on my nights and weekends. With few exceptions, I did side projects to learn things “just in time”.

The other projects I worked on were just for fun or something useful I thought of, and one of those became a strong part of my portfolio that helped me get my second job. It’s important to show what we know and make our own luck. It felt great to take one of my ideas and turn it into a real working thing, but it felt even better when others saw the value in it too. Personal projects I made that didn’t work out or get used still helped me learn skills I would use again.

Exercising Creativity

I’ve always liked making art, although I don’t do it often these days. The part about it that’s similar to programming is to take something in my head and turn it into something tangible. It’s fulfilling, affirming, and expressive. If I think of something useful enough, then I put my time into it until it’s done or until I realize it won’t work out. Like art, things sometimes make more sense in our heads, and we realize once we start making it that it wasn’t such a great idea after all. It’s ok, it happens to everyone. But being able to try something new while knowing it’s ok to fail is the ideal mindset for creativity and helps us build confidence. When it’s time to do something new and the stakes for failure are much higher, that confidence has helped me see things through.

Helping Others

A few Christmases ago, my son was disappointed to get a Lego kit that he already had. After reminding him he should be grateful, I decided to make an app with him so people could look up what Lego kits he had: https://lego.zkw.app/. I needed to learn VueJS at the time for work, teach him some JavaScript, and show him what it’s like to go from problem to solution.

I only have a career in this field because people provide their knowledge online for free. I’ve always been grateful and when I can I pay that forward. I’ve kept most of my projects online as public GitHub repositories or public CodePen demos. I released two of those projects as open-source PHP packages (see Packagist and GitHub) so other WordPress developers could use them as well. It’s my hope that some people out there are finding some of that useful when they go solve big problems, make life easier for someone, or try to further their career just like I have.

Experimentation

This is slightly different from exercising creativity because the purpose is to evaluate the fitness of something for use at work. When I learn new techniques or technologies, I don’t just add them to projects at work right away unless it’s a very small step from what we’re already doing or using. Languages and frameworks are too big of a step to use at work without being familiar with them and confirming with others on my team that we can add it to our stack. Small things are more ideal for use at work, like a library or a workflow, because they’re easy to add and remove if things don’t work out. I still prefer to try them out on a personal project first.

Final Thoughts

These days I’m more inclined to work on side projects that can help me be more effective at work in some way. Experimentation and learning drive me more often than not. But I also make time for fun things, like figuring out how to run a Minecraft server on an old laptop so my son and I can play together.