exercism.io—programming skills practice and crowd-sourced mentorship.

Exercism is a place where people can improve their programming skills by solving toy problems and then having friendly and rich discussions about the ways to make the code better. The discussions ofter revolve around idioms and trade-offs, readability and optimization, and (of course) personal preferences.

Being able to effectively critique code or perform a code review means recognizing code smells and being able to articulate the pain associated with it.

I started building exercism as an experiment in workflow optimization back in 2013. Since then over 10,000 programmers have participated in the discussions. When we launched the exercises were all in Ruby, but exercism.io now has exercises in over 20 different languages.

You should try it out!