Hacker News new | past | comments | ask | show | jobs | submit login

Leetcode is programming.

It's not sprint planning, 1 on 1s, backlog grooming, jira tickets, slack support, gathering requirements, making estimates, negotiating features with management, responding to alerts, or the million other things you get sucked into as a nominal "software engineer".

But it's definitely programming.

It's a specific style of working, not entirely unlike TDD, with a specific theme of problems which aligns well with the content of undergraduate algorithms and data structures courses.

Is there a degree of pattern matching and rote memorization? Most certainly!

And does pattern matching and rote memorization play a significant part in real world programming? Definitely! If there's not as much memorization happening it's because the art of copy and pasting from stackoverflow supplants the need.

And presented with wishing to learn the content of a university course, what's one rather effective technique to achieve it? To do exercises, a lot of them, and when you're stuck look at how other people solved them.

That's all leetcode is.

Perhaps others think that undergrad course in algorithms and data structures is useless material but I do not. I think it makes you a better programmer.




I think a better way to phrase what the parent is saying is that Leetcode is not software engineering. You can be awful at solving leetcodes and still be a great software engineer.

Now, do I think algorithms and data structures make people better programmers? Absolutely. But I feel like most people work on in an area like web development where the usefulness of it is severely reduced when you are working at such a high level of abstraction.


I agree. Memorizing algorithms to answer leetcode questions have their benefits but it’s extremely rare that a front end web developer would need those skills. If they did, that would mean the backend engineers aren’t using the right approach to organize and serve data to the client.


The point is if you know the basic algorithms and can apply them you don't need to memorize the answers to leetcode. You can (Gasp) come up with them.


Perhaps "leetcode isn't programming" is hyperbolic, and philosophically arguable, but what's 100% clear is leetcode uses a different skillset from real-world programming, and if you want to get better at one, doing the other won't help.


Spring planning, backlog grooming, etc. are not the examples I would use if I wanted to support the opinion that leetcode is not a real programming. (I definitely agree that some knowledge of algorithms and data structures can be very beneficial.)

My examples would be activities like building complex systems, maintaining and extending them, making them modular and flexible enough, doing performance analysis, identifying risks, and addressing technical depts, considering and implementing different architecture patterns, creating efficient CI/CD pipelines, automating routine.


you are wrong. it's not. it's simply memorizing optimal solutions to obscure programming challenges. the goal is to reproduce the optimal solution within a few minutes. nobody can do that, unless you memorize what the optimal solution is. the reason leetcode has become popular is because that gayle woman lobbied herself into a position of power at google and then wrote a book so she could profit from a "problem" tech companies think they have.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: