Kiandra Insights

Rediscovering Codewars

Rhys Evans - Kiandra custom software developer
by
Rhys Evans
|
September 11, 2020
Rhys Evans
September 11, 2020
Illustration of two fists indicating a battle on codewars.com

Back in late 2017, a handful of Kiandra developers decided to try codewars.com - a website that challenges you to complete coding exercises in a variety of languages. We dug into it and had some fun, but as time went on, I ended up putting it to the side as something that I’d often think about, but never make the time for.

Recently I have been thinking more about my coding skills and finding ways to stay sharp – and more importantly, work on improving. I am not a novice by any means, but I know I have a lot of room to grow and more techniques to master. I’ve got a few new and older side-projects on hold  because most of my time is spent in the world of C# and JavaScript so, any of the other languages I have under my belt barely get any time to shine.

Enter Codewars - a community that is built around developing programming skills. Users are tasked with completing ‘kata’, inspired by Japanese martial arts practice. A ‘kata’ in Codewars is a bite-sized challenge intended to implement a specific piece of functionality. Typically you get an input and the start of a function and you’re tasked with processing it and return the expected output. The size and nature of these challenges mean that users can focus on solving a specific problem – perfect for warming up the mind or to challenge oneself. Each kata is graded from 8th to 1st kyu and most can be attempted in a variety of languages. Not every language can be used on every kata and the rarer the language the fewer challenges.

Here are the languages I’ve selected for training at the moment. You can also use this as an opportunity to dabble in languages you’ve always wanted to try out. I’ve been focused on my C# and JavaScript skills, but I’ve been very tempted to dive back into Python – it’s been years!

Tiles each containing the name and logo of all the different coding languages supported by Kata

Once you’ve written up your solution to the problem, you can then run the kata’s built-in tests. If your solution passes those tests, then you can submit your solution. You’ll earn points for your efforts and then you can triumphantly take a look at how other users have approached the solution. You’ll also see different categories, like ‘Best Practice’ (good clean code) and ‘Clever’ (usually solutions that condense everything down as compactly as possible) which users can nominate. Here, you can learn from others and see how they did it.  Just resist the urge to peek at solutions before you’ve finished as you won’t earn any points! If something is a bit too tricky, you can always bookmark it and come back later.

You might be wondering – what kinds of problems do you get to solve? Most problems are intended to be solved within a single function, so you won’t be programming anything too big, but most problems focus on algorithmic skills. Depending on the level of the challenge you’re up against, you might find something like string manipulation or finding the mean of an array down at the 8th kyu. Higher kyu challenges will find you working to stretch the limits of your language – have you ever had to build your own language within your language of choice or simulate a feature found in one language in another? Sometimes it’s not enough to just pass the tests, your code must be efficient. At other times, your language of choice will be missing certain add-ons or be on a version that is missing certain features that might otherwise trivialise the problem at hand. Times like these really test your knowledge of what is possible in your language of choice. My JavaScript array manipulation skills have certainly improved while working on speed tests – something that I have then been able to apply to later kata for a cleaner result.

Of course, as a community-focused website, these code kata don’t come from thin air. Users can build their own challenges and submit them, allow contributors to help with ironing out any issues and after it passes beta testing, others can train on it. One of the best ways to validate your own understanding of something is to teach it, so there’s something to be said about challenging others to solve problems you’ve developed yourself.

So what keeps people coming back? The challenge? The sense of community? The fun of solving problems? I imagine most developers will have their own reasons, but I’d say it's the gamification. You are awarded points as you complete each kata or when you participate in the community which helps to make your progress feel more tangible. The training helps me feel like I’m keeping myself sharp and I can pace myself based on how much of a challenge I’m seeking, so I’m never too overwhelmed or underwhelmed and keeps my interest at the right level. Your ranking is also broken up by programming language, so you can pick and choose which language to train as you go. Signing up to the site requires passing a basic challenge too, which is an interesting gamified take on on-boarding new users! Enter if you dare…

After revisiting Codewars over the last few months I’ve built up my score and ranked up a few times, too. With new challenges awaiting me, I hope to push my skills further so I’m ready for whatever task comes my way.

Share article
LinkedIn.com

More insights

Aerial view of a cargo port at night showing a large container ship being loaded or unloaded by cranes. The scene is illuminated with industrial lighting and features overlay graphics of connected white dots and curved lines, representing a digital or AI-powered logistics network.

Rethinking logistics with AI: real challenges with real solutions

Cassandra Wallace
2/7/2025

In transport and logistics, most operators don’t need to be sold on the benefits of AI, they just need a clear path to making it work. This blog post outlines the most common challenges we see across logistics businesses, and how AI, when implemented correctly, can solve them and improve performance.

Read more
An illustrated person holding a tablet, looking up at a large, abstract AI brain filled with interconnected circuits and nodes, symbolising the integration of technology and human thinking.

AI and the human factor: what I’ve learned leading a team through change

Aarti Nagpal
26/6/2025

As a Software Delivery Team Lead, I’ve experienced firsthand how our strength lies in pairing deep technical expertise with a culture that genuinely values people. We’re not here to chase hype. We’re here to build things that matter, with teams that are empowered, curious, and supported.

Read more
A stylised digital padlock glowing in neon colours, symbolising cybersecurity and data protection. The background features abstract data panels and glowing lines, representing a secure digital infrastructure.

Personal data in government systems isn’t just sensitive, it’s sacred.

David Velasquez
25/6/2025

When you’re delivering software for government, there are no shortcuts. Security isn’t a feature. It’s a non-negotiable. At Kiandra, we work with government departments where privacy, compliance, and performance must co-exist – from health records to social services.

Read more

Let’s discuss your next project

Whether you’re curious about custom software or have a specific problem to solve – we’re here to answer your questions. Fill in the following form, and we’ll be in touch soon.

Email

Would you like to receive an occasional email showcasing the latest insights, articles and news from our team of software experts?

Thanks for reaching out! One of our software experts will be in
touch soon to help you with your enquiry
Oops! Something went wrong while submitting the form.

This website uses cookies to improve your experience. By browsing our website you consent to the use of cookies as detailed in our Privacy Policy