Codementor Events

Top 5 Things Your Side Project Needs

Published Oct 15, 2018Last updated Apr 12, 2019
Top 5 Things Your Side Project Needs

One of the best ways to increase your skills as a software engineer is by working on side projects. Some developers always seem to be working on side projects - tinkering with new languages and technologies. This is an exciting and engaging way to experiment with cool technologies. I've worked on side projects throughout my career and seem to always learn more than I expected. Many of my side projects dissolved into the ether, while others resulted into rewarding successes - both technically and financially. Here are 5 ways to grow your skills by working on a side project!

1) Use New Languages and Technologies

A guaranteed WIN with a side project is learning a new language or technology. There are lots of obvious benefits with this - and some hidden gems as well. I've learned new design patterns and have benefited from having hands-on experience using different frameworks. I can describe the differences between, say Node and .NET - Vue and React. Learning new languages and technologies taught me different implementations which I've referenced at my day job.

Using different languages and frameworks resulted in some aggravating and frustrating challenges along the way. Attempting to do certain procedures in Node is much different than doing them in .NET. Drudging through the pain and agony of doing similar procedures in different technologies helped me learn the different paradigms technologies implement. This improved my technical and architectural skills as well.

2) Recruit Contributors

As a software engineer, I'm good at building functionality. Since I'm not a designer or UI/UX expert I've mis-judged how little visitors read copy - even though I know apps must be self-explanatory - I ALWAYS seem to get this wrong! After I get basic functionality working I need design and UI/UX help. There are lots of CSS frameworks to help with very basic design elements, but, those frameworks won't get my app to the state of 'awesomeness' I want it to be without a second set of eyes. Designers and UI/UX experts help me polish the ascetics of the app and make it shiny!

I've found it awkward asking colleagues to help with side projects. I've also learned that asking for help typically isn't a good idea. When colleagues agree to help, they sometimes do so reluctantly and don't really contribute the amount of time required to help you. With this in mind, I created a resource to help programmers connect with designers, UI/UX experts and marketers at Find A Side Project. Collaborating with other skilled professionals always increases my learning. They've introduced me to additional tools and different work flows. This is a delightful benefit software engineers overlook when considering collaborative efforts.

Working with other people, wherever they may be in the world, has never been easier. We have terrific collaboration tools including Git for source control, Slack for real-time communication and Join.me for screen sharing. Your side project is an adventure and it should be a terrific learning process. I embrace the ideas other contributors bring to the project - even when it causes me some temporary pain - and I'm better off for it. Often, I fall in love with the tools others introduce because they increase my productivity.

3) Growing Your Project

After deploying, I want to see people using my app. I'll also want an ability to reach visitors. Email is a great way of communicating with visitors. I also want to make it easy for visitors to communicate with me and provide feedback on what they like, what they don't like, and what features they'd like to see added. After deploying a popular feature request, I notify users of the enhancement, giving them reasons to return, and keeping them involved in the process.

4) Add Metrics

I always add metrics to my apps. This enables me to know what traffic is doing. Metrics can influence and guide project decisions. When you're iterating quickly, a lot of things are constantly changing, and some changes negatively impact usage. A while back I changed the copy on the homepage of Find A Side Project - this resulted in a drop in registrations. Having metrics enabled me to see that session durations decreased, and bounce rates increased. Yikes! Without metrics I would have only had one signal - registrations are down. I wouldn't have known whether this was because I added a field to the registration form or because I adjusted the copy on my homepage. Having good metrics helped me quickly identify the issue instead of having to guess. The metrics indicated that the adjustment to copy on my homepage was the culprit. Google Analytics provides a rich set of reports that are easy to install on web apps. These reports enable you to know who's referring traffic to your site, how long their sessions are, what countries they're from and a plethora of other very useful information. Metrics can help you quickly determine whether your latest deployment improved usage or not - and why.
global-users.jpg

5) Monetize Your App

The Holy Grail for a side project is to become financially successful. If users are willing to pay for your service, all you'll have to do is figure out how to reach your target audience at a lower acquisition cost than you charge them, and you should be able to generate profits. If you can't charge users for your app or service, you'll need a longer-term strategy toward profitability. Some apps will never generate revenue; however, they're valued as advertising vehicles or because of the number of users they've generated. This is a perfectly legitimate path if you can raise enough capital and grow large enough to get acquired.

Regardless of your method to monetiziation it's something I always have in mind and encourage you to think about. We build side projects for the love of what we do, but, it sure is nice when others value what you've built enough to pay for your service!

I wish you good luck with your side projects!
Aaron

Discover and read more posts from Aaron White
get started
post commentsBe the first to share your opinion
Bill Smith
6 years ago

This is useful advice. I always struggle with whether or not I should bring others in.

Show more replies