Why Side Projects are Important to Developers
As a developer, you've probably heard of huge apps like Twitter, Trello, Github, daily.dev and more. They all started as side projects. In this article, let's discuss why side projects are important to developers and how you can get started getting into the habit to build them.
The Benefits of Side Projects
1. Escape Tutorial Hell
One of the reasons why developers can get stuck in tutorials is because it is easy to just follow the instructor's code. There's a sense of progression and belief that you learned something.
And when you tried to code something yourself, it becomes overwhelming. And so, you will go back to watching/reading tutorials. Eventually, you are stuck in a loop aka the tutorial hell.
If you are learning something new and can't seem to leave the chain of tutorials, then you need to build a side project because that's how you get to practice, make mistakes and actually build something yourself. It helps you practice and gain confidence writing your own code.
2. Fosters Creativity
Side projects are not only helpful to build confidence in writing your own code, it also helps to foster your creativity. Why?
Because you can build anything you want. If you have interests outside software development, you can build awesome stuff that synergizes these interests. You get to explore possibilities, things that you believe you can make and test your limits/capabilities as a developer.
It is both a challenge and an adventure to build side projects. Have a look at my recent ones like my Image Classifying Pokedex and Trading Bot. These are projects I didn't know I could build until I tried and tested my limits; all while having fun, of course.
3. Extra Income
Ever thought of earning some extra income with a side project? It sure is possible. If you build an app/software/website, there's a chance to make it into a side gig that earns money. It may not be a huge sum, but it's always great to make a little income from something you build yourself.
And if it works out well, that's how side projects can evolve into the successful products we know today.
4. Expand Skills/Portfolio
Another great benefit that side projects can give is expanding your skills and portfolio. It helps you to stay up to date learning the latest technologies and pick up a new programming language.
Whenever I want to learn something new, I'll build a simple and small side project to get my hands dirty with code and it really just help me learn faster. I always believe that practice is the first step to mastery.
5. Helping Other Developers
Side projects do not only mean building your own products. You can also contribute to open source as a side project. Open source is a great way to not only meet and learn from other developers, but also helping them with your skills.
If you are new to open source, there are many helpful articles that can help such as:
- A Beginner's Guide to Open Source by Ruth Ikegah
- Why You Should Contribute to Open Source by Anita Ihuman
How to Start Building Side Projects
Yes, we are busy people. Starting and building a side project is definitely easier said than done. It will take a lot of time out of your free time.
But if you are willing to make some time to reap the benefits of building side projects, then here are some ways to get started.
1. Attend a Hackathon
Hackathons are coding competitions that usually last 36-48 hours, where developers can team up to build something in that time period. Of course, there many types of hackathons. Even those that last for a month.
It may be difficult to start building a side project on your own. Perhaps you don't know what to build, or you need more motivation. A hackathon is a great way to get started. You will work with other devs to brainstorm an idea and build it together in a short period of time. This gives you accountability to start building and you just need to set aside a weekend to finish the prototype for the competition. Plus, you get to learn a lot from working together with other developers.
To find some hackathons to attend, I like to explore devpost.com/hackathons because this site hosts several hackathons every month and it is free to register.
2. Contribute to Open Source
Once you are comfortable building small side projects through hackathons, contributing to open source is an incredible long-term and sustainable way to keep building side projects.
It takes only a few hours of your time to help others and contribute to open source. And you are not expected to contribute continuously, so you can just do it whenever you want to practice and learn from the community.
3. Build Something You Want To Use
If you want to build a side project of your own, you can start with building something you want to use. This will be an effective initial motivation to get started.
- What kind of tool you wish existed to help you in your work?
- What can you build that can help someone in your community?
- What is that one thing that you have always dreamed of building?
- Is there an interest that you are passionate about that you can build something with?
Once you have some ideas, you can explore the tools, frameworks, libraries or whatever ingredients you need to make it happen.
If you are building a side project to learn something new, make sure that you are building something a little more challenging. Use a new technology/language/library/framework so you can practice while building the project you want to use. Facing challenges and coming up with solutions to solve them is how you can grow from building side projects.
At the end of the day, building side projects is a good habit to practice your skills and improve as a developer. It is not a must to-do, but an important addition to your routine.
They help you improve not only programming skills but also soft skills like creativity, communication and time management. I hope this article is helpful in emphasizing how important they are and how easy to get started building one. Thanks for reading and cheers!
Interested in reading more such articles from Victoria Lo?
Support the author by donating an amount of your choice.