Why it matters to work on side-projects
Tags: productivity, sideprojects, improvement
Published: 2019-10-14 15:06:52

**Introduction**

There's a big debate about whether developers should be working on side-projects after work, or if they should use their free time to unwind after the day. Some claim it's important to always be "on the edge", coding daily and that there's no other way to improve, while others don't even want to see a laptop if they don't need to. 
I'll offer my personal view on this subject since I got back to side-projects after literally years of not coding after work.

**Side-projects characteristics**

Side-projects are inherently different from your typical 9-5 work day, for many reasons:

- Only you own them: this means roughly, that on your own projects you're the designer, the UX expert, the backend developer, you handle devOps, accessibility of the project, visibility, etc. You *need* to be, because it's only you.

- No constraints regarding technology. You can mix Vue with an Haskell backend and experiment all you want. No associated risks are really present and you report only to yourself, so it's the perfect playground for experimentation.

- You decide your business and can work on what you feel it's interesting for you, so it's easier to keep your focus and motivation up.

- You can learn many new things and you'll face new issues that wouldn't come up at your day job, since you're doing things differently using different tools.

- You decide what's good enough.

All of these things can make the time you invest in a side-project, no matter how small the project is, to be worth it. In our line of work knowledge and new tools often blend into older concepts or *fundamentals* quite often, so, the more tools you're exposed to, the more your knowledge of the fundamentals will be consolidated and it'll be easier to start connecting new ideas for older projects or even at your job with what you're currently learning.

**Benefits of working on something you own**

Other very important aspect is, in my opinion, the fact that you can explore the current technology stack you're using to its full extent. 

At work, since things are quite compartmentalized, it's very easy to start developing using the "in-house framework" and to have all the details hidden under the covers. And, while you can still dive deep and learn the workings of it, it's a much more valuable experience to write all of that yourself. 

**You can never grasp what you don't know until you have to face it, and do it.**

By working on something only you own, that you envisioned and you created from a blank IDE screen, you will challenge yourself to grasp, understand and "make it work" on aspects you'd usually not encounter at work or would otherwise delegate to others. 

It can also show to other fellow developers that you are currently engaged in your own craft, that you like challenges and that you actively seek knowledge which might be very positive to everyone, since often, good work collaborations and learning opportunities arise from this type of networking.

It can also be a great visit card to future employers and it's nice to have something you can call your own and show, explain all the architectural decisions and trade-offs you needed to take to get it off the ground and into the world. It shows that you are self-driven and are not afraid to experiment and take decisions when faced with a roadblock.

Last, but not least, it's a great way to track your own progress as a developer, and, the more projects you work on, the more patterns you will see, the more efficient you'll be at using stackoverflow and alike sites, the more connections to your current work *and* to your past projects you will be able to make, and you'll have a much broader repertoire of approaches to select from when making decisions.

**Conclusion**

Working on side-projects, while time-consuming and hard, can be very rewarding, since you can learn with freedom, explore new technologies and new ways of working and you can engage with the developer community in ways that a typical office job won't allow so easily.

Start a side-project, have fun and improve along the way!