top | item 36654947

Ask HN: Does grinding Leetcode have the highest ROI?

16 points| dondraper36 | 2 years ago | reply

A bit of context: I work remotely for a company with offices in Europe. I get paid pretty well, actually super well compared to my local market average salaries.

Due to my current family circumstances, it's not an option for me to relocate.

I have been in backend engineering for about 5 years now but I'm starting to feel that the atmosphere in my current team is deteriorating every day.

Even though it's highly likely, there might not be an open position in another team within the same company.

Here's the question: what is the most pragmatic way to be in good shape should I leave the current job?

I constantly try to improve in pure backend-related aspects like my default programming language, databases, system design.

That said, it seems that a lot of companies where my income could increase in a statistically significant way, Leetcode style interviews have become very common.

I am making the conclusion that being good enough at Leetcode problems is a pretty safe bet.

What do you think?

15 comments

order
[+] idoh|2 years ago|reply
As someone non-technical grinding interview prep has been a game changer for me. So I would say yes, probably. Figure out what questions could be asked, then practice via study, mock interviews, and Anki. There’s only so many questions they can ask, and if you practice them all and are fluid then you will be in great shape.
[+] PartiallyTyped|2 years ago|reply
Studying system design and doing interviews consistently even if you don’t intend on leaving is likely the best way to stay interview ready.
[+] dondraper36|2 years ago|reply
System design interview, based on my observations, are often paired with a preceding Leetcode round (or several).

I spend time studying system design with Designing Data-Intensive Applications and resources like System Design Primer, but you have to be good at Leetcode before you can even get to that stage.

[+] markus_zhang|2 years ago|reply
The thing is time is a limited and precious commodity so sometimes we question whether it's worthwhile to "subscribe" to something for 1/2 hours every day.
[+] speedgoose|2 years ago|reply
I guess training on the classic book "Cracking the Coding Interview" and similar will help you pay the bills easily.

Personally I would also work on my portfolio.

[+] dondraper36|2 years ago|reply
That book, unfortunately, is too "basic" these days. There is plenty of conflicting information regarding that but Google is said to have the most complicated coding problems, including dynamic programming.

The really stupid thing about a lot of such problems is that implicitly they require pattern recognition and probably even memorization. For example, solving the problem of finding a duplicate number in an array/list with O(n) time and O(1) space complexity is pretty hard, in my opinion. Even knowing the required data structures doesn't help a lot unless you know the trick with fast and slow pointers. To be fair, this particular pattern is well-known and should be in your algorithmic toolbox if you're aiming for FAANG, but the whole situation is a bit strange.

[+] jstx1|2 years ago|reply
My problem with the "just grind leetcode" advice is that I'm not getting interviews in the first place.

But if you're able to get interviews, yes.

[+] dondraper36|2 years ago|reply
I am not even applying now. The salary ranges I often see outside of FAANG or from local companies are lower than what I have now. The ideal option would be to find another team given that I'm fairly satisfied with the compensation level.

Life happens, however, so I decided it's never wrong to be ready for a sudden interview. Even though I am not ready to relocate now, there might be a non-FAANG company with a great remote-friendly offer.