Live data from Hacker News

Microsoft changed how it interviews software developers

businessinsider.fr

281–290 of 348 posts

Re: Microsoft changed how it interviews software developers

#281

Dogfooding their process is going to give them adverse results here: Microsoft is paying them to take all the time they want, but good candidates won't be so willing to spend so much time. Already, they're up to a full day of interviews, which is ridiculous. One of the worst parts of current FAANG interviewing is how long it takes to get to the day of interviews, needing to take off from work to attend the interview…

Realistically your not going to schedule interviews in the evening unless its a tap on the shoulder interview for senior roles

Any serious interviews will take a day extra traveling, your prep time etc - I agree about having 4-6 interviews in a day is just stupid.

Re: Microsoft changed how it interviews software developers

#282
post #206

Earlier quoted context omitted.

Why do you assume that the person is lying? Why do you start your relationship with your new co-worker on distrust? There is a way to weed out the liars - you hire them and then when it does not work out you fire them. You would be astonished how little people lie on their CV. They may exaggerate claims - yes, that is why you gave them a call in the first place. But then again you exaggerated your claims in the job p…

> There is a way to weed out the liars - you hire them and then when it does not work out you fire them. In my experience, firing someone takes multiple months. Months in which they are mutating the codebase (with review, but it's a time sink that shouldn't exist for a decent senior), influencing other engineers, etc. Passing on a good candidate is cheaper in the long run than hiring a bad candidate. Or said another…

I am assuming the you mean the USA I would suspect not months in the case on NCI Non Culpable Incompetence.

Don't most companies have a probation period these days.

Re: Microsoft changed how it interviews software developers

#283
post #234

Earlier quoted context omitted.

Why do you assume that the person is lying? Why do you start your relationship with your new co-worker on distrust? There is a way to weed out the liars - you hire them and then when it does not work out you fire them. You would be astonished how little people lie on their CV. They may exaggerate claims - yes, that is why you gave them a call in the first place. But then again you exaggerated your claims in the job p…

I think you're ignoring that hiring someone onto your team takes a long time and significant effort. Say you're allowed to add one person to your team. You interview 50 people and decide on the best candidate. Then you spend the next 6-months waiting on lawyers, processing visas, moving their them and their family to the US, paying for their initial housing, etc. Might not be an issue for a small company in France th…

You should have a short list of only two or three you actually interview

Re: Microsoft changed how it interviews software developers

#284

Dogfooding their process is going to give them adverse results here: Microsoft is paying them to take all the time they want, but good candidates won't be so willing to spend so much time. Already, they're up to a full day of interviews, which is ridiculous. One of the worst parts of current FAANG interviewing is how long it takes to get to the day of interviews, needing to take off from work to attend the interview…

I very much disagree with you: the more experienced the candidate is, the more the interview is about the company and the work environment, not just the candidate. I.e. it is a two way street, and the candidate has to decide in the end whether he/she wants to work for that company or not. There is simply no way a 1 or 2 hour interview can provide this information - this is why you need more time, and this is why I do think the process described in the post is a great way to interview.

This may not apply to all companies or situations, but for a Microsoft-sized organization this is the way it should be done.

Re: Microsoft changed how it interviews software developers

#285
post #189
post #124

Earlier quoted context omitted.

I've interviewed and been interviewing for over a decade. I have had the displeasure of interviewing many people who have very impressive resumes yet when asked how they would judge their skillset in an area, and being told from them that they would say "expert", being shown exactly the opposite when it came time to answer some questions in that area. One data point... Senior engineer that founded the local java user…

Totally reasonable response. However, it seems like we're on an endless loop with this discussion. People talk about how they need technical interviews because someone who looks good on paper can't code reverse string, or write a basic join. But here's the thing, absolutely none of my technical interviews have involved anything remotely this simple. They are "find all matching matching subtrees in a binary search tre…

Did anyone stop to think that maybe, just maybe, in the allotted time there simply isn't enough bandwidth to accurately answer the question of whether the candidate can do the job and will be a good fit and that no matter what strategy you try that perhaps this is an optimization problem for which there is no good solution.

Like this is it. As good as it gets.

I actually think all this back and forth, chopping and changing, people arbitrarily weeding companies out, companies arbitrarily weeding people out is providing just the right amount of randomness for everyone to wind up somewhere.

Hiring is mostly random.

Re: Microsoft changed how it interviews software developers

#286

Earlier quoted context omitted.

Again, always? If they buy the company that you built specifically to get access to you, do you think you'll still end up getting screened out by some junior dev on a whiteboard? All policies have exceptions. Your goal is to be exceptional.

Yes, always. It is company policy. Google takes its standardized interview process more seriously than any other company I've heard of, except maybe Palantir.

So, you're telling me they made Vint Cerf do a whiteboard interview?

Re: Microsoft changed how it interviews software developers

#287
post #266

Earlier quoted context omitted.

