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.
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.
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.
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.
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?
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
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.
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.
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.
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.
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
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.
"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.
Usually that comes with the offer letter, or comes with the numbers that the recruiter reads to you before the offer letter.
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)
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.
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.
Why would I even bother giving them a number if they dont do it first? My way of saying, dont waste my time.
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.
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.
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.
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.
"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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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?
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.)
"Did their solution to FizzBuzz coded within 20 minutes produce the correct output?" has far fewer mines than "did they communicate clearly throughout?"
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
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.
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?
There's a difference between 10 years of experience and 10x one year of experience.
"Life is too short to work with assholes if it can be helped."
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...)
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.
I accept the failed interview, but this doesn't explain why I was banned for failing a technical interview. Amazon is a big place.
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.
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").
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?"
- 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.
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.
> 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.
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.
Nothing can save you from getting ghosted, but you definitely should utilize the face time you have to ASK questions, too.
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.
Everyone else, if they bother enough, only sends the standard template response.
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.
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.
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.
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 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.
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.
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.
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.
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.
Before practicing you were worse, and afterwards have improved.
To be clear, it is only one skill in your toolbox
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].
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.
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.
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%.