We visited the website codewars.com a few months ago. It gave our “boring programmer’s existence” a breath of fresh air, so I decided to share some of my thoughts with you. Codewars is a software development site where users can solve programming problems known as “katas.”
Dave Thomas, co-author of “The Pragmatic Programmer,” one of the industry’s most well-known publications, coined the term in 1999. Programming katas, like martial arts katas, are designed to assist programmers to polish their skills via practice and repetition.
Kata practice does, of course, necessitate some free time and a rigorous approach, but it is also extremely gratifying and enjoyable.
1. Push yourself out of your comfort zone.
Despite the fact that programming is one of the most mentally taxing jobs, and every problem we encounter is unique, we usually begin by applying the same tools and patterns to all of them. That isn’t necessarily a negative thing for the firm you work for, as long as the job gets done, but it can be destructive to you. Katas allows you to step outside of your programming comfort zone and attempt new things without fear of failing. Yes, go there and fail a few times; you’ll undoubtedly get a lot of knowledge!
2. Acquire knowledge of a new programming language
Someone is said to have learned programming by reading an O’Reilly book. But we don’t believe it is true… Doing katas backward is a fantastic approach to start learning a new language since it forces you to read the documentation and implement the solutions on your own. Reading is always preferable to doing! You can begin with the easiest (8KYU) jobs and progress to more difficult ones. You can start developing little pet projects once you’ve gained enough confidence in the new language. Thanks to katas, we were able to master the fundamentals of Elixir. There are hundreds of Elixir assignments available, ranging in difficulty from easy to severe. We are confident you’ll be able to locate projects that are appropriate for your language as well.
3. Brush up on your high school math skills
Some of the katas will necessitate some basic algebra or geometry. We needed to refresh my math abilities because it had been a long since I’d done one, but then I learned how much fun it is to engage your brain in a different way than you normally do in your day-to-day job. It’s so satisfying to know that all those years in education were worthwhile :D
4. Gain knowledge from others (and teach them)
The cool thing about code wars is that completing the kata isn’t the end of the game. You can then look at other people’s solutions, discuss them, and upvote them. It can be discouraging to learn that your 50-line solution could be accomplished in just three LOCs, but on the other hand, it can teach you some helpful programming ideas and tactics. Also, you might be the one whose solution is deemed “smart” at some point :)
5. Compete against your friends and coworkers
The Codewars platform was designed with gamification in mind: for each kata you complete, you get points (also known as “honor”). You gain a higher level (a.k.a. “kyu”) after accumulating the required number of points. It’s exciting to watch your numbers increase over time. It’s even more enjoyable if you form a code wars clan with your coworkers or friends and begin competing against one another. You feel like playing a game together, but at the same time, you learn a lot. It’s a win-win situation!