DEV Community

Mateusz Witkowski
Mateusz Witkowski

Posted on • Originally published at mwitkowski.dev

The power of side projects

Breaking Out of Your Comfort Zone

In our day jobs, we often find ourselves stuck using the same technologies day in and day out. Whether you're working in a software house or a product company, it's easy to fall into a routine. Side projects offer a great escape from this monotony. They're your chance to play with new tools, frameworks, and languages that you might not use in your regular work.

Learning Through Doing

I've always been a tinkerer at heart. I love reading documentation and playing around with new tools. However, I've found that the real learning happens when you actually build and ship something. Side projects provide the perfect sandbox for this kind of hands-on learning.

When you work on a side project, you're not just learning a new technology - you're learning the entire process of bringing a product to life. From the initial idea to the final launch, you get to experience every step of the journey. This kind of end-to-end experience is invaluable, especially if your day job only exposes you to a small part of the development process.

Showcasing Your Skills

In my current role, I'm involved in recruiting frontend developers. Let me share a real scenario: if I have two candidates with similar qualifications and experience, but one has an empty portfolio while the other has several impressive side projects, the candidate with side projects is far more likely to land an interview. And in the interview, those projects often become a focal point of discussion, giving the candidate a significant edge.

Why? Because these projects demonstrate several crucial qualities:

  1. Passion for coding: They show that you don't just code for a paycheck - you genuinely enjoy building things.
  2. Self-motivation: Side projects prove you can take initiative and see a project through from start to finish.
  3. Continuous learning: They showcase your ability to pick up new technologies and apply them practically.
  4. Problem-solving skills: Each project represents a set of problems you've successfully solved.

Remember, your side projects don't need to be groundbreaking innovations. Even simple apps or websites can effectively demonstrate your skills and creativity. What matters is that they represent your best work and reflect your interests and capabilities.

So, the next time you're considering whether to start a side project, remember: it could be the key that unlocks the door to your next career opportunity. It's not just about building something cool - it's about building your future.

Embracing Imperfection

One of the most important lessons I've learned through side projects is the value of shipping imperfect code. In my day job, I often found myself held back by the pursuit of perfection. Tasks would drag on as I tried to make everything just right.

Side projects taught me to embrace the mantra of "done is better than perfect." It's okay if your side project isn't flawless - the important thing is that you're learning and creating. This mindset has actually improved my performance at work, allowing me to deliver faster without sacrificing quality.

Real-World Problem Solving

While tutorials are great for learning basics, side projects thrust you into real-world problem-solving. They bridge the gap between theory and practice, challenging you to make decisions and find creative solutions.

Side projects allow you to explore areas beyond your day job. As a backend developer, you might dive into frontend technologies, or vice versa. This cross-disciplinary experience is invaluable, especially as the lines between different areas of development continue to blur.

Moreover, with the rapid advancement of AI in development, the ability to understand and work across the full stack is becoming increasingly important. Side projects provide the perfect playground to experiment with full-stack development, preparing you for a future where AI might handle more specialized tasks, leaving developers to focus on integration and overall system design.

Remember, the goal isn't perfection. Each challenge you overcome in your side project is a lesson learned, making you better equipped to handle similar situations in your professional work. These real-world problem-solving experiences, especially when they span different areas of development, are what will set you apart in an AI-augmented future.

Idea Generation

If you're struggling to come up with ideas for side projects, don't worry - you're not alone. Here are a few strategies I've used:

  1. Solve a problem you have: The best projects often come from scratching your own itch.
  2. Reimagine existing apps: Try rebuilding a simple app you use daily, but with a new technology.
  3. Explore your interests: Combine coding with another hobby or interest.
  4. Brainstorm with AI: Tools like ChatGPT can be great for generating project ideas.

Remember, your idea doesn't have to be unique or world-changing. The goal is to learn and have fun.

Broadening Your Horizons

Working on side projects exposes you to different ways of solving problems. Whether you're trying out Next.js, SvelteKit, or any other framework, you're broadening your horizons. This diverse experience can make you a more versatile and valuable developer in your day job.

Moreover, with the rise of AI-powered coding assistants, the learning curve for new technologies has never been smaller. Don't be afraid to dive into something new - you might be surprised at how quickly you can pick it up.

The Potential for Extra Income

While learning and skill development are often the primary motivations for side projects, there's an exciting possibility worth considering: your side project could evolve into a Software as a Service (SaaS) business and generate extra income.

Many successful SaaS companies started as simple side projects. Developers identified a need, created a solution, and then realized its market potential. Side projects are well-positioned for this transition because they often solve real problems, allow for gradual growth, and require low initial investment.

If you see potential in your project, start small. Offer it to a limited user base, gather feedback, and iterate. Remember, not every side project needs to become a business, but keeping an open mind can lead to unexpected opportunities. You might be surprised where your hobby project could lead!

Conclusion

As I wrap up this post, I want to share a personal revelation: despite being a senior developer, I don't have an exciting portfolio of side projects to showcase. For the longest time, I held back from sharing my work because I often felt it wasn't "enough" - not polished enough, not impressive enough, not complete enough. This hesitation kept me from putting my projects out into the world.

But here's the thing: I've realized that this mindset was holding me back, and I'm betting many of you can relate. As developers, we often get caught up in the pursuit of perfection, forgetting that every line of code we write is a step forward in our journey.

That's why I'm making a change, starting with this very blog post. This article is my first step towards shipping more, having more fun with my projects, and not being afraid to fail publicly. I've had the idea for this blog in mind for quite some time, and I'm finally putting it out there, imperfections and all.

Side projects aren't just about creating impressive portfolios or landing better jobs (although they can certainly help with that). They're about learning, growing, and rekindling the joy of coding that drew us to this field in the first place. They're about exploring new technologies, solving interesting problems, and sometimes, just having fun with code.

So, here's my challenge to you - and to myself: Let's start shipping. Let's embrace the imperfect, the unfinished, the "not quite there yet" projects. Let's share our learning journeys, our experiments, our failures, and our successes. Because every project, no matter how small or incomplete, is a testament to our growth as developers.

Remember, it's never too late to start. Whether you're a newcomer to the field or a seasoned developer like me who's been hesitant to share, today is the perfect day to begin. Start that side project you've been thinking about. Push that code you've been tinkering with to GitHub. Write that blog post about what you're learning.

Who knows? Your "not good enough" project might be exactly what inspires another developer to start their journey. Your "unfinished" code might be the solution someone else has been looking for. Your learning journey might be the roadmap another developer needs.

So, what are you waiting for? Let's embrace the power of side projects together. Let's ship more, learn more, and have more fun doing it. The first step is often the hardest, but I'm taking mine with this post.

Top comments (1)

Collapse
 
bhavya_jha profile image
Bhavya J

I'm a student and this blog is really helpful. Now I know the mistakes I can avoid.

Thank you for the invaluable suggestions.