LeetCode is losing its charm, slowly but surely. An avid software engineer, Caleb Mellas, recently posted on LinkedIn that many top companies, including Accenture, Airtable, Betterment, and GitLab, are moving away from LeetCode-style interviews to more practical assessments.
“The only reason we do Leetcode is because Big Tech popularised it, and everyone copied them…There are better ways (sic),” he said, listing alternatives like code review challenges, real-world coding takehomes, short system design problem-solving tests, and data modelling with follow-up questions.
Not everyone agrees though. “Between salary and coding skill, LC helps buff salary more than coding,” shared one of the users on Reddit, who goes by the name ‘4everCoding’, saying that side projects work best to become a better engineer any day.
Problems of LeetCode
LeetCode was primarily intended for elimination rather than selection. However, this is creating a negative trend in the engineering culture. Several online forums on Reddit have reaffirmed the notion that it is a waste of time that many businesses enforce and expect.
One user expressed their frustration, stating that it’s disheartening to see that the ability to solve LeetCode-style problems has become a cumbersome gatekeeper mechanism.
Tech sector experts have criticised LeetCode and similar services, claiming that technical screens are just as problematic as whiteboarding, an interview method where candidates are asked to solve problems on a whiteboard.
Limited Use
Beyond cracking the interview, its practical use is very limited. LeetCode trains you to answer questions in 40 minutes. The aim is to pass the interview, not learn something new.
To sum up, as Gaurav Sen, CEO at InterviewReady in a LinkedIn post wrote, “Leetcode is designed for interview preparation, not upskilling.”
Also, there is very little to no content about AI/ML.
Not Adapt to Changing Times
One of the major arguments against Leetcode is that recruitment is a far more complex process and incorporates much more than coding skills.
Soft skills have gained much more importance in the tech industry. Applicants need to have good communication skills to convey their ideas and expectations clearly.
Developers themselves have now started pointing out the missteps that companies make while interviewing coders.
Many of them have clarified that LeetCode has simply become the most popularised method to understand if a candidate is worth interviewing. It only serves as a basic aptitude test and not a testament of individual skills.
One reason is that LeetCode is unconnected to an individual’s day-to-day employment. At the moment, very few of our projects involve discovering an efficient algorithmic solution without assistance.
Second, this type of question tells you little about the quality of code the person will write. At best, it will tell you whether they utilise understandable variable names and properly indent their code.
LeetCode Alternatives
There are various free alternatives to LeetCode that can help you practise coding and prepare for technical interviews.
There is HackerRank, which provides a variety of coding challenges and tournaments. It includes various topics, such as data structures, algorithms, and artificial intelligence.
Then there’s CodeSignal, which gives coding challenges, interview preparation, and coding competitions. It also includes a function called interview practice, which is intended to help you prepare for technical interviews.
Other alternatives include CodeForces for algorithmic challenges, CodinGame for game-playing AI and Kaggle for machine learning.
GeeksforGeeks is another popular resource for computer science principles and coding tasks. Codewars focuses on coding challenges called kata, which are generated and curated by the community. You can solve kata using your choice programming language.
MachineHack Generative AI is another good alternative due to its dynamic hackathons, comprehensive learning resources, strong community support, practical skill assessments, real-world project focus, generative AI training, user-friendly interface, and career opportunities.
These features collectively make it an excellent choice for anyone looking to advance their AI skills.
What Should Engineers Do?
Senior developers suggest that if one wants to start learning data structures and algorithms, they should start with LeetCode, and then eventually move towards competitive programming sites like CodinGame, Kaggle and CodeForces.
LeetCode facilitates pattern-based learning, which can help you understand concepts easily, whereas sites like CodeForces emphasise the application of these concepts. The topics are more varied, and the problems are much harder.
These alternatives talk about interesting algorithms and problem-solving techniques.
Not Everything is Bad
Whether you like it or not, LeetCode-style questions are a common feature in most programming interviews. And software engineers should prepare for them. The key is to prepare wisely, focusing on acquiring problem-solving techniques that can be applied to a variety of problems.
Finally, while LeetCode has its place in helping developers improve their problem-solving skills, businesses and engineers must be wary of emphasising it at the expense of other critical software engineering qualities.
A balanced approach is critical in generating well-rounded, effective engineers.