DEV Community

Cover image for Don't overdo Code Katas
Gert Leenders
Gert Leenders

Posted on

Don't overdo Code Katas

This post is a sequel to “The Polyglot Developer“, another blog post I recently wrote. If you haven’t read it yet, I can recommend reading it first. It will give you a better insight in my way of thinking.

First of all, I like code katas

It’s not that I don’t like code katas. On the contrary, there are two scenarios for which I really like to use code katas:

  • When learning a new language
  • To take my language skills to a higher level, most of the time, in a very particular area.

But that doesn’t mean code katas are a panacea.

Don't put all your eggs in one basket

What bothers me about code katas is that I’ve seen people spending all their extra energy on them. Don’t get me wrong; it’s good to have in-depth language skills. But what if you have spent days on optimising the code of a backend method to get latency down by eight milliseconds? What is the value of that achievement? Especially, if you could have achieved a tenfold of that number with less effort by just putting a CDN in front of your application!? The solution is not always in code, sometimes it's more about architecture or maybe tweaking the write concern of a database...

Instead of taking a deep dive, it could be better to gain broader knowledge first.

Idiot Savant VS homo universalis

If all you know is a single language and a single architecture, then I would advise against sorting out every nitty-gritty detail of that langue. At that point, I think there’s more value in gathering information about other architectures, get familial wit Microservices,(Immutable) infrastructure, Chaos engineering, .... or just another language 😄.

The danger of knowing a single thing is tunnel vision or making yourself guilty to over-usage. Or Like Abraham Maslow said: "I suppose it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail”.

It’s not a bad thing to use code katas to become a specialist but don’t forget to broaden your horizon in the meantime.

Enjoy and until next time!

Discussion (0)