Disclaimer, I haven't leetcoded - though I kicked around topcoder a long time ago.
Leetcode probably has value - but the real value isn't in your scores. The scores are a heuristic grade for algorithm capability maybe. And it makes sense that hiring parties would take it into consideration.
The real value lies in what you learn from completing the challenges. I don't think there's much value in being able to 'invert the binary tree' or implement a hash table from scratch. Nobody should do that professionally unless they're trying to push ahead the state of the art in that field.
BUT knowing about algorithm X,Y,or Z, and its performance characteristics and having that in your toolbox to solve real world problems is the difference between an engineer that spins their wheels for a week before solving a problem badly, and one that doesn't break a sweat making a correct and performant solution. A portfolio of algorithms and their strengths in you're 'inmem cache' is crucial if you want to move to roles more advanced than hocking json blobs between the frontend and DB.
I consult and typically find myself working on problems that the in-house team hasn't been able to work out, and very often I walk in on messes of nested loops and O(n^3) functions, when all it would have taken is judicious use of a Heap here, a Dict there (it's surprising how often a linear search over a list rather than a O(1) hashtable is used in some circles), or maybe a Trie or two. These aren't esoteric academic things, they are the abstract building blocks needed to solve real problems.
So, I digress, but: use LeetCode, work on open source, build challenging things and hang with a crowd that knows more than you and watch what they do closely.
Seek to grow your power and capability, not your credentials. If you grow as a developer then the credentials will come automatically. And if a potential employer can't tell the difference between a stone-cold competent programmer and somebody who just has a lot of acronyms on their CV, then they probably don't have much to teach you anyway.
Leetcode probably has value - but the real value isn't in your scores. The scores are a heuristic grade for algorithm capability maybe. And it makes sense that hiring parties would take it into consideration. The real value lies in what you learn from completing the challenges. I don't think there's much value in being able to 'invert the binary tree' or implement a hash table from scratch. Nobody should do that professionally unless they're trying to push ahead the state of the art in that field.
BUT knowing about algorithm X,Y,or Z, and its performance characteristics and having that in your toolbox to solve real world problems is the difference between an engineer that spins their wheels for a week before solving a problem badly, and one that doesn't break a sweat making a correct and performant solution. A portfolio of algorithms and their strengths in you're 'inmem cache' is crucial if you want to move to roles more advanced than hocking json blobs between the frontend and DB.
I consult and typically find myself working on problems that the in-house team hasn't been able to work out, and very often I walk in on messes of nested loops and O(n^3) functions, when all it would have taken is judicious use of a Heap here, a Dict there (it's surprising how often a linear search over a list rather than a O(1) hashtable is used in some circles), or maybe a Trie or two. These aren't esoteric academic things, they are the abstract building blocks needed to solve real problems.
So, I digress, but: use LeetCode, work on open source, build challenging things and hang with a crowd that knows more than you and watch what they do closely.
Seek to grow your power and capability, not your credentials. If you grow as a developer then the credentials will come automatically. And if a potential employer can't tell the difference between a stone-cold competent programmer and somebody who just has a lot of acronyms on their CV, then they probably don't have much to teach you anyway.