Why Programmers Should Always Have a Side Project
I started a side project three years ago, and it has been one of the best things I have done for my personal and professional growth.
In a previous post, John explained how a great way to come up with side project ideas is to solve an existing pain for a group of people. This is a much better approach than building a product and then trying to find users for it.
In another post on the same topic, he talked about the importance of shipping Minimum Viable Products (MVPs). A MVP lets you fail fast, learn and adapt quickly. I agree completely with his views in both of those posts and would recommend that you read them over.
What is a Side Project?
Before I start, I want to clarify what a side project means.
It can be a software application, a podcast, a blog—anything that is not a part of your day job and is out there for the world to see and use. Since you will be spending your evenings and weekends working on this, it helps if it's related to a topic that you are passionate about.
For example, I have always been passionate about developer productivity. I tag every new tool I find in Evernote, and speak about developer productivity tools at conferences. Given this interest, it comes as no surprise that my side project is a productivity plugin for developers called SqlSmash. SqlSmash adds 15 productivity features in SQL Server Management Studio (the IDE for SQL Server developers) and helps write maintainable SQL scripts, allowing for better understanding of code and faster navigation.
Now, back to the topic of why Side Projects are awesome.
Side Projects teach you to add value
If you have a day job, you are used to exchanging your time for money. You show up for work, put in 40-45 hours a week, and get your paycheck at the end of the month. While this is not bad, it does not reward you very well for improving your skills continuously. In fact, in most work environments, the reward for being more productive is that you get to do more work.
When you work on a side project, your returns are directly proportional to the value you add. The more value you provide, the more your audience grows, as does your personal branding. This leads to more potential for increasing revenue.
Side Projects teach you to take action
A lot of people struggle with Analysis Paralysis even before they get started. They want the perfect idea that everyone will love but haven’t implemented yet.
Well, I hate to be the bearer of bad news, but there is no such perfect idea.
Derek Sivers explained it best when he said that ideas are just a multiplier of execution.
This is good news! Your success, while tied to your idea, depends much more upon how you execute it.
Side Projects teach you to focus
A common mistake is switching to a new project as soon as you run into a roadblock on your current one. Do not suffer from shiny object syndrome by trying to work on more than one thing at the same time.
If you have ever seen the plate spinning act in a circus, you’ll see that every time the performer adds a new plate in the mix, it has to reach a certain velocity before he can add another one.
The same concept applies to your project—you need to reach a certain momentum (or kill the project), before you can think about another one.
Side Projects teach you to show up consistently
The journey is usually long, and there will be many highs and lows. A lot of us want instant gratification, but the path to creating something needs exactly the opposite approach.
You will have to show up and do the work regularly, irrespective of how you are feeling that day. If you do not do so, not only does your side project risk of dying an early death, you will have wasted time and energy that you could have spent with family and friends, or doing hobbies and other projects.
While motivation can get you started, habit will keep you going.
Side Projects make you more empathetic
Have you ever gone to a conference presentation and thought the speaker was boring? Or maybe you’ve read a blog post that seemed dry (not this one, of course, dear, good-looking reader). Or perhaps you’ve wondered what it is that your project manager (or sales/marketing staff) does at your job, since you are the one who does all the work?
Your opinion on these matters might change once you have to do these things yourself as part of your side project.
For example, I learned that sales and marketing are as important and need as much effort, if not more, than that required for coding a software product. The biggest misconception that developers have is that if you build it, the users will come. This is absolutely not true, and most developers learn this the hard way when they find they have zero customers on launch day. You need to have a plan for getting users. This plan needs to be developed while building the actual product.
Going through the journey of creating and releasing a side project can be really rewarding.
You will experience many highs and lows. You will also learn many things, like how to prioritize when your backlog looks never-ending, how to ship fast, and the importance of developing good habits and systems so that you can work consistently.
Besides building an asset, the actual act of working on something over time turns out to be its own reward.
It's like discovering that while you thought you needed the tea ceremony for the caffeine, you actually really enjoy the tea ceremony itself, and find it rewarding.
So go ahead, build something, and share it with us. We need it, and so do you.