Around 7 years ago when I was already deep down in the jungle of becoming a self-taught software engineer, I don’t remember how, but I’ve stumbled on checkio. At that time it had support only for Python (my first language). Checkio was centered around islands with creative stories and varying difficulty, providing a set of missions (coding challenges).
I still remember how hard was to do the beginner challenges and how much time I spent on the last of the beginner series - finding a path to the end in a maze (adjacency list graph). I loved the animation they’ve provided along with the editor, so refactoring my solution was like playing a game.
Knowing that this approach to learning works for me, over the recent years I’ve looked for services that are built around the same idea, only with more languages. That’s how I found Codewars a while ago.
Codewars is mostly community driven, you can solve katas (challenges) but you can also author katas yourself (you are actively encouraged to do so) or translate katas to other programming languages, opening them to more people that way. The challenges also have difficulty, so the interface offers you a choice to either solve katas for your current level or rank up with more difficult ones. Probably the biggest plus is that you can see how other people solved a problem you’ve just tackled, that way you can learn a best practice or a language method you didn’t knew before.
Codewars is this weeks thing because right now it helps me a lot to get back in shape after spending two months away from coding and also has a main role in keeping my language knowledge fresh. It already did wonders to my Ruby skills!