As a developer, the moments when I learn the most are those when I am building things. This is true for the stuff I build on the job, but even more when I work on something I choose to work on, a side project that really excites me and that I do on my own time.
Coding a feature or a full product is usually a process of tackling problems one by one, some easier to solve than others.
The hardest problems, those seemingly insurmountable at first, that force me to go deeper into the workings of a technology, are the ones that make me learn things that stick with me forever afterwards.
This is why I firmly believe that the best way to learn new technologies is by doing. More than that, as explained in Indrek Lasn’s articles, we should strive to build useful things as a way to make progress.
If, like me and many developers, you enjoy building stuff, working on something you are excited about is one of the most glorious experiences you can have.
We developers are extremely lucky. We get to use our creative energy to produce things that others can use, and to enjoy the pure act of applying our craft to get things done, while getting better at it in the process.
And when the things we create also bring value to other people, the rewards are tremendous.
Benefits of working on a side project
There are numerous benefits of working on a side project. Here are a few of my favorites:
Keeps you motivated
A side project you are excited about gets you going and fuels your creativity. It’s your thing, your baby, your sweat and tears. With patience and work, you might even end up bringing a lot of value to its users and transform it into a business.
“You have to do in order to learn. You have to try stuff, break stuff, regret you ever tried, overcome your laziness and get s**it done. ” - André Pena
Drives you to learn new technologies faster and in-depth
When you are trying to make things work, you are learning far more in-depth than when just reading, watching, or coding along. Getting your hands dirty and treating the technology as a means to get where you want to be is the most effective way go from theory to actionable knowledge.
Opens up new opportunities
Having a side project and a particular interest for the technology you are using is something that makes you stand out, technically and as a person.
“Side projects can be immensely rewarding to talk about. They demonstrate a lot about how you work.” — Tanner Christensen
This article explains in detail how working on and talking about your side project can have a great impact on your career, even as a beginner and/or self-taught developer.
Improves your other skills
It helps you get better at other important skills: product design, UX/UI, marketing, and so on.
In your professional life, you don’t often get to work on a project from end-to-end. But with your side project, you are responsible for conceiving and designing the product, developing it, deploying it and marketing it. The responsibility of finding a way to learn enough to get to the results you want falls upon you.
How to choose your side project
The side project you choose can tremendously boost your creativity and growth, when you find your own sweet spot.
Below, I’ll be discussing how you can benefit the most while working at various stages of your side project.
The Fear of Shipping
The fear of shipping, procrastination, and resistance have been heavily documented. They rank among the main reasons why a great amount of projects are never born and end up in the graveyard of abandoned projects. This means that the mere fact of finishing a project and bringing it out to users is already setting you apart.
However, since there is nothing important at stake, you can keep the pressure to a minimum. A side project is all about succeeding slowly, at your own pace, on your own terms.
Unlike in the workplace environment where failure has real-life consequences (downsizing, losing clients), the side project space is somewhere you can experiment, define your own measure of success, fail without risking anybody’s career or income, and have fun in the process.
Taking it easy
Tobias van Schneider said that side projects should be silly or trivial:
“The only way a side project will work is if people give themselves permission to think simple, to change their minds, to fail - basically, to not take them too seriously. When you treat something like it’s stupid, you have fun with it, you don’t put too much structure around it. You can enjoy different types of success.”
You should treat your side projects as experiments and not let crippling questions and doubts kill the project before it becomes something. In other words:
“My first piece of advice is to just f*****g do it.” - Tobias Van Schneider
This is the place where you can fail without consequences and have as many shots as you want.
It is also the place where you can make tangible and measurable progress towards a goal that excites you. This will keep energizing you, and make you happier too.
Finding the idea
How can you find ideas for side projects?
- Scratch your own itch: If you keep stumbling upon something that makes you say “why doesn’t this exist yet ?” or “I can do this much better”, it’s time to do a little research and go for it if the need isn’t met yet.
- That idea that keeps nagging you: You’ve been thinking about it for months or years. It keeps coming back and begs you to help it make its way into the world. Whether it’s transforming a feature from an app you love into a product, or cloning an existing product for a different purpose, if you feel the drive to make it, this is a good sign you have to get started.
- Execute ideas provided by others: Here are two articles that are full of ideas that you can consider, How to come up with side project ideas by Ryan Hoover (Product Hunt founder) and A quick guide to help you picking up the best side project to work next by André Pena
The WOW effect
While shipping a prototype that works well should be your main objective, the goal is also to delight the user of the product. Remember, you only get one chance to make a good first impression.
Wayne Chang has introduced the notion of MLP - Most Lovable Product - a prototype that provides a great experience for your first users.
“An MLP is a product that is so intuitive, so satisfying to use, that your customer base can’t help but tell someone else about their experience.” - Wayne Chang
Even with the minimal features, building a beautiful prototype can make you stand out and place you in the delta of wow.
Going in-depth with the technology
I am picking up right where I left with my plan to become a better dev . I had to pause it for 6 months while building a startup for the City of Paris.
Time for me now to dive into React. It’s never too late, right? ???? It’s something I’ve wanted to do for a long time and never got to tackle properly.
I get really bored when trying to learn something new, and the default tutorial app is another blog or to-do-list that will end up in a graveyard of folders in my computer. Instead, I could use the time to create something meaningful.
Working on a side project helps me embrace the technology as I use it as a means to an end, transforming the idea I have into a tangible version of the product, a version that I am satisfied with.
Documenting the process
If you like to write, documenting your journey in itself can be a very rewarding exercise, too.
I find writing articles is a great way to log your progress, clarify your ideas, and allow you to see how you’ve improved. Journaling helps retain concepts and clear your head at the same time.
Go for it
Having a side project that excites you will keep you motivated and you may find yourself carving out more and more chunks of time to achieve your goals in the process.
"Stick to one project and get it done, while learning a new technology along the way. Start small and succeed slowly. Whatever the outcome, you will have improved many of your skills and will feel the pride of having created something important."
Originally published on lenafaure.com