Photo by Raychan on Unsplash
I'm skimming Twitter and stumble upon this:
Randall KannaHere’s a list of resources for developers who want to crush the technical interview.
Thread03:22 AM - 21 May 2020
I open the thread, trying to find evidence of sarcasm. I fail. The OP & all the commenters are genuinely into this, this ... utter nonsense. Here we go.
There are two types of tech interviews - bad & good. You don't want to "crush" either of them.
- "Here's a whiteboard. Please pseudocode a solution to our current miserable problem on it."
- "What frameworks/libs are you good at - Spring, Kafka, Redux, Rx, Django, Rails, Snails, PigeonDropping, StinkPile, Spaghetti.JS?"
- "Returning to the whiteboard again - can you make it run in O(log n)?"
- "Hello, I'm the CTO/tech lead/senior engineer. Lets have a lengthy talk and see if we like you, and if you like us! Both are equally important."
- "We have a (small) code assignment which you can complete at home with no hard deadlines and no technical constraints (language/framework of your choice). Would you care to solve it and participate in a code review session with our developers?"
- "Can you spend some time pairing/mobbing with one of our teams on a couple of simple (but real) problems? That way we'll both see if our company culture is a good fit for you."
"Crushing" the bad type of interview by digging into the material suggested in the tweet is basically cheating. I don't mean the company - you're cheating yourself. You'll invest a lot of time preparing for the interview just to get a job you don't know you'll like - because the interview itself didn't give you that information! The interview failed at being what it's supposed to be - a two-way information gateway helping the company and the candidate decide whether they're a good fit for each other.
While bad interviews can be passed by cramming, the real win is to skip them altogether. The company may not be as bad as its interview but it's a huge job market. I'm sure you can find a company with an interview process which lets you find out how's it really like to work there.
A good interview is one where you don't have to prepare for anything other than to think through your career plan beforehand so you can coherently explain what you would and wouldn't like in a future employer.
However, "crushing" good interviews by cramming is not possible.
But I don't really feel I'm experienced enough for the job, and they'll find that out.
In that case I advise you first improve yourself. Get a mentor, or DIY. There's a plethora of materials on the Internet - even in that tweet thread (I'm sure some of it is good 😉). Gain more experience in the direction you want your career to head - algorithms, data structures, architecture, ops, people skills, etc. Before long you'll be experienced enough to get that job.
Even if you don't get the job, you invested time to push your career in the direction you want, not to conform to a specific set of questions to pass a job interview.
The experience and skill you gain will give you more clarity into where you are in IT and help you in the interview room to just relax and be yourself.