Dear new developer,
I firmly believe that having a side project makes you a better developer. This kinda sucks, because when I get home from a day struggling at the office, I don’t want to sit in front of the computer for yet longer. But if you can make it happen, even if it is only an hour a week, you’ll learn so much from a side project.
This post covers some other great reasons for you to start up a personal project.
From the post:
[A side project] is like when you let kids color outside of the lines [because no one else need ever see the code]. You start to think and see things differently. Plus you get to try different things in the process. You could start learning a new framework and realize that you don’t like it and stop immediately. There aren’t any consequences in your personal projects.
I found a side project to be a great place to experiment with different tools and languages that I may not have used during my day job. For instance, I was able to play with a recommendation engine and a static site deployment tool.
The post also ends with tips on picking a side project, but my advice is: pick a problem that matters to you. When you are trying to find time to work on something between all the other demands on your time, you have to really want to do so, and the only way I’ve found to do that is to be really excited about the problem space.
Other tips from me:
- You can start with a blog. If you don’t want to write code, you can just write prose. That can be a fun way to explore new technologies or business domains.
- Don’t be pragmatic (unless you want to commercialize the project). At work you need to walk the line between beautiful code and delivery. Side projects let you focus on beautiful code.
- Don’t be afraid to let the project go. I have done this. It’s painful, but if you aren’t enjoying the project, let it go. I’ve found a commitment of at least six months is good to ‘get over the hump’ that I encounter beginning anything, but if you’ve been doing a side project for at least that long and you find yourself avoiding it, give yourself a break of a month or two. If you aren’t interested after the break, let it go.
- If you don’t have time for something yourself, find a project where you can help. Ask around on local slacks or meetups or check out codeforamerica.org for ideas.
The post I mentioned is worth a read in entirety.