As a self-taught software developer, I have always found the number of options available to teach myself how to code overwhelming. With platforms like LeetCode, Codewars, HackerRank, CodeChef, CheckIO and so much more, how do we know which platform to pick? Well, this review aims to answer that question!
The issue with having too many options is that it is difficult to tell what resources are worth spending time on and which are not.
If you are currently trying to teach yourself how to code, let me start by saying that LeetCode is by far one of the best options to choose. However, there are some caveats. In this article, I hope to explain why.
So without further ado, let’s find out why LeetCode is such a great platform to practice your coding skills!
What Is LeetCode?
LeetCode is an online coding platform that focuses on teaching the learner data structures and algorithms. LeetCode is most commonly used as an interview prep tool by developers and has become the industry standard for coding interview questions. It’s even used by top companies like Google, Facebook, Microsoft, and Amazon to gauge the talent of their interviewees.
LeetCode provides a fleet of features including practice interviews, contests, and most famously, coding problems. LeetCode currently hosts +2,500 interview questions and continues to add problems consistently.
In this article, we are going to focus on the LeetCode coding challenges as an interview prep tool since that is the main purpose of LeetCode.
Benefits of LeetCode?
Overall, I think there is a lot that LeetCode has to offer. It’s practical, easy to set up, fun, and has a lot of additional functionality that brings value to the table.
Let’s break down some of the top benefits of LeetCode.
Benefit #1: Hyper-Focused On Interview Prep
Utilizing LeetCode means you won’t look like this kid in your interview…
LeetCode has become so popular that it has even become the go-to site for employers to pull their interview questions from. That’s right, that means that if you practice on LeetCode you are much more likely to see those exact questions being asked in your interview.
This fact alone means that your chances of passing the coding interview just went up substantially. More importantly, if FAANG companies trust LeetCode questions, you can be sure that they are high-quality problems.
This was one of the major issues I had with platforms like Codewars. Although I love Codewars, it just does not compare to LeetCode. Since all the coding problems are written up by their users, you run into a lot of problems with the unit tests and unclearly worded challenges.
On platforms like HackerRank, I didn’t see these issues. However, since HackerRank doesn’t focus on data structures and algorithms as LeetCode does, it also falls short in comparison.
For that reason, I think LeetCode is by far the best coding platform for DSA interview prep.
Benefit #2: Quick Set-up
This is a benefit that many coding platforms share. However, I love how easy it is to set up a LeetCode environment and start practicing.
I don’t know about you, but sometimes I just have the itch to code. I can be lazy and not want to set up an IDE or my dev environment for a quick 20-minute coding session. With LeetCode you can easily be up and running in seconds.
LeetCode features an in-browser code editor that just works. No dev set-up, no hassle, just write your code and run it. Now if only writing my personal projects were that easy 🙃
Benefit #3: Well-Organized Code Challenges Sections
Another major benefit of LeetCode is that they have really well laid out coding challenge sections.
When you want to practice your data structures and algorithms skills, you want to be practicing in sections. If you continuously jump from binary search problems to dynamic programming, to depth-first search, etc. you aren’t going to progress very quickly.
It is a much more efficient use of time to stick to a specific subgroup of problems and practice those until you feel comfortable. Luckily with LeetCode, you can filter problems by DSA subcategories easily!
So whether you want to practice hash functions, queues, backtracking, or recursive problems, LeetCode has you covered.
Benefit #4: Solution And Discussion Boards
A distinct feature of LeetCode that I very much appreciated was the separation of their solution board and their discussion board. That means if I wanted to discuss something about the challenge or view the discussions, I didn’t have to worry about seeing the solution.
Alternatively, when I was looking for other user submissions, I didn’t have to sift through a hundred discussion threads in order to find them.
Although I wish LeetCode had a similar system to see user submissions as Codewars. Since it helped me see alternative solutions and ideas. I still think the solution tab suffices for what you’ll need within the platform.
Benefit #5: Really Valuable Premium Features
Finally, I think LeetCode provides some really valuable premium features that you won’t find in any other platforms. The features can be a bit pricey and I don’t think they are worth it for beginners or people who haven’t exhausted the free features. However, I think LeetCode premium is the only coding platform worth paying for and could make a real difference in helping you land your dream job.
You can check out my full review on LeetCode premium and how to use the platform efficiently here.
Drawbacks of LeetCode?
Although I think LeetCode is one of the best coding platforms out there, it does come with some drawbacks as well. In this section, I want to break down some of the not-so-great parts of LeetCode.
Drawback #1: Many Benefits Locked Behind Paywall
Although I think the paid options of LeetCode are worth the price tag, I’m not a huge fan of paying for anything… ever.
Call me a developer but wouldn’t life be better if everything was open-source and free?
All jokes aside, some of the greatest benefits of LeetCode require you to pay for them. If you live in a country where you earn less or are still in school, that can be hard to justify. For that reason, the paywall can be a huge bummer when trying to get the most out of LeetCode.
Drawback #2: Only Good For Interview Prep
The second major drawback is that I really only recommend LeetCode for interview prep. You aren’t going to become a great developer by solving a thousand LeetCode questions. To become a great developer, you need to create programs. That means learning about system design, learning about programming language design, and building software.
There is a lot more to coding than learning data structures and algorithms and you aren’t going to learn those subjects on LeetCode!
LeetCode Summary: Is LeetCode Worth It?
Is LeetCode worth it for beginners?
Personally, I wouldn’t waste your time on LeetCode or any coding platform if you are still learning the basics of coding. You’re better off picking up something like a basic Python course (alt) or watching some youtube videos on basic programming topics. If you choose to dive into the difficult and frustrating world of DSA, make sure you have a foundation in coding first!
Is LeetCode worth it for self-taught developers?
LeetCode is a great option if you are a self-taught developer. One major drawback of teaching yourself how to code is that you’ll lack a lot of the algorithm skills that computer science students will have. Most of those students will have taken at least three DSA courses in a university.
For that reason, LeetCode is probably more important if you’re a self-taught developer. By grinding LeetCode problems, you should be able to fill the gap between your DSA knowledge and that of a comp sci student. Also, try auditing some high-quality free DSA Coursera courses. I’m personally a fan of this 4-part series course. It’s the same content they teach at Stanford University, but for free! Lucky you.
Is LeetCode Premium worth it?
Depending on where you are at in your coding journey, I do recommend buying LeetCode Premium. I wrote an entire in-depth article on this if you want to check it out.
Is LeetCode worth it to find a job?
If you want to find a job in the tech industry, LeetCode is the only coding platform I recommend. It is hyper-targeting to teach you exactly what you need for tech interviews and will make you a pro way faster than any LeetCode alternative.
Is LeetCode worth it to become a better developer?
Ultimately, LeetCode will help you learn data structures and algorithms. Learning DSA will certainly make you a better developer. For that reason, I would argue that LeetCode will improve your coding skills. However, it isn’t a magical tool that will make you a well-rounded developer. In order to be a great coder, you need to understand all aspects of programming, such as language design, networking, system design, etc.
In case LeetCode isn’t your thing, here is a list of alternatives that you might like better!
HackerRank is a close runner-up to LeetCode. If you are looking to learn a new language or a division of coding like database management, regex, or bash scripting, HackerRank is the coding platform for you!
Codewars is a cool place to learn about DSA if you want a social, community-driven experience. The site is basically self-run by its users and I think it is a great ‘underground’ alternative compared to LeetCode and HackerRank.
However, the platform does feel a little underdeveloped and can be a bit frustrating if you are accustomed to HackerRank or LeetCode.
CodeChef is also a popular platform to learn data structures and algorithms. It has a large following for competitive coding competitions and they are always running new contests. If coding competitions is your thing, check out CodeChef!
Finally, if you are trying to find a coding platform to use as supplementary material to teaching your students, check out CheckIO. The coding platform has uniquely positioned itself as a teaching tool that allows you to track your student’s progress and work, and make the experience feel more like a game than an interview prep material.