Siddharth Ramakrishnan

Writing

Leetcode

December 5, 2024

Leetcode is useless. Everyone knows it.

The questions you answer in leetcode-style interviews are not at all representative of the actual job, particularly for more senior roles. These exercises waste countless hours of software engineers' time, diverting their energy from more meaningful pursuits (work or otherwise). So if everyone knows this already, why do we still do the whole song and dance?

Proof of Work

In bitcoin mining, proof of work involves solving complex but purposeless problems to demonstrate commitment and secure the system. Similarly, leetcode forces candidates to invest time and effort into solving arbitrary puzzles, signaling their dedication and ability to learn. The skills tested may not translate directly to the workplace, but the process serves as a proxy for other qualities employers care about.

Employers want to see that you can:

On the job, you’ll often face new tools, systems, or problems that require sustained effort to learn and adapt. Leetcode proves you can handle that.

The Paradox of Uselessness

The very uselessness of leetcode challenges is what makes them more appealing to employers. If the work were genuinely useful—solving real-world problems or directly contributing to the company—candidates could derive intrinsic motivation from the tasks themselves. But jobs aren’t always intrinsically motivating. Often, success at work means grinding through tedious, uninspiring tasks because they need to be done.

By forcing candidates to grind through something purposeless, employers test their ability to perform in scenarios where external rewards (like solving a real-world problem) are absent. It’s a kind of proxy for the unglamorous realities of the job.

Burning Resources to Prove Value

Like proof of work in blockchain, leetcode resource burn isn’t about the task itself—it’s about what the task represents. Spending hours solving contrived puzzles demonstrates you’re willing to put in the effort, follow the process, and prove your worth. It’s a way to separate the committed from the indifferent, even if the cost is high for both parties.

Note: The author hates leetcode and is bad at it