Live data from Hacker News

Microsoft changed how it interviews software developers

businessinsider.fr

161–170 of 348 posts

Re: Microsoft changed how it interviews software developers

#161
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…

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…

> Why do you assume that the person is lying?

There was a blog post "Adventure in the Low Status of Software Engineers" by Michael Church (apparently taken down now), basically if you're interviewing for "low status" positions you're assumed to be a fraud but for "high status" positions (VP-level) you're assumed to be a great candidate even if your resumes are almost identical in both cases.

Re: Microsoft changed how it interviews software developers

#162

Earlier quoted context omitted.

I must admit I didn’t figure that one out till I saw the solution which was a “oh duh” moment. I don’t think i would have ever stumbled upon it without lots of hints during an interview.

The constraints, if correctly stated, can help a lot to figure what to do if you take a look at them closely. In constant memory there's not that many things to do, a single pointer clearly won't be enough as you can't recall if you already visited the node or not, so `K>1` pointers must be used. If any two pointers moved at the same pace they would be duplicated and the second won't give any information. That and th…

I don't think it is a very good thought problem because I think very few would figure it out unless they have encountered the algorithm or a similar one before.

It is one that a lot of people will go "Aha, of course" when they hear about it but not figure out themselves.

Re: Microsoft changed how it interviews software developers

#163
post #152

Earlier quoted context omitted.

> Couldn't code a simple reverse string algorithm You were interviewing senior engineers with Java experience and they couldn't come up with Assert.assertEquals("radar",StringUtils.reverse("radar")); I suspect you were actually looking for the implementation of StringUtils.reverse() and if that's the case then you were focused on the wrong skills.

It's the start of the coding interview. It moves on from there. This candidate didn't even ask if he could use Apache commons, and I hadn't yet specified that he couldn't use a 3rd party library. So yes. He failed on many counts. 1) not asking clarifying questions 2) not being familiar with some well-known libraries 3) not being able to implement a basic reverse string 4) not being able to explain whether or not a si…

If you're interviewing for some core, low level algorithm development then fair enough but I suspect if that's the case you could come up with something a little closer to the real life domain.

It's not that I think the question is too complicated, just not the best marker.

In my mind, more relevant questions are ones that demonstrate real life experience in the field. For example, populating a tree of objects in a high level language like Java from a DB where the tree of objects are stored as many to many relationships. You'd be surprised how many times I've run across production code which does this via SQL calls inside nested loops.

This whole infatuation with algorithm questions like you'd find in SICP might be good for new grads but misses the mark for Senior level engineers.

Re: Microsoft changed how it interviews software developers

#164

Earlier quoted context omitted.

If you apply for a full-time software engineering position at a large company today, you will be run through the all-day series-of-hourlong-interviews, even if you are a referral. It is possible for the hiring manager to work closely with recruiter and recruiting coordinator to craft a more customized interview process, but that's rare (and, impossible at a place like Google, which decentralizes hiring). The value of…

You use the term "apply for a job", which might explain the disconnect. The post you reply to isn't about applying for jobs. You don't want to "apply" for things. You want your google VP to be having a beer with your ex-boss and worrying that his pet project was going to fail because they just can't find a guy who can really $X. But your ex boss knows a guy who absoulutely can $X, and just finished $X'ing his company…

The hero / rockstar / ninja narrative rears its ugly head again.

Some people will be at the top of their field. Most people won't.

Re: Microsoft changed how it interviews software developers

#165
post #148
post #147

Earlier quoted context omitted.

I have very little experience with interviewing candidates, but how can you be certain these people were liars? Maybe they simply were having a bad day, or got too much in their head with stress during the interview. There are many factors at play when it comes to a bad performance and it's not always simply that the engineer doesn't know the answer.

I give them a chance to judge their own skillset. After looking at their resume, I have an idea based on the projects they take credit for, what their experience level should be. If what they state lines up with their resume, and they are unable to answer a simple question, with multiple hints and help, then I absolutely assume they are a liar (edit: or delusional, which is even worse. An expectation I have of senior…

[deleted]

Re: Microsoft changed how it interviews software developers

#166
post #152

Earlier quoted context omitted.

It's the start of the coding interview. It moves on from there. This candidate didn't even ask if he could use Apache commons, and I hadn't yet specified that he couldn't use a 3rd party library. So yes. He failed on many counts. 1) not asking clarifying questions 2) not being familiar with some well-known libraries 3) not being able to implement a basic reverse string 4) not being able to explain whether or not a si…

