I’ve never really started, or better, finished, a side project. Not a big one, at least. And I regret it.
I love the saying scratch your own itch. Over the years, I’ve built small tools to make my life easier. Nothing groundbreaking, but each of them taught me something valuable. Side projects, big or small, are an incredible way to learn. Whether it’s a basic open-source contribution, a command-line tool to streamline your development workflow, or even a small web app, everything you build reinforces your skills. If you hold yourself to a certain quality standard, side projects become the perfect sandbox to experiment, fail, and improve without pressure.
Not everyone wants to start a side project from scratch, and that’s fine. Open-source software (OSS) projects are an excellent alternative. Find a project you like, look for “help wanted” or “good first issue” tags, and contribute. If you’re comfortable, propose a new feature, a utility, or even write tests to improve an existing codebase.
Side projects aren’t just for entrepreneurs. You don’t need to launch a startup or aim for the next big SaaS product to benefit from them. If you’re thinking about changing jobs or expanding your expertise, a well-documented side project can serve as a portfolio that showcases your skills in a way no resume can. It’s also an opportunity to familiarize yourself with technologies outside your day job without the constraints of a corporate environment.
I say all this as someone who never truly built a portfolio of side projects, and I regret it. If you’re in the same boat, start now. You won’t regret having something tangible to show for your efforts.
Different Types of Side Projects and How to Leverage Them
1. Create a Product That Can Be Sold
Some developers turn their side projects into revenue-generating products. This doesn’t mean you need to quit your job and become a full-time entrepreneur, but building something that others find valuable can be an interesting challenge. It could be a SaaS tool, a mobile app, or even a paid Notion template. Even if it never turns into a full-fledged business, launching a product forces you to think about user experience, scalability, and marketing, skills that are valuable even in a traditional job.
2. Contribute to Open-Source Software
If starting from scratch feels daunting, contributing to open-source software is one of the best ways to sharpen your skills. It exposes you to real-world codebases, best practices, and collaboration with experienced developers. Many OSS projects welcome contributions of all sizes, from fixing bugs to improving documentation to adding new features. Your contributions not only help the community but also build up your reputation in the industry.
3. Build a Tool for Yourself
Sometimes the best side projects are the ones you wish already existed. Maybe you need a command-line tool to quickly switch environments, a script to automate a boring task, or a browser extension that streamlines your workflow. These projects may never turn into products, but they serve a practical purpose and often teach you a lot along the way. Plus, if they’re useful to you, chances are they’ll be useful to others.
4. Experiment with New Technologies
If you’ve been meaning to learn a new programming language, cloud platform, or framework, a side project is the best way to do it. Want to play with IoT? Build a smart home automation project. Curious about mesh networks? Try setting one up and see how it works. The key is to make your learning hands-on, tutorials are great, but nothing beats solving a real problem.
Overcoming Common Challenges
One of the biggest obstacles to starting (and finishing) a side project is time. Between work, life, and other commitments, it’s easy to let a side project slip. The key is to set realistic expectations. A side project doesn’t need to be an immediate success; it just needs to keep moving forward.
Another challenge is motivation. If you start a project purely for career benefits, you might lose interest quickly. That’s why it’s important to pick something that genuinely excites you. Whether it’s a problem you want to solve, a technology you want to explore, or just a creative outlet, passion will keep you going.
Finally, perfectionism can be paralyzing. Many developers hesitate to share their work because they think it’s not good enough. But side projects are supposed to be messy. The best way to learn is to put something out there, get feedback, and improve over time.
Balancing Side Projects with Work and Life
A common concern is how to balance side projects with a full-time job and personal life. Here are a few ways to make it work:
Set small, achievable goals. Instead of aiming for a fully completed project, break it into tiny milestones that you can tackle in short sessions.
Make it a habit. Even dedicating just 30 minutes a few times a week can add up over time.
Work on things that energize you. A good side project shouldn’t feel like extra work—it should be something you look forward to.
Take breaks when needed. Avoid burnout by recognizing when you need to step away. It’s okay to pause and return when you feel refreshed.
Don’t feel guilty for taking time off. If you want to spend a weekend playing video games, traveling, or just relaxing with friends and family, do it. Side projects should be fulfilling, not a source of pressure.
A common concern is how to balance side projects with a full-time job and personal life. Here are a few ways to make it work:
Set small, achievable goals. Instead of aiming for a fully completed project, break it into tiny milestones that you can tackle in short sessions.
Make it a habit. Even dedicating just 30 minutes a few times a week can add up over time.
Work on things that energize you. A good side project shouldn’t feel like extra work—it should be something you look forward to.
Take breaks when needed. Avoid burnout by recognizing when you need to step away. It’s okay to pause and return when you feel refreshed.
Showcasing and Promoting Your Work
A side project is only as valuable as its visibility. If no one knows about it, it won’t have much impact. Here’s how to make sure your efforts don’t go unnoticed:
Document your work. Keep a README file updated, write about your process, and explain your decisions.
Use GitHub effectively. Keep your repositories organized, use meaningful commit messages, and make your project approachable for others.
Share your journey. Post updates on LinkedIn, Twitter, or a personal blog. People love following the progress of interesting projects.
Engage with communities. Platforms like Reddit, Dev.to, and Hacker News can be great places to share what you’re working on and get valuable feedback.
Showcase it in job interviews. A strong side project can be a talking point that demonstrates your technical ability and initiative better than a resume alone.
How to Make the Most of Your Side Projects and OSS Contributions
Keep Your Scope Realistic – Start small. A tool that automates a tedious task is a great first step. Avoid projects so large that they become overwhelming.
Treat It Like Production Code – Use version control, write documentation, and follow best practices. The closer it is to real-world standards, the more valuable it becomes for learning and showcasing your skills.
Track Your Progress – Maintain a simple log or portfolio of what you’ve built. Even if a project isn’t finished, documenting what you learned from it makes a difference.
Engage with the Community – Contribute to OSS, ask for feedback, and learn from others. Seeing how experienced maintainers handle issues and PRs is an education in itself.
Know When to Move On – Not every side project needs to be maintained forever. If you’ve learned what you wanted, it’s okay to move on to something new.
You don’t need to launch a business to benefit from side projects. You just need to start.
Articles I enjoyed this week
System Design Simplified: A Beginner's Guide to Everything You Need to Know (Part 9.2) by Lorenzo Bradanini
I used to think testing in production was a bad joke. I was wrong. by Raul Junco