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’:
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.
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.
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:
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!