In addition to the "it's fun" thing mentioned by other commenters: I always learn gobs of transferrable stuff when I do things like this. Just solving different problems with languages and tools I already know usually teaches me a ton of stuff, let alone using it as an opportunity to try out new things in a low-risk environment. Take the difficult, data heavy, level 6 described in the article: maybe you can solve it using formulas you already know how to write, but maybe instead, it's a good chance to deploy a real Hadoop instance for the first time and see if you can get that to work, or maybe you want to learn Julia, or make a really optimized version in C++14 or Rust. I find these sorts of "programming exercise" things to be great learning experiences, regardless of the level of artifice.