First part: The Why
Side projects are a big part of my life, they helped me get my first student position and later on a job right after I relocated to Europe. I feel that one of the reasons why I love developing is the fact that we are creators, so why restrict ourselves?
I found 7 reasons why I really believe you should start your own creation today.
1. Improve your skills
We’ve all had the feeling that we’re a little behind. It could be with a basic programming skill, like data structures or algorithms, a specific technology that you’re using at work (apache spark) or maybe a service that you don’t have a clue how it works like AWS. A side project is your opportunity to take a specific skill and build something that uses it.
Most of us are part of a team, and we can’t work all day on a specific skill because we need to deliver features and solve bugs; but in our field, you can’t lag behind and need to develop your set of skills.
2. Try new technologies
Last year I found out about functional programming and it was a pleasure. At work we were using some other technologies and I really wanted to use my knowledge, so I ended up creating a small game in the wonderful #elm language. This simple game forced me to use the “elm architecture” and, by that, to improve my skills dealing with impossible states. Many times you find an amazing piece of technology that could solve all your problems, but perhaps your team is using a different stack.
In a side project you’re choosing the technologies that you like to explore. And as a bonus, you may be able to convince everyone to adopt that tech.
3. Get feedback
We all need feedback, because it’s the best tool to improve. Sometimes you may be working on internal projects or, in the worst case scenario, on unused projects.
The benefit of building your own thing is the freedom to decide who can use it. You can build a smart home system and share it with your family and friends or even with the entire world.
4. Be a part of a community
A big part of building stuff is asking questions and struggling with unsolvable bugs. Luckily, there are many awesome communities that can help you with bugs and even with your motivation. You can find them on Slack, Reddit, IRC and Stack Overflow, among others. You just need to look.
5. Build it from scratch
What’s the first project I worked on? A large-scale application that involved many pieces and technologies. I understood most of the parts, but I lacked the opportunity to really understand how things work. I believe that the only way to really understand complex systems is to try and build one yourself. Yes, you will struggle, but the struggle is actually the progress of learning and understanding all the small gotchas.
6. Unleash your creativity
You always tell your friends that you have this crazy idea, so why don’t you just try to build it? 🤓 Sure, maybe you will ditch it after a couple of weeks, but at least you will stop this itching. And prove to yourself that it’s doable. Or that it’s not.
7. Start something new
If you have an entrepreneurial soul, a side project is your opportunity to start something new. Many of today’s products started as side projects. So, give yourself a chance and build your dream product.
You can find my side project here https://github.com/puemos
Part 2 of this article will focus on the How with some tips and tricks.