Side projects are important for a few reasons. Programming is a creative process. Side projects allow programming without deadlines or restraints. Side projects allow programming in an exploratory way.
Explore new technologies
Every day there are more and more bleeding edge technologies coming out. A side project is a great place to try them out. There’s no reason to worry about bugs or performance issues because it’s just a side project. You’re not depending on the project to pay your bills. It’s ok if the website crashes.
Creating from scratch
Most jobs I’ve had so far were mostly maintenance work. Adding new features, fixing bugs, troubleshooting performance problems, refactoring existing code. Though I’ve built more than a few applications from scratch, it only takes me a couple months to lay the foundation, and then I’m in maintenance mode again.
Side projects require creating from scratch on a regular basis. I love this step because I get to step back and take everything I’ve learned and put that into creating a new (and improved) project.
Good enough to launch
Working on a side project is also an exercise in avoiding analysis paralysis. If you’re starting from scratch, the possibilities are endless. A good way to avoid this is to make your short list of must have features, and then launch a beta when you have those features. A so called minimum viable product.
Staving off burnout
Work on your passion. Work on something that is fun. If you’re a developer who is about to burnout because you don’t enjoy what you’re working on, try creating your own side project. It will remind you why programming is fun.
Keeping your skillset current
Maybe you’re working with old technology at your day job. Maybe you’re bored with your current skillset and want to learn some new skills. Side are a great way to keep current with emerging trends in software. Never tried node.js? Great, make a small side project using it. All of a sudden you have something to show off as proof of your newly acquired skills.
Complete your side project
One of the problems with side projects is that they can remain incomplete. You may start on a project with all the gusto in the world, but then it’s two months later and you can’t remember the last time you worked on the side project. Nevertheless it’s important to push forward and complete the project. On that note, I’m off to do some work on my side project.