Three Roadblocks to Avoid When Launching a Coding Side Project
The desire to code a side project can be driven by different motivations. Maybe you’re trying to make some extra money, maybe you are trying to learn a new technology or fill out your portfolio, or perhaps you are simply trying to build a tool to solve your own specific problem.
The beauty of the side project is that it can be whatever you want it to be. It is often free of customer demands, or external deadlines, or the sort of meetings and management that professional projects usually entail. However, it’s exactly that lack of pressure or constraints that can banish a side project to be a never-launched, half-finished code repository that never sees the light of day.
I recently finished my side project Parent’em, a Reddit-like site for parents. This project was part of my effort of finally learning to code with the help of a Codementor. My mentorship was scheduled for 8-weeks, with two hourly sessions each week. My mentor sessions and schedule was well-structured and orderly, but the same could not be said of finishing my side project.
Grinding to a Halt
By the time I finished my mentoring sessions, my project was roughly 85% complete. It took me another 5-6 weeks to finish that last 15%. For someone who has been a professional product/project manager for 15 years, it’s embarrassing that I didn’t apply all the lessons and practices I know about successful product launches to my own side project.
So reflecting on my own mistakes, here are the three roadblocks that can easily doom your side project.
Set a Timeline
This is so basic! It’s one of the most important pieces of project management. But we rarely set milestones or goals for our side projects, leaving them to drag on endlessly and all too often die completely. So as you get started, have the discipline to set some due dates for the different phases of your project.
Be Careful of Feature Creep
Everyone who has ever worked on a product launch knows the risk of feature creep. As a project moves along, a list of more and more “launch-critical” features are added to the list. This causes the deadline to be pushed back, which leads to the belief that the initial list of features now has to be more impressive to justify the delay, which leads to further delays.
When the feature list is completely up to you, it’s easy to lose sight of what it critical, and what can be added later on. This is why setting the timeline is crucial, because with it, the list of must-have features can continue to grow. On my side project, I continually had new ideas of what to build and kept adding to the to-do list, until I finally started hacking some away to get to a launchable version of my project.
Don’t Sweat The Details
This was the biggest problem I kept running into. Granted, I was learning to code with my side project, so getting lost in the weeds occasionally was helpful for learning. But the flip-side of being a newbie is that every time you want to add something, there is a good chance you’ll have to do some research, even if it’s just to double-check proper syntax.
Little details, like having a user receive a confirmation email when signing up, or a user’s profile page “needing” tabs for stories and comments, or having different text when there are “zero comments” to display, all kept creating delays. I could easily have launched a usable set of core features earlier, then revisited these smaller details later on.
Get It Out The Door Already!
I ultimately stopping getting held up by these roadblocks by setting a one-week deadline to finish the first version. It ended up taking only three days.
Even when we know the best way to get things launched, it’s easy to ignore those best practices for own side project. By keeping just a few simple rules of basic project management in mind, we can ensure our side projects are actually brought to life.
Missed our earlier posts? Catch-up on our journey to finally learning to code with our previous posts:
- Being Technical isn’t “Binary”: Shipyard Cofounders’ Coding Journey
- Startup Co-founders’ Coding Journey: From Newbie to Informed
- Non-Technical Startup Cofounders Learn How to Build Simple Web App from Scratch
- Learning to Code with a Mentor is All About the 1:1 Interaction
- 3 Things to Consider When Building Your First App
- Building a Reddit-like Commenting System with Rails
- When “Learning to Code” Becomes a Reality
About the Author
This article was written by Mark Webster from ShipyardNYC. Mark and his two other co-founders, Vipin and Minesh, are participating in Codementor’s Featured Stars Program, where they will work with a dedicated mentor to bolster their understanding of programming concepts and become better entrepreneurs.