November 23, 2020 Log No. 988
Interviewing after 4 years of…not doing that
I recently went through the job interview process, for the first time in 4.5 years, and for the first time as an experienced developer. And I didn’t really expect it to be a different process from when I did this in 2016, but it actually was.
I’d always heard how some experienced devs got “mad” at being asked data structures/algos questions during interviews, and had thought it was perceived as a blow to their ego (“my work and experience should speak for itself!”). But now that I’m in their shoes (kinda–a lot of those stories feature people who have twice as many years of experience as me, or have achieved a lot more), I realize it’s not quite that–or at least, not every one of those stories is about that.
It’s actually harder now to pull up that stuff! It’s actually harder to study and memorize DS/algos stuff now and keep that “in memory” (in my brain) with “actual” stuff I do and use on the job (like frameworks, work processes, etc), vs when I was inexperienced and didn’t know anything else. That’s something I never realized as an entry-level person. Really makes me realize the limits of all the information I can store at one time. Or maybe I’m just getting older and my brain connections are like, inelastic now or whatever. (Technical term.)
Also, I don’t know if I was just super simple before, but I definitely feel like the bar has been raised in terms of difficulty–or rather, the expected level of difficulty has been raised. I don’t remember dynamic programming being so popular before! And unintuitive (to me) uses of stacks. (No, they’re not just for Towers of Hanoi!) But to be real, in my interviews, I never actually got asked any DP or weird stack problems. Yet for some reason, every posted interview anecdote and LeetCode “Top Interview” list is littered with them.
(An embarrassing confession: I never realized that dynamic programming eliminated the need for recursion. I always just thought dynamic programming === memoization. Was so confused the first time I saw a dynamic programming “solution” and was like: “Where’s the rest of it? Did they forget to finish the code?”)
So I had to slog through it and really buckle down and study for a few weeks. 2 hours a night on average. It did get a bit easier towards the end just from getting used to putting my “algorithms” hat on regularly. And I will say that one big change that actually may have made interviews easier this time around was virtual-only interviews, and not just from a logistics perspective. Writing “actual” code during virtual interviews is a lot more similar to the practice environment than whiteboarding, plus I personally just type faster than I can write. And I’d rather have the ability to run the code and see if it works, vs the whiteboard “let’s just eyeball it” approach. So maybe I did better than I normally would have in “normal” times? And maybe I’ve peaked as an interviewee and will never do better on technical questions? Haha.
But it all paid off in the end so no ragrats. =3 I know in theory I should stay “warmed up” so it’s not so hard to get back into it again but…LeetCode just isn’t my hobby mk.
P.S. And the U.S. is back on the right track, finally! I have finally returned to the Berenstein universe where I belong.