Codewars vs. HackerRank
Codewars and HackerRank are two major competitors in the online coding platform market. Both sites are used for a similar purpose, to help teach you how to code and improve your data structures and algorithms skills.
While both sites are very similiar, there are also a lot of differences to know about when deciding which you should use to practice with.
Ultimately, I believe there is one clear winner if you want to become a better programmer faster. Which is why I wanted to created a guide to show you the key differences between Codewars and HackerRank.
If you want to read about my thoughts on each site individually, you can check out my Codewars Review and my HackerRank Review. Although everything you need to know will be covered here as well in the Codewars vs HackerRank article.
Let’s begin with a brief introduction to both Codewars and HackerRank.
Codewars is an online coding platform that provides users within various coding challenges ranked in difficulty by their “kata” rating. The higher the kata ranking of the challenge, the faster you will rank up.
Ranks are used to indicate the proficiency of users and the difficulty of Kata. Ranks begin at
8 kyu - 1 kyu and then from
1 dan - 8 dan. This means 8 kyu is the lowest rank and 8 dan is the highest rank.
Codewars is a community-built platform, meaning its challenges are designed by its users for its users. As of 2022, Codewars supports 29 core languages and 26 additional beta languages. Including the popular esoteric programming language, brainfuck! Good luck solving algorithm problems with that language!
Overall, Codewars is a very addictive and fun way to improve your coding skills that also gives a sense of community to help motivate you to grow and learn from others.
HackerRank, on the other hand, is an online coding platform that provides its users with a plethora of features that help coders get hired by top tech companies. These features are built around improving your DSA skills by completing code challenges in specific programming domains and competing with other users in competitions.
To developers, HackerRank is an interview prep tool that allows the users to understand and improve their current skill level by solving programming and mathematics problems. By solving these problems, the user ranks higher in an achievement-based system that displays their skills in specific programming domains.
Unlike Codewars, HackerRank focuses on another audience, employers. Employers have the ability to reach out to candidates, hold competitions, and post jobs on the HackerRank job board.
Although employers are also a focus audience for HackerRank, this review is primarily for aspiring software developers. So these aspects will only be covered from the perspective of a developer.
HackerRanks provides coding challenges in specific coding domains, time-sensitive interview prep content, frequent coding competitions and job boards.
There is a lot that HackerRank has to offer. If you want to get a deep overview of everything, check out this resource.
Codewars vs. HackerRank Features
Now that we have a good understanding about what these two platforms offer, let’s talk about the features provided by Codewars and HackerRank.
The first major aspect that I want to compare between Codewars and HackerRank are their achievement systems. Ultimately, both platforms focus on leveling up your account by completing coding challenges, but they do so in two different ways.
Codewars: Ranking System
Codewars has a relatively simple achievement system. As I mentioned above you rank up from 8 – 1 Kyu and then from 1 – 8 Dan. These names make sense because in Japanese martial arts, Kyu is the degrees away from mastery you are. Dan is the term used for mastery. So you count down to Dan, then once you hit Dan, or mastery, you start counting up.
It is important to mention that this ranking system exists for both your overall rank and for each individual coding languages you want to rank up. So your overall rank might be a 5 Kyu, but you would still be a rank 8 Kyu in every programming language you haven’t completed a challenge with yet.
The only way to level up your account in Codewars is by completing coding challenges. The degree of difficulty of the challenge also plays a huge role in how fast you rank up. Completing the hardest challenges with bring you closer to master much sooner than completing challenges at your current rank level. Completing challenges easier than your current rank will take much longer to rank up. You can check out the point system for each rank here.
While Rank is given to address your skill level, Honor is used to portray the level of respect a user has gained from the community. Honor is mostly indicated by your level of contribution and activity within the community.
Honor is mainly used to try and persuade users of Codewar to participate on the platform. While you can gain honor by ranking up and completing challenges. The main focus is around authoring challenges, creating translations, and upvoting and downvoting challenges and solutions.
you can read more about Honor here.
Finally, gaining Honor earns you privileges. By growing as part of the community, you are granted access to do more things. These can include authoring activity, such as creating challenges or translations or could be to assume a moderator role that allows you to approve or vote on the quality of user created content.
Overall, the idea of Honor and Privilege is a pretty neat idea that I have not seen implemented elsewhere. It ensures the moderators earn there place and are at least half decent coders. While also building the community in a challenging and fun way that makes others want to participate.
You can learn more about Privilege here.
Leaderboard & Misc
Codewars also provides features such as discussion forums, leaderboards, and a wiki to learn more about the platform.
HackerRank: Ranking System
HackerRank has a different achievement system than Codewars that focuses on learning seperate tools and languages, interview preparation and gaining skills rather than solely practicing algorithms and data structures in different languages.
Let’s dive into each of these below.
Badges and Medals
Badges and medals are a key way of ranking up in HackerRank and are broken down into 3 different subcategories:
- Problem solving (DSA)
- Specialized Skill (SQL, Regex, etc…)
The fact that all of these categories are laid out and accessible from the moment you open your account is very useful for a beginner because you can piece together a mental map of what you need to learn much easier than with Codewars. HackerRank even have a subsection for mathematics! Which is very useful and a feature I have never seen on a coding challenge platform before.
Each subcategory has their own bage levels from 1 to 6. Each time you complete a challenge within a domain, you earn points. You need to hit a predetermined number of points in order to earn your next badge.
The challenges for badges are also categorized from basic to advanced. The harder the challenge, the more points you get and every challenge can be accessed immediatley without the need to complete previous challenges.
You can find the number of points to hit for each badge here.
Leaderboards & Misc
Instead of a centralized leaderboard, HackerRank has a leaderboard for each domain. These leaderboards exist for both the contests and practice domains and is a ELO based rating system.
There are many other features to HackerRank that I will touch on below that makes this platform more feature rich. Since these do not really pertain to the ranking system, I will touch on them more below in the features section.
Which Is The Better Ranking System?
In my opinion, HackerRank does a great job of splitting up categories so you can focus your attention at one specific skill or language at a time and build your knowledge from there. Since the ranking system is for individual domains, the ranking system promotes learning different aspects of programming individually and building from the ground up.
Alternativey, Codewars has a greater focus on leveling up your account no matter what language you are using. This system works well for general problem solving but the ranking system really lacks the ability to teach individual concepts well.
It would be nice for HackerRank to have a more generalized point allocation that you carry no matter what domain you are currently solving problems in. As of 2022, I do not believe that is the case.
The coding environments for both platforms are basically the same. There is a built-in code editor in each platform that allows you the write and submit code. Both platforms also provide test suites that allow the user to know whether or not their current solution works in all provided test cases.
The only major difference between the two coding environments is what code is given to you before starting the challenge.
In Codewars, for most challenges, you are essentially just given an empty function to build from.
However, in HackerRank, you write code in an already existing environment. Although there is usually very little code pre-written, I do like the fact that it better mimics working in an already existing code base. Something that every developer will have to do within their career.
For that reason, the learning curve may be a bit steeper when starting out with HackerRank but it is more realistic.
Codewars Supported Languages
Codewars has a very high language support. Including 29 stable languages that range from scripting, functional, object-oriented and procedural languages. Having official support for functional languages like Haskell, Closure and F# are really cool benefits in my opinion.
In addition to this, there are also 26 beta languages that are supported by Codewars. This includes languages such as Julia and PowerShell (for you windows lovers!).
You can view all the available languages here.
HackerRank Supported Languages
Since HackerRank takes a different approach from Codewars, the languages they support for their learning paths are much more modest. There are 8 official languages that they support for their learning path. This includes: Java, SQL, C, C++, Python, Shell Scripting, Ruby and Python.
While they may not be as fleshed out as the language support above, HackerRank does support a total of 40 languages. Although these are generally only used when worker with an employer for a coding interview or for their algorithm and data structures problems.
It seems that HackerRank decided to focus more on the languages that are actually being used in the industry. In my opinion, this is a good thing. Instead of wasting time on obscure languages that you may never use again, you learn languages that actually have a use when building real software.
Codewars vs. HackerRank Unique Features
Codewars Unique Features
There isn’t many additional features to Codewars. Although there are a few features worth mentioning that aid in being community-focused.
The first feature that I want to mention is the Codewars discourse. Codewars has an individual page for each challenge in Codewars that can be used to discuss the challenge at hand.
Another cool feature that Codewars has is their user answer base. After you either finish or give up on a challenge, you gain access to the answer base. This section allows you to see how other users answered a problem and understand the different way the problems can be addressed.
As I mentioned in my Codewars review, this isn’t always a good thing. However, its a cool feature that I wish HackerRank had.
Codewars also gives its users the ability to create Allies. Allies are essentially a way to add friends in Codewars and see their ranking, solutions and activity.
Finally, Codewars also allows you to join clans. Clans can be joined by changing your clan name in settings. You are automatically given an allegiance with anyone who is in the same clan as you. If you want to unfriend anyone from that clan, you will need to do so manually. It seems that being in a clan doesn’t do much more than let other users know who you associate with.
HackerRank Unique Features
HackerRank comes with plenty of features that are used to help you prepare for your next interview and land a job. If you want a more indepth overview, I included them in my HackerRank review. However, I will give you a quick summary below.
Preparation kits are a bundle of challenges and mock tests used to help you ace your coding interviews. There is a preparation kit that lasts one week, one month or three months. The kits are curated by the experts at HackerRank and are supposed to mimic the type of questions you would be asked by top tech companies.
You can view the kits here.
Active coding competitions are also always being run on HackerRank. Anyone can start a coding competition and they are most often run by hiring tech companies. These contests can be a great opportunity to improve your coding skills, win some prizes and get hired!
You can view active competitions here.
HackerRank also has a section of their platform dedicated to getting certificates within many different knowledge domains. This includes anything from REST API’s, Frameworks like Angular and programming languages like Go. These could be a good way to help fill out your resume if you don’t have much it yet. Although I personally don’t find they would hold much weight in an employers decision to hire you.
You can check out all of the certificates here.
Finally, HackerRank also features a job board to help you find and apply to jobs. This is a pretty cool feature that really helps connect the developers to the employers that use the platform. You can also be pretty sure that if the employer is currently using HackerRank to recruit, they are going to care about your stats on the platform.
Although its a great idea, I find the job board really missed the mark. For starters, the only locations that are available in the job board are within the United States. While this is the highest paying area to make money as a developer, it certainly isn’t the only one. Making the feature useless for any developer who cannot work in the US.
I also find job boards like LinkedIn Jobs to be much more useful.
You can find the job board here.
HackerRank vs Codewars: Pros & Cons
Now that we are clear about what features are available on both HackerRank and Codewars, it’s time to break down which preforms better within the following sectors: educational use & job prep, addictiveness, reliability, social community.
Educational Use & Job Prep
If you have spent any time learning how to program, you’d understand how easy it can be to get sucked into learning the things that really don’t matter. For instance, you should learn git, but to be a great developer you don’t need to read the entire git manual front to back.
HackerRank does a really great job of segmenting and teaching the skills that really matter in your coding career. Bash scripting, SQL, Regex and Python are all tool that you are very likely to see at some point in your profession. Following HackerRanks learning paths will ensure you are utlizing your study hours effectively.
Codewars is sort of like the wild west of code challenge sites. Its wide range of coding challenges and open-source nature makes it hard to study particular topics.
The clear benefit with Codewars is that it focuses on collaborative learning with other users and on data structures and algorithms.
The ability to see how others have solved the given problem and to have more DSA challenges than you could ever ask for make Codewars a good resource to practice with.
Which Is Better?
If you are studying to get a job as a software engineer, I think HackerRank is the clear winner. HackerRank is clearly geared towards teaching you the most important skills for your interview. It has a preparation kit, a job board, skill certificates and learning paths for relevant skills. Codewars, on the other hand, is simply geared towards giving you endless coding problems to practice with and a community to code with.
Now let’s talk about how much fun both platforms are.
In my personal opinion, I found HackerRank to be a much more enjoyable experience. Working towards each learning path made me feel like I had tons of practice ahead of me but it was still manageable to get to the highest badge level. I also felt like I was learning something useful and progressing in my skills every challenge because the paths start with the easiest challenge and advances to the hardest.
In contrast, Codewars felt like a never ending challenge. Even the players at the top of the Codewars leaderboard had not achieved Dan 8. The highest Codewars rank. Unless you invest all of your time on Codewars, you probably won’t either. Ultimately, this is what killed my motivation to use Codewars.
If you are going to be spending multiple hours or even days attempting to solve a specific coding challenge, you want to know it’s actually solvable.
The problem with Codewars is that it is pretty much all community run and there are too many challenges to ensure there are no errors in the coding challenges. Even though this is attempted to be mitigated with moderators.
There have been countless times I began solving a problem, eventually gave up and later read on the discord that the unit test was wrong and made the challenge more or less unsolvable.
Since HackerRank is run by a company that has financial incentive to make sure their platform functions well, they are much more reliable in how they created their challenges and testing suites. Although I have spent less time on HackerRank than I have on Codewars, I have never encountered one of these issues like I have on Codewars.
Although I believe HackerRank is better in every other section of this list. I must say that the platform does feel a bit isolating.
The inability to see other users solutions makes me feel like I am not learning as much as I could be. While HackerRank does have a discussion board for each challenge, most of the comments are just asking for the solution and its easy to find the solution to the challenges by checking the discussion board.
It is kind of counter intuitive when you are supposed to be solving the challenge, not looking it up on the discussion board!
The inner coder in me loves the open-source spirit of Codewars.
The implementation of Honor has really given users incentive to help build the platform and keep it self-sustaining.
In addition, since the challenges are unique to the platform, it is much harder to simply look up the answer before you solve it. Forcing the user to solve the problem instead of taking the easy route and looking it up.
Verdict: Which Is Better, HackerRank vs Codewars?
Phew! If you’re still with me, you probably already know which platform I like better. However, both are great platforms and have their advantages depending on what you want out of your coding challenge platform experience.
Choose Codewars if…
Choose Codewars if you want a better social experience when practicing your coding skills. Codewars has a strong sense of community that can’t be matched by HackerRank. Ultimately, HackerRank is a business and benefits from attracting top talent. Codewars is just a bunch of dudes that love solving algorithm challenges. If that’s you, I think you found your people.
You should also choose Codewars if you want a more challenging experience. Codewars has an insanely high ranking system and number of coding challenges that ensure there will always be something to overcome. If you just want a platform that you can jump on at any time and start solving random difficult challenges, Codewars is for you.
Choose HackerRank if…
Choose HackerRank if you are studying for your coding interviews and want more structured learning. HackerRank has a plethora of features that will help you land your dream job.
Since they have constant contact with hiring tech companies, HackerRank knows exactly what those tech companies are looking for.
HackerRank is also the clear choice if you are trying to learn a specific language or tool. The ability to slowly progress from easy to advanced challenges within the specific langauge or tools learning path makes sure you are constantly challenged but not overwhelmed. HackerRank also does a good job of not holding your hand and allowing you to research and experiment on your own to solve these problems.
So that’s pretty much it! Everything you need to know to compare HackerRank vs Codewars. Have anything to add? Let me know in the comments below! If you still want more information, check out my HackerRank review and Codewar review.
In addition, if you are preparing for your coding interview, check out my list of best languages here.
If you are new to web development and need a guide on what to learn, check out my resource here.