If you're interviewing for some core, low level algorithm development then fair enough but I suspect if that's the case you could come up with something a little closer to the real life domain. It's not that I think the question is too complicated, just not the best marker. In my mind, more relevant questions are ones that demonstrate real life experience in the field. For example, populating a tree of objects in a h…

I asked a candidate to implement an algorithm that reverses a string. I don't see that as a complicated problem. It's literally a for loop, and based on how they choose to implement it you can ask about implications of append vs. prepend, etc.

I didn't ask them to implement dijkstra's algorithm, or even something as "hard" as breadth-first or depth-first search (which I feel any senior that deals with trees should be able to do).

It's a marker of this... Can the candidate solve a basic problem? Once they solve it, can they explain their solution? Do they understand the memory/time tradeoffs they chose? Do they know whether the code they wrote is thread-safe? If you don't feel a senior engineer should be able to answer those questions, to a very basic problem, how do you expect them to tackle something more complex?

Re: Microsoft changed how it interviews software developers

#167

Great, now can Netflix, Google and Facebook do this, too? Not because I want to work in these places, but because they influence everyone else and as a senior engineer in the systems space I feel I shouldn't need to study days or weeks for fizzbuzz sorting algorithms questions that are designed to test comp sci recent grads. I have a proven career, and was never suddenly stumped in a project due to not being able to.…

People lie on resumes. Anyone I am responsible for hiring is going to sit down to a computer with an IDE and solve some problems.

Will you compensate them for this task? Even if they are not hired?

Re: Microsoft changed how it interviews software developers

#168
post #104

Earlier quoted context omitted.

> Professions like laywers and doctors need to go through significantly longer hazing rituals At least for doctors this isn't universally true. There's continuing education/certification, (which you have to do every $period) there's public reputation, there's lots of networking. From what I've seen the interviews take few hours in one day and people usually already know each other.

The hazing the doctors go through is during residency, where they spend years, working like horses, for no money. I'd much rather deal with whiteboard interview bullshit a few times in my life, then go through residency in the medical field.

I'd honestly rather have the "bulletproof tenure" that doctors then acquire after they get through the hazing. Getting laid off every time a spreadsheet jockey in accounting makes a bad projection, is pretty disruptive. (as are the times when a competitor buys your employer just to shut them down, and etc: plenty of scenarios where you lose a job due to no fault of your own are rather the rule than the exception) - Most competent engineers can always get another job. But in that process, you end up with a different commute, or even having to relocate, deal with setbacks in financial plans, and etc. The instability some of us experience is kind of not worth the other perks. And after 20+ years, it's kind of annoying to have to apply as if I'm fresh out of school when I have a solid work record on my resume, verifiable by contacting my former co-workers and managers I've provide as references.

Re: Microsoft changed how it interviews software developers

#169
post #67

Earlier quoted context omitted.

Since you mention Google, my understanding is that you still go through the standard hiring process

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.

The only exception I can think of is being acquired. Which does not trigger the regular interview rounds.

Re: Microsoft changed how it interviews software developers

#170

Earlier quoted context omitted.

You use the term "apply for a job", which might explain the disconnect. The post you reply to isn't about applying for jobs. You don't want to "apply" for things. You want your google VP to be having a beer with your ex-boss and worrying that his pet project was going to fail because they just can't find a guy who can really $X. But your ex boss knows a guy who absoulutely can $X, and just finished $X'ing his company…

In my experience it's rare for even this kind of interaction to lead to an interview process-free result. The exception would be if "the guy" is brought in as a contractor (which these days should probably be your goal), but I've worked with a lot of large companies and HR almost always forces at least some portion of standard FTE applicant evaluation even for "the guy" type referrals.

> The exception would be if "the guy" is brought in as a contractor (which these days should probably be your goal)

Could you elaborate on that? Do you mean being a contractor should be your goal as "the guy" or the hirer?

Post reply on HN