The Lyndwurm. Let's face it sooner. Not later.
Before diving into LeetCode, let me tell you this post was initially going to be about my journey completing a series of 30 Assembly CTFs on pwn.college. It still is, in a way, and I highly recommend that site to anyone interested in hacking and low-level programming (check that site─totally worth it).
But somewhere along the way, I decided to shift the focus. So, bear with me while we explore LeetCode.
Let’s start with the disclaimers:
- I’m happily employed.
- My knowledge of the hiring process is limited to my own experiences and what I’ve observed.
- Take everything I say here with a grain of salt.
What Are LeetCode Problems?
LeetCode-style problems are algorithmic and data structure challenges, often used in technical interviews to (supposedly) assess problem-solving skills, logic, and coding efficiency.
I’ve tried LeetCode. I even did a fair bit of it back in university while studying Python. And I’m here to tell you: it’s not for me. It's probably not for you, either.
Here are 10 reasons why I’ve left LeetCode by the wayside:
1. I’m not a programmer, nor do I want to be one.
I work in IT and am aiming to become a Cybersecurity professional, specifically a Reverse Engineer/Malware Analyst. In this realm, LeetCode is of very limited relevance, if any. My focus is on low-level code, systems, and security—not cranking out optimal algorithms for abstract, byte-sized, problems.
2. Time is sacred, and LeetCode doesn’t fit my priorities.
Mastering LeetCode takes time—lots of it. As someone who obsesses over how I spend my time, I refuse to pour hours into a skill I find doubtful in utility for my goals. Instead, I could be:
- Diving deeper into malware analysis.
- Learning more about CPU internals.
- Experimenting with Reverse Engineering tools.
- Or even doing other wholesome hobbies like: fishing, watching paint dry, or fine-tuning push-ups.
3. It consumes mental bandwidth I’d rather use elsewhere.
Focusing on LeetCode takes up space in my brain that I could dedicate to something more relevant or enjoyable. Cybersecurity is vast, and every moment I spend on coding puzzles is a moment I’m not spending on fun puzzles.
4. There are other ways to demonstrate my skills.
I maintain a public GitHub with projects I’ve built. If someone needs proof of my abilities, I can show my work or create something on demand. Writing scripts or automation tools in a real-world context is more relevant to my career than solving arbitrary LeetCode.
5. Secure, readable code > Clever one-liners.
LeetCode often rewards speed and brevity, which can lead to unreadable, messy solutions. Writing secure, stable, maintainable code that other humans can understand is far more valuable in real-world applications.
6. In cybersecurity, CTFs are the way to go.
Capture The Flag challenges (CTFs) are like games. They’re fun, align with the hacker spirit, and teach you practical skills. I’d rather do CTFs all day than grind through LeetCode puzzles.
7. Better ways to assess pressure and skills exist.
In addition to several other assessments, my current company included a 1.5-hour test during the hiring process that challenged me to work under pressure, adapt to new situations, conduct research, and document my process. It was hard, fun, and incredibly insightful. If they had instead asked me to solve 10 LeetCode problems, they wouldn’t have learned anything about my actual skills. No joke—this test was fantastic.
8. I’m not here to compete with kids who have all the time in the world.
If I have two free hours, I’ll use them to play in my malware lab—not grind Python or C snippets on Codewars. I have nothing to prove to anyone, and I’m not interested in chasing someone else’s benchmarks.
Years ago, I participated in a BJJ tournament and won (blue belt +40 years category). At the end of the tournament, all the blue belt winners were allowed to face each other in a 'free-for-all styled' match. I said no. I had nothing to prove. I knew the outcome, too─there was no point in fighting guys who had trained as long as I had but were 20 years younger and weighed 20 kilos more.
Here's what I looked like after winning in my category:
Cute, huh? Third place didn't even get a medal. He got a broken rib and a trip to the hospital.
9. I’m not missing meaningful opportunities.
Sure, some companies prioritize LeetCode skills, but those are likely not the places I want to work at. I’d rather focus on preparing for roles that value my expertise in cybersecurity and low-level systems.
On the flip side, if I do receive a job offer from a company looking to assess my "cyber skills," I’ll be in a much stronger position if I’ve invested my time in honing those skills, rather than spending it on LeetCode.
10. Burnout is real.
Burnout is pervasive in IT. I’ve seen people so drained by their work that all they want is to clock out and forget anything technical. They crave time for hobbies, family, and friends, leaving the techie stuff for when it’s absolutely necessary. Not me. I dive into reverse engineering because I genuinely enjoy it, but I make sure to balance it with other hobbies, family time, and necessary downtime. Chasing someone else’s dream isn’t worth sacrificing my mental health.
Final Thoughts
For those who insist we must suffer through things we hate to secure a “dream job,” I leave you with this quote from Game of Thrones: