Real world kata (for people sick of kata websites).

Pearl Robin
-
January 18, 2018

I enjoy kata websites like codewars but I’m pretty over them. Don’t get me wrong — they’re awesome. But they get boring after a while…

To really spice up your kata practice here are a couple of ideas that are more real world and less ‘fill the blank’:

1. Answer questions on Stack Overflow.

Answer actual problems. This can be deflating at first - I didn’t know much so I couldn’t answer much. But as time steadily chugged along, my skills and ability improved. Once you do feel confident submitting answers it’s super rewarding. The info you learnt while battling that super bug (which gave you days of grief!) might save someone else the same pain.

Please Note: You can get quite a few purists on Stack Overflow. Make sure that you read the Answering Guide before engaging with the community. Misstep and you will encounter the wrath of the IT trolls.

I know the things!

2. Remake a small project…50 million times.

When I was learning React and Redux I had an app that I rebuilt many times over. I still rebuild it! Each time I rebuild I add a bit more complexity. With each new iteration I learn something new and more complicated. I also continue to cement my understanding of how the basics work through the repetition. Rebuilding the app makes me faster and more efficient.

Remaking a project over and over can mess (something fierce) with people’s brains. “What do you mean I don’t get to make my project PERFECT?! I have to restart it a billion times?!”. But after the third or fourth rebuild, you’ll start to realise that you know what you’re doing. Even though they all look pretty much the same, each iteration will teach you something new and funky.

3. Blog about your bugs.

When I have a bug, I write down what the bug was and the fix I used. Blogging this process has been one of the best ways to solidify my learning. As great as it is to write a bug fix down — communicating the process to others is hard. It involves investigating the depth of your understanding. To get you going, here’s a couple of points that will help you:

  • Take notes as you work through your issue.
  • What were the ‘gotchas’ that surprised you?
  • What fix did you end up going with?
  • What other technologies/approaches have similar issues?
  • What else could you examine after this learning experience?
  • Add any code examples you have.
Bug hunting be like...

These ideas are a little more engaging than building a function that makes some tests pass. There are other things that can give you repetitive practice. Go mix it up and get some exciting real world kata experience!

Kata
Learning
Learning to code
Software

Insights delivered to your inbox weekly.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Get in touch

We’d love to see how we can work together.