Exercism
Exercism, a platform for keeping our programming skills up to date.
Throughout my career I have learned many new things, almost completely forgotten others, and simply never encountered others. Our industry changes at a dizzying pace, and keeping up with the technologies we use daily is a real challenge. That is without even considering the need to explore new technologies appearing every day, which can quickly make our current tools obsolete.
So what can we do?
Following fashion can quickly fill your wardrobe with clothes you wore once and would never wear again. The same happens with new technologies: every day brings a new framework, language or tool that “solves every problem.” If we blindly follow trends, we soon end up with a sea of knowledge about different frameworks and libraries. That sounds good, doesn't it? The problem is that many will no longer be relevant in six months or a year. They disappear almost as magically as they appear.
However, some principles and ideas recur regardless of the language or framework. Algorithms, data structures, design patterns and others are almost universally applicable. I have mainly worked as a web developer and, honestly, have not often needed to implement extremely difficult algorithms. But being practiced at implementing them is useful when you do need them.
Recently I have been reviewing my career and considering what could help me maintain my skills or take them further. There is good news and bad news. The bad news is that the amount of information is overwhelming. The good news is that I do not need to know everything. For now, I will focus on relearning algorithms. Many resources can help improve our algorithm implementation skills; I chose Exercism.
Why Exercism?
This platform has exercises in almost every programming language. They are organized into tracks that guide you through the language's peculiarities and gradually increase in complexity. Every exercise includes tests. You can solve exercises yourself, ask a mentor for help or view solutions by other community members. You can become a mentor too! The best way to master something is to teach it. The site is open source, so you can contribute improvements and suggestions. Exercism is completely free!
Exercism was my choice, but the most important thing is to pick a platform that meets your basic requirements and simply start practicing. Simplicity and consistency are keys to success.