I was recently laid off at a big tech company after 10 years. And now I am facing the harsh reality of trying to crack leetcode medium/hard problems (something I never managed to do routinely while I was working at this company). Is anyone here in a similar situation or has been in one? If so, how do you keep yourself motivated to solve multiple problems a day, especially knowing you are actually never going to work on such problems as part of an actual job?
Edit: I need to practice leetcode because the interview process for almost every software engineering role (especially in the Bay Area) seems to require going through at least one round of coding challenge based on leetcode medium/hard problem. I did not call it out earlier because I thought this is a very obvious point. Perhaps, I should have clarified that I am mostly targeting software engg roles.
Motivation certainly doesn't work like that in my brain. Consistency in pursuing goals I know on paper are the right choice despite lack of motivation is the only way I've achieved anything.
If you can wed career goals with dopamine, that's wonderful! But I suspect you're extremely lucky.
It is an issue simply because leetcode grinding makes me feel like all my 10+ years of commitment to my previous employer (often foolishly at the expense of my personal well-being) and all the things I have contributed and picked up on the way mean nothing / nada / zilch to my future prospective employers. The whole prep process makes me feel like I need to start from scratch and nothing that I did in the past matters at all. I find this extremely frustrating.
You can't change the past, and you can't control how companies interview. Focus on what you can control.
You have to accept this on a visceral level.
Alternatively, remember that the reason the company is making you jump through these hoops is that there are many other candidates who are equally qualified.
like asking people to accept that 1+1=3. or that the day after Monday is Thursday. maybe that's the real function of these hoops -- selecting people who are good at doublethink
Only those who can't or won't invest time creating a meaningful interview process fall back to leetcode.
If Leetcode is just a means to an end for you you're probably not going to have a good time.
You don't have to do the leetcode there. Can sit there for the whole time staring at the wall if you like.
But if you're doing anything there, it's leetcode. Your brain is a pattern matcher. It doesn't like boredom. Thus you can train it, a bit like a dog.
On the more abstract motivation side, despite the somewhat contrived nature of the challenges compared to day-to-day work I have treated it as a learning opportunity as there is genuinely some interesting stuff in there and there you never know when it might come in handy.
> We all know skills in programming are important
>But it is not just writing code, but also solving problems quickly and with the right tools.
>Before doing leetcode, I didn't really know how to tackle the challenges I was presented at work. I would still perform, but not like I do now, being on the top 100 leaderboard
>also please please hire me please I am starving
Leetcode is pretentious bullshit for american HR departments.
Any company that wants me to regurgitate toy problems that don’t have any relevance to the role is not one Im willing to bother working for.
I fee like if you’re “grinding” the goal is to memorize the solutions, which is kinda defeating the purpose anyway.
I can afford to leave that money on the table at 51, grown kids, downsized to a condo in central Florida with just me and my wife. But in my case, it’s not even a trade off between not grinding leetcode and not getting (back) into BigTech. It’s just that I refuse to ever work in an office again.
The “goal” is to make a lot of money in cash + RSUs (public BigTech), if I were younger I would definitely do it and I encourage all new grads to do whatever it takes to get into a high paying tech company and then give them advice on how to play the game once they are there.
In a world with both Google and AI, why does anyone expect you to memorize the solutions to problems, especially to problems that won't actually be the ones you need to solve on the job?
But I wonder if, in order to get a job with the "just say no" approach, you need to leave the Bay Area. I wonder if most places there are so into the "that's the way it's done" that they can't see the absurdity of it. Other places in the country don't seem to be as infatuated with leetcode. But if you're determined to stay there, then it may be a search to find someone who doesn't use that standard for interviewing.
So you have a choice. Would you rather grind leetcode, or would you rather grind the job search for a place that doesn't interview that way?
(I had decent success with Robert Half. They're a recruiter that actually has a clue about tech people. They can work with more senior people, which 10 years qualifies you as. I forget whether they were the ones that led to my most recent role, but I remember being impressed with them as headhunters. They may be worth a shot in your situation.)
Yes I realize those are the types of jobs most developers had - and the same types of jobs I had from 1096-2020.
When I hire grads or juniors onto my team I will focus a lot more on leetcode style problems because a) they don't have much work experience so delving into real-world problems they have solved is typically not useful (exceptions there) and b) leetcode is usually closer to their recent experience which tends to be more academic in nature.
More senior roles typically have very different requirements. I don't need a staff or principal engineer to pass a leetcode test as it typically isn't relevant to that role. I respect their lived experience so I dive into real world problems they have solved, not just software but also people, culture, etc.
Rather than dealing with people on real problems.
I'm currently getting interviews. For work that I know from having done it for twenty years that coding is only a small subset of. But the emphasis is far more on coding than application of experience gained to overcoming similar problems quicker the second, third or fourth times I'd be working them.
It's sad. I'll certainly just say no to leetcode for the kind of engineering I'm looking for. Rather go do some (paid) gardening.
Or accept that you're filtering for pain tolerance of nonsense and the people you get will put up with grindy nonsense in your company. Which could be a blessing or lethal, depending on what you're doing.
I mean, if you're Google, and a small improvement in algorithmic efficiency means needing a thousand less servers, yes, you want people who know that kind of stuff like the back of their hand. Most places aren't Google, though. Places that interview like Google that don't have Google-like problems have a mis-fit between their interview process and the roles they are interviewing for. So, places that aren't really on top of what they're doing as an organization.
Because the job market is very different today.
Two companies still hired me after telling them this. I don't think it would work for juniors, though.
You need your life to be so boring, and so full of non-intellectual chores that you long for an hour to look at code again.
This borders on facetious: but try becoming a manager, having kids, or becoming a hermit, I did all three and my side gigs / study was never better than during that time. I learned to just remove fun until the chores were fun. Like how carrots are actually really sweet tasting if you stop eating sugar.