Exercism – Level up your programming skills
I came here specifically to write some things that other people already said, so here is a TL;DR:The idea is great: have a test suite and program your exercises against it. But in my opinion, exercism makes you write a lot of non-idiomatic code. There is value in that, but only so much.