This blog you are reading is more a tool for me to consolidate some ideas and experiences I come across. So is my GitHub account, where I upload some small projects that otherwise would remain on my computer and eventually die. It is also a way of giving back: I have learned may things reading other people’s posts and code, and I hope someone can find what I do useful.
Posting my code on GitHub also forces me to improve its readability, documentation and testability. They are an opportunity to test build tools, libraries & frameworks and different ways of structuring a web project. They help me get a grasp of the implications of picking one tool over the other in applications larger than a “Hello World”, and I can make more informed decisions on what to use when I am faced with a real project at work.
I was involved in the implementation of a web site that needed to be live in less than one week. Fortunately I could put together pieces of several side projects and meet the deadline. I used file drag & drop from a project, JS-based unzipping from another one, a wrapper for the Spotify Web API, a throttler for promises and the build tools and general structure of the website from another one. All of them pet projects that I decided to tidy up a bit and put at reach.
I learned that not only side projects are useful as a way to experiment, give back and build a portfolio, but also as components of a toolbelt that can be very handy when the occasion presents itself.
Even if you think that you don’t have anything useful to share with the world, open-source your projects or become a contributor of a project you like. These are really exciting times and it’ ha’s never been that easy to collaborate.