My experience with Codewars
I was recommended by a professor early in my final semester to participate on websites such as Codewars, TopCoder, and other programming challenge websites with our ACM chapter. Since the semester ended up being so busy and coming to an early end, I was only able to try out these websites a few weeks ago. I’ve spent the most time on Codewars and want to share a few things that I appreciate about the site with you.
1. The problems require lots of thought
Upon entering the website, I was greeted with a 2 line Rust program, with an apparent syntax error. I’m sure if you are just learning how to program, there are plenty of simple problems like the first one you will encounter. But, if you are looking for bigger mental challenges, there are several levels of difficulty you can pick from:
- Learning to program
- Junior developer
- Mid-level developer
- Senior developer
Because I wanted to practice Rust, Go, and Dart, all of which I am relatively new to, I decided to pick the Mid-level developer difficulty. I have to say thus far, I am really impressed by the thought put into developing each challenge. These challenges are called “Kata.”
2. You can learn from other peoples solutions
Learning by completing each Kata is good, but I’ve found checking other solutions at the end is the most helpful. Notably, in Rust, I can expect that other developers know much more about the standard library than I do. For this reason, their solutions tend to be more concise than my own. This gives massive motivation to learn what other people are writing since you’ve likely spent the last half hour hacking together your own solution for the same problem. If you’re interested in seeing some of the Kata I have completed, you can look at my Codewars account here.
3. You can write your own problems
As you complete Kata, you will gain “honor” for your account. These act as a point system that will grant you different privileges. One of the more interesting privileges granted is the ability to submit your own Kata. This is unlocked after you have attained at least 300 honor. Here is a list of all other privileges that you can attain from the Codewars wiki.
4. You can pick from a large variety of languages
One of my favorite parts of the site so far is the variety of languages that you can choose from. I have been trying to put a few different languages under my belt lately. In particular, I am reading lots on Go and Rust for general systems programming, and making command-line utilities. I have also been trying to learn Dart so I can produce personal cross-platform mobile apps with flutter. (If I wasn’t the only Android user in my family I might have just gone with Kotlin 😅). No matter what language you want to try, Codewars is definitely worth a look.
Next: Code Formatting in Neovim for Beginners
Previous: My Introduction to ECS