One company wanted approached to interview me for the position of a "scientist". Their initial step of the interview process was to spend 4-6h on some "challenge" they designed. I told them, I can't spend 4h of my time on the 1st step where I have no clue what my hiring manager even does! I made a counter to their proposal as all my research projects are publicly available. My counter was similar to your proposition.…

I can share with you one hiring insight I have that goes against your sentiment. I've been hiring for hedge fund research roles for the last three years interviewing ~30 candidates over that period. What I've learned is that it is a very weak signal to talk to candidate about "their research" unless it's immediately and directly applicable to what we were doing as a company, so that we can talk about it as equal expe…

The upside of asking candidates about their research is it does a good job of verifying what their contribution is in often highly collaborative environments. Too often I've seen candidates who've worked on super exciting stuff, but not actually been the key contributor. This is way more common in junior roles though.

Re: Microsoft changed how it interviews software developers

#288
post #254

Earlier quoted context omitted.

I understand the class of rebuttal you're invoking here, but reversing a string is extremely easy - with or without a library. This is not an academic problem designed to see if a person can study prior to an interview. This is a first pass question designed to see if a person is even acquainted with basic programming. Any such question you could devise would be similarly patronizing or orthogonal to the exact work d…

> iterate through the string backwards What about multi-byte characters?

That would be an excellent question to ask during an interview.

If you were interviewing with me, I'd ask you to do the (usually expected) ASCII/array-of-graphemes version first. If you did that, you'd pass, and get a positive shout-out in the feedback session for asking about multibyte chars.

If you, after solving the array-based form, had some ideas or even working code for how to handle multibyte characters directly, without falling back to the standard library of $language's idea of "what is an iterable character-equivalent unit in a string", and demonstrated similar insight in your other interview problems, I'd give a positive shout-out with the addendum that we might be interviewing you for the wrong (too junior) position.

In my experience, most people don't ask about multibyte chars. That's fine, if they solve the problem. It's not a positive or negative. If an interviewer is building questions with hidden "must-ask" gotchas like that, I think they're doing themselves and their candidates a disservice.

Something interesting does happen occasionally when candidates do ask about byte-width (or equivalent less-common but still very important gotchas like pointer/word size, endianness, etc. in relevant problems): some people ask the question, solve the naïve form of the problem, and then offer some thoughts as to how they'd handle the broader multibyte case. But some other people act as if knowing that gotcha means they won't or shouldn't have to continue solving the problem. I've had candidates tell me that they "figured it out" and wanted to go on to the next challenge at that point, without writing a line of code. I've had candidates tell me flat out that writing non-Unicode aware string processing algorithms was unrealistic and a waste of time, and that they wanted a problem that was more real-world or suited to their level of skill. Those things will also get you a shout-out in the interview review session, but not the good kind.

Re: Microsoft changed how it interviews software developers

#289
post #265

Earlier quoted context omitted.

I understand the class of rebuttal you're invoking here, but reversing a string is extremely easy - with or without a library. This is not an academic problem designed to see if a person can study prior to an interview. This is a first pass question designed to see if a person is even acquainted with basic programming. Any such question you could devise would be similarly patronizing or orthogonal to the exact work d…

>>Then declare a new array and iterate through the string backwards, appending each character to the new array. When you're done, collapse the array to a string. a. You can't iterate a 'String' backwards. You need to know the length first. And that requires traversing the string forwards at least once. b. Once you reach the end you are wasting the effort of revisiting the elements, since you visited them already once…

> a. You can't iterate a 'String' backwards. You need to know the length first. And that requires traversing the string forwards at least once.

That's not at all true in many languages. If a candidate asked "is this string's length known without an O(N) operation on the number of characters in it?" (or knew the answer for the default string constructs in the language they were using for the problem) I'd consider that a positive indicator. If they said what you just said, without consideration for the context, I'd consider that a negative.

This is not a case of someone expecting a given "cookie cutter" solution. Interviewers who do that are doing themselves and their candidates a disservice. This is a case where statements like "I know how strings work because I know how they work in $context" where $context is not what the interview expects you to work in will make a bad impression.

Re: Microsoft changed how it interviews software developers

#290
post #202
post #196

Earlier quoted context omitted.

Yup... and I don't know, for someone who has "300 people" worth of interview experience, you sure don't seem to be demonstrating in this thread the sort of level headed temperance and soft skills I would expect. I'm joking. (sorta) I'm glad to hear that you tailor to the resume, that's actually better than most and my favorite approach. But if I had a dollar for every time someone walked out of an interview with a br…

My interview covers coding, data structures, algorithms, system design and data modeling. I attempt to tailor to the candidate, but there needs to be some level of standardization to be able to justify to the recruiters why a candidate didn't proceed. Just because a candidate fails or falls short in one area doesn't mean they are cut, but it's a pretty large red flag if a candidate purports to know something, both on…

Do you allow candidates to use their normal workflow (which is dependent on access to Google, github and q&a sites) or are we putting people in an idealized workflow where the dev has to know everything? I think many developers and interviewers think using Google and StackOverflow is a sign of weakness. It may or may not be, but it is normal in many developers workflows.

Thoughts?

Post reply on HN