A little note about this post. Every day for the last 800+ days, I’ve constructed a list about some topic. The lists always have at least 10 thoughts or ideas around the theme. Today’s topic was “Making Side Projects Fun Again” and I felt it’d make for a good post here on Dev-eryday. I feel that every software developer has some degree of struggle around side projects. We’re not all robots that can pump out code 18 hours a day, but we’d all like to create cool side projects. If any of this helps a single developer get closer to delivering a project this post was worth it. What follows is the list as it was written, enjoy.
Side projects, I have a most conflicted relationship with them. It should be a purely positive experience, but unfortunately, it’s not. Side projects come with expectations. When they don’t meet those expectations, it becomes difficult to justify working on them in the future. From there, the next justification is, “Why do it at all?” None of my side projects are likely to ever become huge, and that’s okay but it’s fun to dream. Past performance is not a guarantee of future outcomes, but it makes it harder to go all in on something new when nothing from the past has worked out yet. That, and it’s not easy for anyone to put in a day of work at a full-time job only to come home and put in a few hours on a different project. Low odds of pay off and already being tired are the two key reasons I don’t produce side projects as often as I’d like. That’s going to change though. I have all these ideas; I need to start getting stuff out there. Ideas are cheap, implementations are where it’s at. In order to move into a reality where I’ve implemented some cool stuff, I want to make it as attractive as possible to work on these extracurricular activities. Here are some things I’m going to do to shift my reality. I’m going to make side projects fun again.
- Make the Action the Reward - A lot of the time, at the start of working on something, we focus only on the end goal. The desired outcome of completion becomes the whole reason to do the thing. The end is great and all, but the romance is in the process. The act of doing deserves more glory than it’s given. Seek to see the iterated investments as the reward and you’ll feel the joy of completion each time you dedicate to making progress.
- Consider the Higher Order Outcomes - Working on a side project has hidden benefits beyond merely finishing. You gain experience, knowledge, a project you can share with others, stories about what you did, the opportunity to make decisions, and a lot more.
- Equate the Project to Increasing Your Luck - Each thing you do increases the surface area of your opportunities. Let’s look at it through the lens of a game of chance. The rules are simple, there’s a coin and if you flip it and get heads you win. You may flip the coin as many times as you want. If you flip the coin once, you have a 50% chance of getting a heads. If you flip the coin five times, there’s a 96.9% chance you will have gotten at least one heads. The more you flip the coin, the better your chances of winning are. It’s the same way with side projects. The more you do, the better your odds of success are.
- Focus on Adopting the Habit of Working on and Completing Side Projects - Build up the habit of working on side projects. It’s easier to have a habit of watching stuff on YouTube or Netflix than it is to have the habit of creating every day, but habits are things you can build. Check out The Atomic Habit by James Clear for some tips on constructing strong, foundational habits.
- Combine Interests - Centering the project around something you’re passionate about makes it that much easier to get to work. If you really enjoy the subject matter, it’ll be entertaining every time you put in the work.
- Simplify - Don’t complicate the things you’re trying to do. Make them as barebones as possible. Deliver on your original intent and share. You can always iterate later. It’s best not to build the cathedral before you’ve found believers.
- Solve a Problem You’re Facing - Everyone has problems that they’d like to see solved. Find one and scope out a solution that would make your problem go away. Tim Ferriss, and I’m sure tons of other people do too, calls this, “scratching your own itch.” Creating something that’s directly applicable to your struggle gives you skin in the game that can mean the difference between doing and not.
- Action Earns Something You Want - Back when I was working on SimpleHealthTracking.com and looking for what I’d do next, there was one option that stood out as the next path in my journey: Dev-eryday.com. Dev-eryday.com, the project I created for myself to get better each day, has been going for a while now and I knew that if I was going to be able to keep up the daily practice of getting better, I was going to need to have the best computer available. I’d need a machine that would inspire me to work even on the days I wasn’t feeling it. So, since I’d built SimpleHealthTracking.com and was starting up the Dev-eryday.com adventure, I bought myself a MacBook Pro. It’s been a nice computer, one that’s pushed me to get better. Hit your goals and unlock rewards.
- Find a Partner - Find someone who can serve to help you stay on track. If they can collaborate on the project that’s even better, but it’s not necessary. This person should be invested in the success of the project and can push you to do what you need to do.
- Consider the Alternative - What would you be doing with your time if you weren’t working on the side project? If you’ve got better stuff to do, do that! Spending time on the most important stuff is literally the point of living. If you haven’t good alternative activity, the side project is a safe bet for a good way to spend time. It probably won’t change your life, but it could. And hey, even if it doesn’t, you still will probably get something good out of the experience. At the very least, you’ll have something to show for your time, that’s more than a lot of people are getting.
I’ve gone through starts and stops working to build an app where people could post and share similar lists of ideas like this (idealistz.com) but have been unable to launch the project yet. I’ve created the bulk of the functionality I would want in the app, but I always drop working on it. Until I get that app live, I’m going to post any of the lists I write that feel like a natural fit for Dev-eryday. In the meantime, I’m going to try to make side projects fun again and hopefully get to work on the ones I’ve got on the pipeline.