Introduction: Side Projects
Learn why you should do side projects.
Side projects aren’t necessary to succeed in this industry, but they offer a huge advantage for your learning and career development. I strongly recommend that, if at all possible, you have one or two side projects you are constantly shipping.
Learn better
All side projects are forms of applying what you learn. It’s amazing how much you learn when you try to use what you have learned in theory. You quickly find the holes in your understanding. You learn what is true and what is marketing BS. You learn that not everyone knows what they’re talking about, despite sounding smart. Finally, you remember what you use a whole lot better.
Breakable toys
The book Apprenticeship Patterns popularized this way of viewing side projects. Many software developers work in an environment where the consequences of failure are high. However, experience is built upon failure. Exceptional progress can only be made when exceptional risks are safe to take. By working on smaller projects outside of work, you have a way to experiment and make mistakes without the usual consequences.
You can get past Hello World quicker with a breakable toy. When you encounter a new way to do something, like a new library or framework, you can put it into your side project to see how it feels in a nontrivial use case you know well. When your colleagues ask for your opinion on certain technologies, you’re no longer making a decision based on docs or marketing; you can assert some authority from actually having used it in something “real.”
📝 Examples: Both Kent C. Dodds and Adam Rackis maintain bookshelf apps (Kent’s ...