Interview advice that got me offers
zainrizvi.io
zainrizvi.io
This is something I have never done before my most recent job search but it has been a huge help. Previously all my interview prep was on tech and I pretty much winged it for the behavioral stuff since interview prep guides seem to always focus on the tech side. Plus it always feels worse and more obvious when you struggle with or fail to properly answer the tech questions.
What I did is I prepared 10 different stories about my career experience and then tagged them with a bunch of prompts. For example I have a story about one project that had dual PMs that experienced a lot of scope creep and eventually fizzled on release. I can now use that story to answer a broad range of questions from failure to various project management approaches. Overall I now have prepared stories to answer probably 50-75 different questions immediately.
Another benefit is that I have also told these stories multiple times in interviews now and I get better telling them each time. Even if the answer isn't 100% relevant, I feel more confident and likely come off better launching immediately into a detailed story about my experience rather than trying to awkwardly come up with an answer on the fly. It is also easy to drop irrelevant parts or expand on specific details when the basic framework of the story is already something that feels natural.
I will even have the document with all the prompts and story bullet points open whenever I am doing phone or remote interviews. I could probably even create a cheat sheet to use for in person interviews since I usually would bring an executive style notepad with me anyway to interviews to jot down notes about the company.
Maybe this is obvious advice, but I think I am relatively smart and never done it previously or even seen this approach recommend so I am guessing there are other people who could use this tip.
I do think it would work for actual on-site interviews as well, as it's common for a candidate to bring in their own notes of questions to ask, etc.
A single memorable event you went though tends to highlight many different skills, so having a few stories down well will let you answer most of those questions
And what if it doesn't answer the interviewer's question perfectly?
Their real goal was to try to get to know you better. The question was just a prompt to get a better signal about you, and you delivered above and beyond what was asked.
Exactly. You only need to avoid the extreme of looking like a politician in a debate completely dodging a question. And even if you do get too far away from the question, you can always close it out with a joke about how off topic you got which gives you a chance to connect with the interviewer on a human level.
At Amazon, the behavioral questions should be a STAR format response to prompts about Amazon leadership principles.
If you write down two STAR format stories to each principle, you’ll always have something to say for the behavioral questions. (Most stories hit several LPs, depending on what you emphasize. So it’s only a handful, total.)
I made flash cards for each story, so I could practice hitting the key points.
Here's the info I ask them to provide:
- Job Title and Salary
- Job Description
- Company Overview and Location
- Steps in Hiring Process
Whenever I'm emailed by a recruiter, I politely thank them for reaching out, paste the link to the cheat sheet, and invite them to review it and write back if they still think I'm a good match. It quickly separates the professionals from the wannabes. (You usually don't hear back from the wannabes.) The ones who do write back often thank me for it.
I'm pretty cynical when it comes to recruiters. So I find it interesting that 3 of my last 4 jobs have come through one.
Dictating salary reqs up front does two things:
1. Reduces time wasted on folks or orgs that don't want to pay your rate.
2. Immediately moves discussion away from a dance around salary to salary _negotiation_. Any good HR org that can't meet your salary reqs and still wants you will try to compensate in other ways (stocks, RSUs, benefits, bonuses, etc).
At some terrible companies even, it's harder to hire someone outside of their defined salary band. Even if you don't care about being nice or paying fairly, your life is just made easier by paying them the bottom of the range rather than dealing with HR about salary bands.
I would imagine (perhaps unreasonably) that a relatively seasoned person on the job market would have a reasonable understanding of their market value within a few percentage points - so the recruiter might be willing to pay up to $105/hour, while you low balled it at $100/hour.
Specially in small/medium companies, a lot of the times businesses don’t know what they are looking for.
I know of a place that was looking for a “hardware engineer with 10y experience”. The average salary for this kind of job posting is not that high, they offered way more, but that’s because the actual position was “we’re looking for someone to become COO, and we need him to understand hardware development because the rest of the team doesn’t”.
To my layman understanding, the larger the difference between expectations, the lower the value in this tactic of not revealing your expectations.
Just to have concrete numbers to work with, suppose initial offers exactly correspond to final pay and that you're currently making toward the lower end of that range (e.g. because raises haven't kept up with your increased skill and increased market demand).
If you're currently making $X/yr (total comp), you think you _might_ be worth $X+$50k to somebody, and you spit out $X+$50k as your target range, a prospective employer could generously offer $X+$60k and you'd be happy as a clam and none the wiser while missing out on a new Tesla per year in extra pay.
There's a separate argument that if you'd be happy with $X+$60k then you shouldn't try to squeeze your employer for more, but I'll let somebody else make it if they'd like. Regardless, that big of a spread really does exist, and I imagine it grows further into one's career.
(I also agree with many of the parents: you don't really want to be the first mover — it isn't advantageous — but recruiters are very rarely going to give you that, and will force your hand in naming a number first.)
Queue up yourself asking for 150 coz you make 100 right now and you did your research. The recruiter might just begrudgingly give you the 150 they were prepared to go to anyway coz you seem to know your stuff. Of maybe he's gonna haggle you down to 140. Big deal. But you set the tone of the conversation. This is not gonna work if you don't know your worth but either way either you are gonna lowball yourself and they will just accept or they are gonna lowball it.
Episode 10 here but the rest are awesome too:
Negotiation is an adversarial game played between humans. Therefore there can't be any simple advice except to get better at the things that make you more competitive at negotiation itself. Instead of subscribing to basic rules like, "never give the first number!", put yourself in a position of being well networked, well informed and experienced. Then you can decide how to negotiate well on the fly according to the context. You will probably earn vastly more by focusing on those areas than you will by diligently following simple rules of thumb.
For example: I received an offer from Stripe and got them to add a $100k sign on bonus to it even though I previously gave the first number. Which party gives the first number doesn't matter.
To me that feels more complicated in Silicon Valley with equity. Once a minimum salary is met, I'll care about total compensation, not just the base salary. I'd be nervous that mentioning a low salary could lower an offer, and I don't a have reasonable number for salary I would accept if the company doesn't give much equity.
From my experience recruiters prefer to be told the salary ranges you are looking for to no waste their time neither yours.
Note - I've always given my number first (and all consultants tend to) and it's worked out fine.
Note, most people don't like dealing with places that are not upfront with the number to purchase the item / time etc. So if you are selling your labor, have some sense of its value /price.
The concept of your "worth" as the salary that you can manage to negotiate is so stupidly backwards that I cannot express how much it makes me want to burn everything to the ground.
There is no objective measure and you likely underestimate what you are "worth" to some companies.
As a consultant it might be different because roles are different and you aren't really talking to HR at that point, e.g salary negotiation
Usually that comes with the offer letter, or comes with the numbers that the recruiter reads to you before the offer letter.
But this is usually much before offer letter.
"I've actually done a few of these calls at this point and i know what the best practice / right move / way to play this is, so instead of me telling you what i'm looking for i'd like you to tell me the range on your hiring document:)" and just be totally silent.
Worked twice for me now.
Most people want to fill the audio void and will talk. Extensively.
Now I ask back with “what is the total compensation for this position/role?”. I almost always get an answer, often above my expectations. I used to give my range (mistake)
When they answer "no, we want you to give a number first", I'm at loss about what to do, so I usually give them a number. Answering "no, you" feels kinda puerile.
I assume you have to be the first to do the power play?
Do your homework. These days it's not that hard to determine what a competitive rate for a job is. Then ask for the top end of that, or even a bit more. It shows that you know what you are getting into, what you are worth, and quickly surfaces that there's been a misunderstanding about the job, if there has been one.
Sure maybe push back a little to see if they'll throw out the first number. But don't dance around it too much. Have your number in mind.
I always just say stuff like "I assume that the compensation at amazing company xyz will be competitive enough to consider"
Additionally, remember that most independent recruiters work on some form of commission. It's in their best interest to get you more money because then they also get more money.
Why would I even bother giving them a number if they dont do it first? My way of saying, dont waste my time.
If you don't set some kind of expectations with a recruiter then you might end up in processes where the 'negotiation' happens at the back-end, when you've been through the hoops, and the company has no chance in meeting what you're looking for.
This can waste a large amount of your time. Which is probably valuable if this is a situation you're concerned about :-)
It's not so much that as a negotiation technique it's outdated, it's more that you need to pre-select positions in some manner so you don't waste your time. If you are being paid X and a company pays their best employee X/2, but think they are paying 'really well', you're never going to not be wasting your time.
Most people ignore these contacts, so it does kinda work to match needy recruiters with underemployed IT pros. But when you're already at FAANG making 400k a year, it can take a recruiter phone call, two tech screens, and an onsite before compensation comes up, and you're now invested like 10 hours into a negotiation where your BATNA exceeds whatever budget they have written down. I've had one recruiter get a bit angry even over it, as if my number was unrealistic (I assume they were unprepared to make a competitive offer).
Since there are so many of these lowball recruiters, some people resort to screening them out up front with a salary negotiation.
I admit it's not exactly applicable to salary negotiation, but IMO leading with a high number can help cement the counterparty's perception of your value. I think it really depends on what type of company (and what level of its food chain) you're applying for.
They may get more money total, but less money per unit time spent. Their ideal scenario is getting their commission instantly, even if it leaves some money on the table.
I find the recruiters who get back to me are pretty open and transparent. If not, that's a sign they're probably not well connected with the company and may even simply be front-running a listing they found on a job site.
On preview: what @kortilla said. I don't find it limiting since it's a number I would be happy accepting (all other things being acceptable). I'm not out to maximize my salary. I want to maximize my well-being.
I generally want to understand what someone's ask is first.
After that I'm usually very upfront (ie, immediate verbal feedback) on how that falls into the position vs their apparent skill set etc.
If they have come in low (not uncommon for non bay area folks) I'll let them know that there are opportunities for growth beyond where they would start at. If they are someone we want we'll generally beat their ask as well to get them where they should reasonably be. Then usually there are two years of substantial pay increases. My own experience, these tend to be great folks to have on team if you can give them 3 years of nice growth.
If they are too high I'm usually upfront that at that rate they'd be flat compensation wise for a number of years or that the amount is simply too high relative to skill for position and our needs.
It used to be market was so tight, that if you found a great person you could go 2x what the planned budget was. Not sure if all orgs have that flex so that makes it a bit unusual.
I've heard that once before and it always puzzled me. Basically you're telling the candidate that you want to underpay them now, so you can eventually pay them what they are worth. The math is in their favor even if they don't get a raise next year. And of course, next year they will be worth more anyway because they will have another year's experience plus additional domain knowledge.
I'm curious if anyone has ever fallen for that line.
The quote is saying that the employee will be at the top of the budgeted pay range for that position, so their salary won’t grow much at all year over year.
I’m unclear on where you’re getting “underpay” from. Perhaps you’re assuming that the budgeted salary is below fair market value, and there’s a vague promise to increase the budget/salary in the future? Not sure why anyone would take the position in that case.
That said it feels kinda nice if the company gives you a raise without you even asking but it does mean you were basically underpayed vs. what you might have gotten.
I'm not sure where "The assumption is that the candidate is already worth the top of the pay range for the position" comes into this. As a potential employee, i want to maximize my $$$. How much the employer thinks i'm worth is the employer's problem not mine. If the employer gives me a choice that i can either (a) make more money or (b) make less money, i am going to choose (a), and i don't know why anyone would chose (b), all other things being equal.
Stared at this for a while, and can make no sense of it.
1. Bend policy at hiring. $250k. $250k. $250k. $250k. $250k. $250k (no raises)
2. Follow salary brackets. $200k. $210k. $220k. $230k. $240k. $250k (low initial salary, catch up over time)
Having been on both sides, it's nearly impossible to make the case for bending policy further at annual reviews. Over time, employees converge to pay brackets. If you were hired with a on-off exception, you're getting no raises for a long time.
No raises feels shitty to a lot of people. It also brings risks.
True story: I was hired by a not-for-profit doing good work. Pay was maybe 1/3 of Google, and I'd be the top tech person at the org (not by ladder, but by skills). Pay was about 85% of what I needed to cover cost-of-living. They stretched brackets to get up to covering my cost-of-living exactly, so I was almost 20% over the upper cap of my pay bracket. Come next re-org, what do you know, they re-jiggle salary brackets standardize things, and my salary comes down 20%.
Fortunately, in the meantime, my cost of living had come down, so it worked out okay. I'm doing important, fulfilling work, and it's fun. So long as I'm doing that and making ends meet, I'm not tempted to jump ship to FAANG.
And no, my employer wasn't simply f-ing me; I understand the organizational structure, psychology, and dynamics well enough to understand what happened, how, and why. These were dynamics well above anything my boss, their boss, or their boss has any influence over, and I'd rather spend the social capital of going to their boss on something more important (e.g. making sure everything I do is open source).
A common career mistake people make is to assign intentions to places where the other side has no control. If you're worth $350k on the free market, and you receive a $180k offer, odds are the other side isn't low-balling you or doing anything mean or improper. They're operating from their constraints. You're operating from yours.
If you need $350k, and they can spend up to $500k, you'll be hired, and how well each side negotiates sets at where you'll get paid. If you need $350k and they can spend up to $200k, you're not getting hired, period. It's good to discover that earlier rather than later, but in practice, that usually comes up after the interview. In the no-hire $200k/$350k case, although you might not get a job now, things might change in five or ten years, and it's good to leave without bad feelings, and I'm not just talking about expressing bad feelings, but about what you're actually feeling. If you come out thinking "low-ball exploitative !@#$%," that's not very healthy; if you come out feeling "good people; no fit; difference in expectations; maybe next time," that is healthy.
I think its good to communicate that they wont be getting raises. I've taken a few jobs where I've been paid well above average, it feels great then you dont get any pay rises for a few years which makes you feel like you're aren't doing a good job.
There are a lot of recruiters on the market. But it's really no different than the market for lawyers; the median lawyer is a very poor man but the average lawyer is rich.
If they can't put a number on the table, they are probably one of those that tries to run a volume game, which I think is a bad approach for engineering. Basically spamming and not giving any info until they get their quotas.
The good ones want you to get hired at a good price because they are often paid a commission on your salary. And the great ones want to keep in touch so they can cash out again once you get bored with your current job. But the spammy one will have moved on to selling used cars at this point.
> I have wanted to escape the dreaded cycle of dealing with these terrible recruiters
Focus on yourself. When you are in a good place yourself you will find non-terrible recruiters. And when recruiters reach out, have a copy/paste response to say thanks for reaching out. +1 bonus points if you have a friend looking for a job and you can share their LinkedIn profile in your copy/paste response.
And don't run away (escape), run towards something.
I love this inspiring response but someone who is on the outside trying to claw their way in cannot see the light at the end of the tunnel. I guess its a self fulfilling prophecy, don't run away and there is a chance in the distant future you jump into that other circle but if you don't try you have exhausted any chance. But what if you spend all that effort trying never do? What have you sacrificed in order to end up failing to get into that other circle?
What do you mean? Either you got a bad deal being underpaid which means your boss got a good deal, or you’re getting paid a lot and your boss got a bad deal but you got a good one.
How can you both be losing?
It's fairly easy to get someone to push your resume forward internally, if that person has some sort of (even benign) reason to think you'd be a good hire. Everyone wants to hire good people and often we're compensated for referrals who pan out.
I'm currently working in Red Bank and have been having a hell of a time finding places that don't seem miserable or just short contract work that I'm not interested in lol
"Compensation will depend on your experience"
I have had very little luck getting a recruiter to supply a range. I've had a few, but they are few and far between. I've also had a few that I've gotten to name a range by first naming something comfortably above where I suspect their range is — to which the reply is then to talk me down to that number.
(And, in the cases where I've done this, I've found out the recruiter's range was well below my own BATNA…)
Plenty of recruiters in the past were happy to give me specifics... I'm unsure why you haven't had much luck.
In the article, the author is referring to internal recruiters who are employed by the company itself.
Two very different experiences there.
There are very few high quality third party recruiters but the ones who are typically are very good but overworked and only serve a specific market. If you are not that market then you are a waste of time to them.
If their response doesn’t come with the answers, or it’s just “let’s have a call to discuss”, I already give up and disregard them as spam.
Can I just add "Leetcoder" as a part time job on my resume? It is amusing how in this industry, your ability to interview will not at all be improved by spending time doing your job unless it is algo heavy. It is a separate job entirely.
Just to theorize: how about having the interviewee write a narrowly scoped toy project that's relevant to the position? (Edit: On site, as a replacement for white boarding.) A JS to-do app for a front-end engineer, for instance. Just a short thing you and the candidate can attack together in a couple hours. The candidate can write "normal" code, google things, clarify requirements, use their own architecture/patterns/style to reach the solution, etc. You could even add/change a requirement midway through the session, too. That would be realistic, and test for brittleness (and maybe be mean).
I don't interview people, so this might be hopelessly naive, or maybe untenable for some types of positions. But that interview process strikes me as a far more representative microcosm of an actual job than regurgitating LeetCode solutions or hardcore algo arcana.
Unless your hiring pipeline is absolutely perfect (you pretty much get great candidates all the time and almost no bad ones) this doesn't scale at all.
Interview processes are designed mostly for the employer, not the candidate. That's just the reality.
On the other hand, something like a homework assignment is typically good for a single company, and if you fail, it's time and effort and emotional energy down the toilet.
Are extremely prestigious or have compensation clearly above market rates.
Candidates only have so much time to dedicate to homework so they will sort companies and work on homework assignments from top to bottom.
Homework are easy to grade (some of that can be automated!) and low commitment from the employer side. But that low commitment sends a signal that the candidate isn't really valued.
Having an on-site with engineers sends a much better signal as it tells the candidate he's worthy of discussing with a real engineer on company time rather than some gradings software.
Of course, if your recruiting pipeline is very poor (low signal to noise ratio, majority of applicants can't code) then sure, weed out with a homework assignment.
I get that it's not very real-world representative, and that's why homework is used instead by some companies.
Maybe the answer is to give the applicant a choice? Either be prepared to convince me you know what you claim, or demonstrate it with a take-home problem.
Personally, I'd prefer a day of in-person-pair programming as part of the interview. I'd get a better feel for the team and their workflows. If it's a total horror show, it's good to know up front :)
I prefer to have multiple short interviews with different engineers rather than a single multi-hour long one with only one engineer. You get better feedback and it helps against bias.
Not only that but a "toy JS app" implies the candidate knows JS at all. If it's college recruiting, you are better sticking with algorithms since you know that they know it.
Watching folks make something -- for any significant duration -- is perhaps a better estimator of a candidate's genuine job ability than testing how well they approximate an algorithm textbook. Well...that's the assumption, anyway.
Of all the companies I have worked at, this was by far my favorite interviewing technique. But, I think it works best when you pair with the candidate. So if pairing at your company is not done, it might not be a good fit.
I don't understand - what is the point of you interviewing them if you aren't there to judge them? What are you doing it for then?
The more prestigious the employer then the less forgiving they are on your shortcomings.
...isn't that judging? Making a judgement on whether a candidate is coachable is judging isn't it?
The use of the term "not judging" is a bit strange, without further context.
Judging whether a candidate is coachable, their thought processes relevant to the job, understands the ideas etc is what the interview is for, you're right.
But "I'm not judging" doesn't refer to that. It refers instead to the concept in the word "judgemental". Some definitions of that are "having or displaying an overly critical point of view" and "thinking, speaking, or behaving in a manner that reflects a critical and condemnatory point of view".
That's the difference between "that interview didn't go well" and "you are a bad programmer." One's a major blow to self confidence, and the other's a bummer. It's also a helpful mindset shift for both the interviewer and the interviewee: both of us are working together to achieve the goal of proving your capabilities. My job is to give you as many opportunities as possible to do so.
I think it's because most interviewers consider people that failed their interview bad programmers.
You may not care whether I value you as a person, but at that point, that's your problem and not mine.
I'm not even exaggerating, I believe this is a major source of strife in modern societies.
They filter for general problem solving skills. Whether you acquired those skills through a degree, self-study, a week of leetcode or 3 months of leetcode will be up to your individual background and aptitude. It's a hiring process - filtering for something is the whole point. Personally, I prefer being tested on more general stuff (like algorithm problems) over most of the alternatives.
The way to pass a leetcode interview is to know exactly what the interviewer is asking and then pretend like you've never seen this problem before. Then you amaze them by pulling a rabbit out of a hat. We are all a bit dumber for putting up with this charade.
Not necessarily saying you're wrong, at least not when it comes to general trends, but nonetheless this definitely needs a citation. Is there really that much of a correlation between 1) general intelligence and 2) happening to find the "trick" corresponding to a typical tech interview problem?
Whiteboard interviews are used, not because they have a lot of relevance to the job, but because they're a hard-to-fake indicator of high intelligence. Somebody who shows a lot of mental fluidity with complex data structures, almost assuredly can quickly master any specific tech stack. Even more so than a less intelligent person with years of experience in that specific tech stack.
It's the same reason that the military selects infantrymen based on word synonyms and fast mental arithmetic. What does that have to do with loading a rifle or marching in formation? Not a whole lot specifically, but whenever they've lower the intelligence standards, the results have been disastrous.[1]
There are other important qualities for certain. Honesty, resilience, hard work, enthusiasm, being a team player, reliability, etc. But almost all of those qualities are easy to fake and hard to assess in a 30 minute conversation. People who are hired on these qualities, are usually tapped from a pre-existing network, not selected from the recruiter funnel. If you've only got a half hour to choose a candidate, then pretty much your only reliable option is test their intelligence.
[0] https://psycnet.apa.org/doiLanding?doi=10.1037%2F0022-3514.8...
That's not an argument that you can eliminate test anxiety, but certainly if we can reduce it without destructively eliminating the high value candidate pool we should do so.
If your company only hires above the 95th percentile but their method for finding that quality cutoff is heavily skewed towards a certain demographic, in the long run that company may well perform worse than a company that hires at the 80th percentile but without the demographic skew.
From the data I've seen made public, FAANG are usually more diverse than other companies.
I guess if you make the test hard enough, always change it, and add some unhealthy dose of suspicion over the candidate's behavior, you can maximize that ratio. But I'm not confident FAANG even looks at it. It's much more likely that they just postulate that a hired employee is a competent one and go on with their day.
From the candidate point of view, of course, things are very different, and the negative results are much more important.
And for the interviewer to not arrive with the expectation that you will pass the same hazing ritual they passed to deserve that big paycheck?
It’s been a long time since I interviewed at a FAANG but I don’t think my whiteboard mojo played much of a role. It was more down to my personality fit with the interviewers, and the correctness of my algo answers. Which were still pretty softball way back then.
Everything I’ve read and heard since then makes me think it’s much more about those things now, and even less about general mental agility.
The fact that they aren't trying that, and are instead attempting to get a measure of coding ability, suggests they don't really believe in the approach.
Administering an IQ test would be legally risky and could have a disparate impact on protected classes.
Griggs v. Duke Power Co.[0] is the Supreme Court case on this topic.
I just have a problem suggesting learning this one set of skills really boosts my fluid intelligence. Im probably just as intelligent as I was before.
But I do get the cooralating signal as a cheap, low false positive approach to selecting good candidates.
Surely you realize large companies are full of people whose friends just told them what the questions were going to be? Memorizing 4 problems is still easier than cramming 40.
By now it mostly correlates with effort spent preparing. There's dozens of web-sites, companies, consultants and message boards where one can train for those interviews. Whiteboarding is a skill like any other, it can be trained, faked, etc.
"But almost all of those qualities are easy to fake and hard to assess in a 30 minute conversation."
Perhaps it's not possible to assess somebody's future job performance in a 30m conversation.
The ASVAB iirc was designed to determine critical thinking and mechanical skills. If you aced it, you either studied or shouldn't be in the army.
So to be clear I'm saying: interview at companies you don't like until you get an offer.
THEN rush the recruiters at companies you do like to get you scheduled quickly, because you are holding an offer and they don't want to miss out.
This lights recruiters and hiring managers on fire. It makes sure you have practiced enough to succeed. It destresses the interview for you since you have a backup.
It is the ultimate and most powerful interviewing technique.
Not always. Sometimes it has a repulsive effect. Like trying to score a first date when you're already flaunting the fact that you're engaged to someone else.
In what universe is this an acceptable analogy for anything?
Edit: Make sure to include the quote.
Also your analogy is wrong - you are suggesting to go interview after you accept an offer, which I agree is off-putting.
I am suggesting to go interview after you receive an offer but before you accept it.
So, I agree with you that it takes some luck. But good strategy makes you ready for whatever luck happens. Play backgammon, not chess.
Yes, I agree that attempting to schedule things in this manner is better than not, should you find yourself able to do so. But, I don't agree with the parent comment that it is "the ultimate and most powerful interviewing technique". Scheduling by preference is moot if (1) you don't have a resume/background that lands interviews in the first place and (2) you don't have the chops to be successful in technical rounds.
These threads get depressing real fast.
I've been interviewing for the last couple of weeks and I agree with this. Being a "good" human being, i.e. candid, humble, kind, friendly, seems to be valued a lot more than what I thought before.
At the end of the day is people working with people, and the more humans that interactions can be, as opposed to a rigid, dry act, the better.
At least, that gives an idea of the company and if it's a fit for me.
Life is too short to work with assholes if it can be helped.
I'm not an expert, but this can be a really slippery slope to implicit bias creeping in to your hiring decisions, especially if these traits are outside of your area of interview/expertise.
Example: My workplace has a great deal of change, bordering on ambiguity. We need people who can deal with that and thrive in that environment. So, my interview questions aim to find out if the person is going to thrive in an environment where they might have to find their own way, or if they are the kind of person who likes to take directions and stay in a specified lane.
In this case, adaption to change is part of our culture - you're either a good fit or you aren't.
"Did their solution to FizzBuzz coded within 20 minutes produce the correct output?" has far fewer mines than "did they communicate clearly throughout?"
I've interviewed candidates who will write the equivalent of enterprise level fizz buzz [0] and get to a correct solution, and candidates who will write much simpler code, but not quite solve the problem (it's a longer problem than fizzbuzz). I feel like I get better signal off the latter, as we can spend more time discussing their ideas, Vs writing boilerplate.
[0] https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...
Furthermore, I would bet that in the long run, selecting for soft skills helps drive down real observed implicit bias. (People with better soft skills are probably better at managing their own implicit biases.)
I think determining whether the candidate is kind of a person that I would like to work with in one team should be everyone's area of interview
There's a difference between 10 years of experience and 10x one year of experience.
What I meant is that I've met senior engineers who were senior by virtue of having spent a long time in the industry but not because they were any better than a fresh grad.
Also that some seniors simply stopped learning at some point, which is pretty bad for the majority of dev roles. They won't learn for the new role and push whatever they used at last N roles because that's all they know.
In reality, I think a surprising amount of bias goes into "tech screening", maybe even moreso than evaluating "soft skills." If you're asking random engineers at your company to conduct tech screens, the odds that those engineers are emotionally and mentally reflective enough to be fair and bias-free in the questions they ask and the solutions to those questions are very low. This is why so many places struggle with tech interviews that feel like debates. Engineers dislike candidates that do well on the tech portion of the screen because those engineers feel it is a competition that they must "win". I've seen this time and time again at FAANG and non-FAANG. Random engineers from a team should not be assessing candidates, pretty much ever.
Or these days, possibly the people with excellent webcam setups?
"Life is too short to work with assholes if it can be helped."
Versus just being able ace through leetcode problems - that's a more objective criteria a candidate has more control over.
Personal anecdote. I interviewed at a FAANG, got rejected. They actually offered feedback, and one of the key reasons I apparently got rejected was that "I asked too many (clarifying) questions" about the leetcode problem.
Fast forward a year, I retry. I take the above feedback to heart, and refrain from asking too many questions. I get rejected again, and given feedback. One of the reasons given? "I asked too few questions".
> I apparently got rejected was that "I asked too many (clarifying) questions" about the leetcode problem.
> I get rejected again, and given feedback. One of the reasons given? "I asked too few questions".
It sounds like they didn't like you _personally_. If the rejection reason wasn't due to technical or behavioral mismatch but a fake reason like the ones above, it's the often the problematic "Airport test" (ie. They don't want to be stuck in an airport with you"reason).
And to be clear, I think it's wrong to reject candidates because you personally can't think of "being friends" with them. It's unfair to both the candidate, but also the company as it misses out on great engineers.
Humility and earnestness can go a long way. A big ego never helps.
One striking example was when I solved the coding problems posed to me in 15 minutes out of the 45 available, the interviewer said "that's great, I don't have any more questions, please use this time for you to ask about the company" and then the recruiter told me I was rejected because I did not do the coding part well enough.
That's terrible behavior from the interviewer. Did you try raising this with your recruiter?
You can come off as the most awesome person to work with, but they'll typically reject you if you can't solve the leetcode problems to whatever minimum standard they're expecting.
Amazon in particular, I had told the interviewer that my day-to-day was in C#, but they continued to ask rigorous javascript questions, of which I could explain most of the answer, but failed to find the very specific javascript answer they were looking for. As a result, I was blocked by Amazon from any further interviews for one year. (And at the time, incredibly disheartening in my job search...)
I accept the failed interview, but this doesn't explain why I was banned for failing a technical interview. Amazon is a big place.
Ultimately Amazon is too big and too popular to listen or care to candidates. They're going to do whatever they're going to do, regardless of what you say, and that'll naturally filter out a ton of candidates.
Interesting thought. I had an interview experience a few months ago that went fairly poorly and it was in large part because the interviewer pressed me on topics that I forwardly stated I was not well versed on (microservices). I ejected from the interview process afterwards because of my displeasure with the interviewer. He was not someone I wanted to work with in the long term.
Interviewing suck. Sometimes it to them, not you.
- do you use Matlab? "No".
- show me where the errors are in these Matlab code samples.
hard to respect an attitude like that.
> People would reply and try to contest our decisions, get frustrated that our responses weren’t specific enough, or otherwise indicate that our feedback wasn’t very productive.
Depending on the company and its location, there could also be legal considerations in not giving feedback.
- In an interview, if you feel it could have gone better, you can ask your interviewer about better solutions. I have literally done this in interviews that led to an offer - when they get to the point where you ask questions, one of yours can be "I don't feel like I got to a great solution here, can you explain what an efficient solutions would look like, or point me to a reference where I can read up on this"?
- You can ask your recruiter for feedback, or just suggestions for general areas that you can improve. More likely than not, they won't respond or will tell you the policy is not to share anything, but you've already lost out on this job, and one polite inquiry is not going to put a black mark on your record at this company.
I absolutely don't get those wide open questions like "How would you design 1-hour delivery?" (real question btw). As someone who has done a lot of consulting work, my instincts are never, ever try to answer such a ridiculously broad question on your own with no context. The answer to me is to budget for several weeks of planning with a broad range of stakeholders to prioritize features and come up with an initial technical approach that we can refine after an MVP launch, but I don't think that's what they wanted to hear.
Quick tip: interviewers often design that kind of question to be intentionally vague. If you get a question like that, they probably want a bunch of questions before you start on an answer. Like, "which part of the process are we designing? The software stack, interfacing with logistics companies, customer service?"
It seems frustrating, but they're looking for people who will drill down and make sure they fully understand a task before they run off to solve it. Asking for clarification is usually a good thing in an interview, especially since the interviewers don't always think the problems through completely.
The lack of feedback seems like a liability thing. A very small number of people will sue because they don't like the reason they were given, so the company decides not to give detailed feedback.
Given how many features AWS alone ships every year, I'm sure Amazon is very familiar with prioritizing features and building MVPs. But you're interviewing for a software engineering position (I assume) and the question is explicitly about design, so project planning is off topic here. It's fine to mention it in passing, but the meat of the answer should be about the "initial technical approach" that you mention.
Your comment suggests that, due to your consulting experience, you flat out refused to draft an initial technical approach on the spot. That may be wise is other situations, but you aren't here as a consultant. Amazon isn't going to start implementing 1-hour delivery based on your plans. They're asking this question to see you think and work your way through a complex problem.
Additionally, your answer is so vague that it could apply to almost any question ("How to do X?" "Gather stakeholders and come up with an initial technical approach").
People with combative personalities do not avoid conflict, they seek them out.
I think if you read up on the Big Five you may get a more refined understanding of how personality metrics are measured nowadays.
Nothing can save you from getting ghosted, but you definitely should utilize the face time you have to ASK questions, too.
Interviewed at a FAANG last year, failed the onsite. I got called by the (internal) recruiter a few weeks ago asking if I wanted to retry, and he offered feedback he had from my previous attempt. I was shocked - both that he provided feedback, and because my own evaluation of how I did differed from the actual feedback (did better at a round I thought I bombed in). More on this later.
Interviewed at another FAANG, and got rejected there too. Here, the hiring manager immediately gave me feedback before sending me home. Again, surprising.
So are things changing in regards to giving feedback? Usually FAANG leads the charge, and other companies play copycat.
Getting back to the first FAANG, I wanted to punch myself because according to the recruiter, I might actually have been able to get in if I had asked to be considered for a lower level than what they had originally pegged me for. I would have hands down, no hesitation, jumped for joy to be brought in at a lower level. Sucked that no one told me at the time of the actual rejection.
That seems like something the company should initiate on.
"Based on your interview, we think you would be more qualified for this position instead. Would you consider?"
Everyone else, if they bother enough, only sends the standard template response.
Another was that I did well and people liked me, but they realized they actually needed to focus on a different position. This meshed with things I learned during the interview.
Granted, these are the low-risk rejections where giving me the reason doesn't open up the company to anything legally, but it's still appreciated.
I've had good results simply asking the recruiter for feedback. Typically they are able to give me some insight into the process that I wouldn't have been able to guess. In "no offer" situations, it's often "the hiring manager was looking for someone with more experience in X" or something like that. This works best over the phone, since they are apt to tell you more than they would be willing to put into writing.
For that matter, the recruiter is often an underutilized resource before the interview too. There's no rule that the nature of interview questions need be a complete surprise. The recruiter is often able to shed light on who will ask what sort of questions, which can be reassuring and narrow down what you might review before the interview.
although am waiting for their response, regardless of whether i have cleared their "tech" rounds, at this point I dont even care about that interview anymore or their offer (if it did happen) :|
so the fine print is, be attentive in the interviews and see whether "they" really care about you, and if you dont feel comfortable about other side, dont bother!
But why did you bother applying?
None of what you describe seems like it should have been a surprise.
I can’t imagine why you would ever want to subject candidates to that. It’s tiring enough when you’re not on the spot. I’ll typically spend the weekend or days leading up to such an ordeal in preparation, and when a day is over I’ll go home or to the hotel, do a few hours of prepping for the next round and then go straight to bed. Because you’re that spent. It would be ridiculous to expect a candidate to perform well, or show you anything about themselves, when the interviewer gets that busted. Because a candidate would have it much harder, especially if they are early in their careers.
I can’t imagine why anyone would want to subject themselves to those sort of ordeals either. I realise that I’m Scandinavian, and that our interviews and hiring processes are very different from Silicon Valley, but all my interviews have been as much about the company/organisation selling itself to me as me selling myself to it. Well not for my first two jobs, but since then.
In both situations, it's not like you're adding a commodity product to your Amazon shopping card. The matching is non-trivial and both parties have to recognize and commit to the effort-full process.
To abstract your comment all the way out - how many people live well below their potential because they are too lazy or afraid to work and get something they really way?
If dates were conducted like coding interviews — assuming the candidate is a liar and forcing them to prove in detail why they're not — you'd never get a second date. A job is supposed to be a voluntary, mutually advantageous relationship between two parties. So interviews ought to be kind of like dating, where you're trying to be as nice as possible and make a good impression. You don't give tests to a date, you just talk to them, get to know them.
Employers too often assume that interviews are a one-way street, where the candidate wants the job no matter what and will do anything to get it. On the contrary, the candidate can walk away at any time, and the employer needs to woo the candidate just as much as the candidate needs to woo the employer.
I guess I am lucky but I never had (or gave) an interview of the former, so it DID feel like this: "On the contrary, the candidate can walk away at any time, and the employer needs to woo the candidate just as much as the candidate needs to woo the employer."
Hence my comment. It sounds like you've interviewed at some shitty places or maybe underappreciated how much power you actually have.
Surely its the person who gets married and doesn't have to deal with that any more. Its a good reason to stay in a company a long time, like the OP says.
Walk into a first date confident but polite and full of charm and you'll have a good time. Same with job interviews, even the technical ones.
So much of getting a job is a firm handshake and speaking loud and clear.
It tells me a lot about how a candidate will work within a team if they're capable to actually bounce ideas back and forth and explain their thinking, and I've often preferred someone who doesn't get as far but who can show me better communications skills and who seems eager to learn.
- Is the interviewer looking for syntactically correct code, or general algorithmic skills?
- For a warmup, is the interviewer looking for a basic solution, or an optimal solution?
- For architecture walkthroughs, what level of detail is expected?
The extra pressure is definitely unnecessary.
[0] https://hiringfor.tech/2020/03/02/are-you-asking-candidates-...
I like to ask open-ended questions. "I am trying to solve X problem, how should-I do it?". That reduces the rote bias and also checks if the candidate can communicate.
However, one guy told me he now uses the question as his actual interview question because he thinks the way people suffer thru a seemingly impossible problem reveals how good of an engineer they are :D
I would add, these holier-than-thou FAANG interviewers writing blog posts about how to clear a FAANG interview are actually bullshitters. They want to feel good about themselves. So they write.
When push comes to shove, these same interviewers would clear the candidates who've pretty much memorized all the medium-level leetcode problems, but lie during the interview by claiming that they've never seen the problem before in their lives, but just happen to be "so good" they end up solving the whole thing in 30-35 minutes.
P.S.: The non-tech part is not that hard. Just don't be a dick.
This is probably true for junior roles but gets much more important for senior roles or ones where they are testing out your potential to take on greater responsibility shortly after joining.
An answer to a vague behavioral question can make a ton of difference. EG:
Question: Have you ever managed people?
Answer A: Nope, always an individual contributor.
Answer B: No, but at my last job I took ownership of a project that involved coordinating work of 50+ developers, UX people, QA, etc to deliver.
Question A is technically correct and "not a dick" but if the person has it in them to figure out to provide answer B (assuming it's true) they are more likely to get a more senior job and make more money.
I got into interviewing this last year as an interviewer. I used to think (as most people do) that the interview is a confrontation between interviewer and candidate.
However my biggest breakthrough happened when I changed my perspective. Now I see interviewers as detectives, gathering evidence of whether the candidate would be a good hire.
So my advice to candidates is the following: don't think of the interviewer as the enemy. Usually they aren't trying to get you, but help you. And if that isn't the case, you don't want to work for that company anyway. Keep a friendly and relaxed conversation with the interviewer and you'll be surprise how far it can get you.
The interviewers are people too. They get nervous too sometimes. They too don’t want to look stupid when they’re having a conversation with the candidate.
The first learning of interviewer training I try to solidify is that the interviewer is not intended to be the person who “knows the answers”. Candidates have specialized, deep knowledge in the specific areas they’ve worked on. How can an interviewer expect to know more than them?
Experienced interviewers will know that they are there simply to facilitate the candidate in arriving at solutions to the problem.
So yeah be nice to people and all that, but you also must pass the tech screen and the 3-4 Leetcode sessions.
This is the only advice that has ever helped me.
Technical interviewers are unoriginal and looked up and use the top google result on "programming questions for X", especially for niche roles that the company is now just hiring for.
Nowadays leetcode platforms can provide a more randomized set of problems for companies, but many many many teams and individuals will still just recycle.
I recycle answers, which is ironically closer to what I would be expected to do for the company on a day to day basis than an original answer to any academic problems.
That's pretty much why I use Javascript in interviews
Writing on the board or in an online IDE
Its just the gaslighting is annoying, in most contexts that's called toxic. "We don't care which language you use .... ooooh you used Javascript we code in this other thing"
I think it's actually worth noting that you can be a very valuable developer and not remember minutiae.
For example, in the last few days I wrote in C++, Python and JS. Do you think my fingers always typed the right type of bracket to create an array as I jumped between the languages? Who cares.
Nevermind I'm pretty good at backend too with node/python and devops chops...
I need to learn vue and nuxt for applying to a job now, It would take me 20% effort and time doing it in react/next but who cares... not the recuriters or companies..
Just saying that every interview I do / application I go through ends up with my noticing this little feeling that I maybe just am not wired to work for someone else...
Your relationship with recruiters is more complicated and nuanced than the game-theory relationship would lead you to be believe. Maybe I could have gotten slightly better offers if I had used classic hardball negotiating tactics, but from colleagues, other recruiters, and other data sources, it looks like being transparent resulted in me getting top-of-market offers for my job role at the companies where I was interviewing and got offers.
My philosophy is to interact with everyone as if I'm planning to join their team from the beginning, almost as if I'm already a team member. That entails among other things that if you're going to join someone's team then you'll interact with them with transparency and vice versa.
During my recent round of interviews, I shared the ballpark details about all the offers I got and all the companies I was interviewing with with every company I was working with, and I was pleasantly surprised with the results. Recruiters would give me tips like "Competitor X's offer is likely to offer the highest compensation, but here are some reasons you should consider us", or "Offer Y from <other company> is a very good offer", all from recruiters at other companies. If I had been cagey I don't think I would have built relationships with recruiters where they'd share tips like that with me.
I think a no-bullshit approach is refreshing and worth considering. The trick is being high demand as talent -- having multiple offers and being a desirable candidate for employers to hire.
The recruiters that I recently worked with at all the big tech companies, pre-IPO tech companies, and startups were all very professional and I think I only benefited from treating them as partners in the profess of finding the best next job -- because the company and employee are looking for a mutual fit, after all. This resulted in me having a number of great offers (a few where I don't have details yet) that I'm currently in the process of deciding between.
There might be really good negotiators who could do even better, but simply showing that you're high demand in the market was enough for me to get good offers from the companies I was working with who made them.
Should I try to get 10 interviews just for practice before interviewing companies I really like?
As others have pointed out before, interviewing is a skill that can and should be practiced. The best way to prep (except grinding through leetcode problems) is to go to a real interview and practice telling real stories from experience and solving problems in real time under stress. So yeah, I would definitely recommend going to at least a few interviews for jobs that might not be your first choice before going for that “dream job” interview.
It's a move I've considered just to keep my career interesting.
I don't know for sure but I suspect most recruiters make a LOT less than the roles they are recruiting for, since generally the skills to make a good recruiter are easier available than those that make an engineer. If you want to broaden your career while getting more into dealing with humans rather than code, the obvious progressions are engineering management and perhaps product management.
It's simple: Make the funnel full that you don't feel any pressure, anxiety or whatever because you have options. No need for some voodoo advice from OP.
Remember that it's really a conversation, and it goes both ways. They want to learn about you, but you need to learn about them as well. Are these people you really want to work with, and are you the kind of person they want to work with. This means you have to show your full self - honest and open, and expect the same from them.
Some tricks here include making sure to turn it into a conversation, and engage the interviewers - something like finishing up your answer with "and, have you faced that problem, and how did you solve it?" works well to make them think, and engage them. You can then have a discussion about the problem and really allow yourself to show how you think and engage with someone. It stops being an exam/quiz setting.
In a similar vein, you want to answer in a way that shows you've solved the problem, or something similar before, in a real setting. So, rather than just providing the book answer, you can say something like: "Well, that's a similar problem to one I had when I was at X, and we solved it by doing Y, and my responsibility there was Z.". This shows that you were genuinely part of the solution, and can work in a team, and have real practical experience that's worth hiring you for.
I find it helps as well, in both the above scenarios, to highlight the problems you had, and how you overcame them. Especially in a technical field, the majority of what you'll be doing is problem solving, so demonstrate that ability.
Use open ended questions to demonstrate what you're passionate about and know really well. Call it out and explain what in the exercise you really enjoy, then explain your most recent tips, techniques, and things you've been experimenting with. Passionate people come across really well, and it's much easier to talk about something you love, it removes some nerves and mental blocks. It also them demonstrates (again), your capacity to learn, grow, and improve.
All of the above help you bring your humanity, as well as you tech skills, and show you can be a great help and contributor to the team they're hiring you for, and get you away from having to just rote repeat book answers to standard questions.
Finally, some smaller items:
1. If you need a second to think, have a drink. I always try to make sure I've got at least a bottle of water, so take a sip, and it'll give you a minute to think, to breathe and to relax. 2. You can always just say, let me think about that, and ask for a whiteboard, notes, etc. So many candidates we interview don't, and it hurts them. In the past I've taken to pushing people to take notes and write things down to keep their thinking in order.
At analyst events, a former IBM exec who ran one of their major business units would always write on index cards during Q&A. Assuming he was actually writing something, it is a way to avoid the awkward "What was the second part of your question again?" But it also gives you some time to get your thoughts in order,
It’s all Leetcode or bust and anyone telling you otherwise is straight lying to you.
It’s so tiring to continue to see this.
If the “skills” you need to keep sharp are not the same thing as the skills you exercise through your job, that’s a giant red flag that the hiring company should be avoided.
If you’re practicing leetcode or Kaggle in your spare time to pass interviews, you need to stop and realize you’ve set up your goals completely backward and you are actively helping companies to commoditize your labor product and short change you on poor job quality or experience building.
If you don’t reject companies when they try the algorithm hazing crap that has no bearing on the real day to day job of software engineering, you are setting yourself up to fail and burn out, with crappy resume experience and nothing but perpetual leetcode skill to show for it.
I always went on 2 practice interviews before the real interview and it worked.
is this a defensible statement? I haven't seen any research that would lead me to believe that most engineers are introverts.
I'll fall back on my anecdotal evidence of the monthly keg parties that the engineering department threw to counter your example.
Again the statement that most engineers are introverted is in no way defensible and its insulting to try and group us all together like that.
Of course its defensible. From the abstract: "Engineers scored higher on Tough-Mindedness and Intrinsic Motivation; but lower on Assertiveness, Conscientiousness, Customer Service Orientation, Emotional Stability, Extraversion, Image Management, Optimism, Visionary Style, and Work Drive."
https://www.sciencedirect.com/science/article/abs/pii/S09234...
I am also a unicorn - but a different kind. I used to always have to defend being a statical outlier so I know where you are coming from.
I don’t mean the leetcode hoops (etc, though that is part of the game) but once you’re in the door.
It’s a unique skillset that degrades fast, not unlike dating skills.
Yes, that's called an interview. No one is saying there is no need to interview... So you seem to agree that leetcode style questions are irrelevant and pointless?
You don't need technical screenings when just getting through the front door involves passing a rigorous certification process.
They don't in any place in the US I have lived.
If software developers had the kind of exams getting initially licensed, and the ongoing continuing education requirements imposed to maintain their licenses, that regulated professions tend to have (doctors, lawyers, nurses, even schoolteachers), then they probably wouldn’t have every hiring process trying to compensate for the absence of such prior screening.
It's crucial to continue dating while you're in a relationship. Especially a long-term relationship, which can cause your dating skills to become very rusty.
Same with job-seeking, as time passes by I find myself more and more reluctant to "play the game". To the point that I won't proceed with a job process if it requires me to jump those stupid hoops (my 2 last jobs, 3 and 7 years ago I got without a real technical interview, and they were both highly technical). This means that right now jobs that I get will be "limited" to people I know and people who knows me.
As a head of engineering, right now I am trying to convince a good friend of mine (and amazing technologist) to join my team. I wouldn't dream of putting him through the "normal" that other general candidates go through.
Lots of people want a job slightly different to or at a higher level than what they currently do, so they don't get to exercise the skills they will need at work and practice them at home instead.
I don't get why people here are so hostile to people investing their time to try to better themselves and achieve their goals.
One side project I did in my spare time outside of work got me onto my PhD and has literally saved people's lives. People here probably think that's a waste of time and I should have just lazed about instead.
I think the point is that real-world experience often doesn't translate into Leetcode skills, meaning that you have no choice but to devote time to the otherwise-useless[0] skill of solving Leetcode problems. If making a cool side project, etc. was what helped most software developers get better at interviews, "people here" wouldn't be complaining in the first place.
Sure, you are learning something by solving Leetcode problems, but not anything useful[1] except in the artificial world of software interviews.
[0] This is probably heavily dependent on the specific jobs in question—I'm only speaking from my personal experience.
[1] Same as [0].
Before practicing you were worse, and afterwards have improved.
To be clear, it is only one skill in your toolbox
Keeping your communication and presentation skills sharp will not just benefit you in finding a new job, but also in advancing where you are, but you're rarely fired if you fail to improve at it.
These can be assessed completely without whiteboard quizzes.
Hence the advice in the article to actually practising interviewing, and why the article does not focus on whiteboard quizzes.
If you're junior, and you can't tell me anything interesting about the work you've done in the past, but can at least write some code quickly to solve some sample problems, you've at least shone something.
If you're pretty experienced, though... not having much you can talk in depth about is a bigger flag.
shone: A bright light was shone on the target shown: The curtain was pulled back and the object was shown for all the visitors to see
Hope that helps.
I think the high wage allure of those companies only applies to very junior engineers. Once you have 4 years of experience, if you’re good, lots of places will pay FAANG levels of total comp, and most won’t put you through leetcode hazing or stick you at the back of a thousand-engineer wait line for interesting projects.
Your technical skills no longer matter? So someone without technical skills, but the humility and willingness to learn is what they are looking for? Is that why these companies want CS graduates? Is that why they run interviewees through technical quizzes?
How about technical skills are just as important, but also are humility and willingness to learn? How about they were always important? Since when were humility and willingness to learn not important in the tech industry? The guy just rehashed industry interview talking points that have been around forever. The only thing new in the articl is "technical skills no longer matter. Which is nonsense.
Also, nothing more humble than bragging about getting offers from google, microsoft and stripe. That headline screams humility.
I rather hire someone with wisdom across multiple areas than a bleeding edge expert in few, very narrow specialty.
In my experience, a group of generalists will often deal better with a problem than a group of specialist.
That is a skill a lot of developers practice way too little. It's also a skillset that is increasingly valuable if you want a promotion.
It's interesting how so many of the responses here assume that the skills people should keep sharp are narrow technical skills. I'd expect a developer to keep their technical skills sharp as part of their day to day job. That's not the most important reason to practice interviewing; the most important reason is to know how to sell those skills.
I know lots of techies dislike having to know to sell themselves, but the reality is that hiring managers can't read minds, so selling your skillset is part of the job, but one you don't use very often in many jobs.
Example, game developers and financial systems engineers have very little shared domain knowledge and would require a huge amount of context switching on the order of months.
Mobile engineers also rarely want to work on server code. The tooling, the languages, the UX, they don’t even intersect on a vin diagram. Tools like react-native try to work around this discrepancy, but it’s few and far between.
It helps to understand what their job is exactly (and their success metrics) depending on where you are in the process.
For example, early on you may be dealing with a sourcer whose job is to fill the funnel with qualified leads - while later in the process you may be dealing with someone whose job is to close the deal (get you to accept that offer).
Communication is key. Do not hesitate to ask for advice, for guidance every step of the way, and ask how you can make the process easier - and it will become easier for you.
The interviewer wants to get to know you, not the interview you! They want to understand what it would be like to work with you and how you tackle new problems. It is therefore of very little use to them if you just have boilerplate answers to throw back at behavioral questions and/or if you already know the answer to every technical problem off-hand. Assuming your job will involve creative problem solving struggle, displaying some of that in the interview is a bonus (although it's of course up to the interviewer to tailor the problems accordingly). You probably won't be rejected for doing too well on the technical part, but don't hide your personality and technical aptitude behind walls of preparation.
> "Remember, never let them see you sweat" Vince told me. But when the stakes are low and you’re having fun, who sweats?
This can backfire. It's great if you enjoy tackling the interview problems, and sincerity is great, but indifference is not a good look.
> And as an interviewer, I can attest: sincere interest is always a good sign.
Fully agreed.
When people give the advice, oh well you need to be willing to learn? That's not advice for an interview - when you arrive on your first day you actually need to be willing to learn.
If that was the case then the Google interview would have a 100% success rate, when in reality it is ~0.2%.