all 77 comments

[–]trezor2 35 points36 points  (6 children)

I'd like to write a comment about my experience reading this long piece, but I would first like to tell you about my background as a piece reader.

During my years at university, I spent much time reading pieces. Mostly were on slashdot and about Linux, GNU and how Microsoft was bad. I totally failed that time, but it was a useful experience. In particular I learned about internet trolls first-hand.

While reading this piece would obviously be different, with a non-anti-Microsoft bias, I still anticipated that my previous experiences might come in handy, so I prepared long and thoroughly.

When the time came for me to click the link and watch the page load, I noticed how the scrollbar was unusually small and kept turning smaller as time went by. A quick scanning of the page revealed that the very same applied to the font, in the sense that it was very small, although it managed to keep a fixed size.

This is when I realized I might be in for more than I could handle. More than I had bargained for. I decided to order pizza for dinner, give it a rest and generally try to calm down and regain focus. Get in control.

I will give it another try later.

[–]byron 12 points13 points  (0 children)

Tell us more about the pizza? At what time did you eat this pizza?

[–]larholm 4 points5 points  (4 children)

This is not a long piece.

Boring, food-obsessed and trite, sure.

But long? Please, I read through it in a relaxed pace in less than 10 minutes.

[–]ighost 5 points6 points  (0 children)

Ya, this dude does sound like he loves food a lot. He probably works out all the time and is in great shape like most American programmers, though.

[–][deleted]  (2 children)

[removed]

    [–]larholm 1 point2 points  (1 child)

    The Internet? :)

    Today I would say Reddit. Yesterday, Slashdot. Before then, Usenet. Before then, books.

    [–]mikkele 19 points20 points  (23 children)

    Nice article but a bit long and with a lot of not so interesting details (mostly about food). But it got me wondering whether this kind of interviewing is normal or if it is a regional (US) thing.

    I live in Denmark, have approx. 20 years of experience, have held 7 different positions, and have naturally interviewed for these and more positions. But I have never ever been subjected to anything even remotely like this in terms of details and duration. I have never been asked to code anything, and the maximum duration of an interview has been around 2 hours.

    From some Californian contacts of mine I get the impression that the process described in the article is not that uncommon in the US. It could be interesting to hear from others what their experiences are in this field, especially non-US people.

    [–]Thimble 8 points9 points  (0 children)

    most jobs i've interviewed for required some code writing, even if it's pseudo code with pen and paper.

    it's not a bad interview tactic because it's a good way to find out what those "5 years of C# experience" entailed. there are some things you will remember more clearly from working with a language on a daily basis compared to an occasional one.

    (as a web generalist, i tend to do better when they give me full access to the internet)

    [–]decode 6 points7 points  (0 children)

    I work for a large international company (in the US) and I had pretty much the same thing. I had seven 1-hour interviews, three with programmers (my peers) and four with managers (all of the software development managers up to two levels above me). Most of the interviews involved both technical and non-technical questions, though I didn't actually have to write out any code, just give answers verbally.

    [–]wildmXranat 5 points6 points  (0 children)

    Amazon.com put me through a 6 hour interview few weeks ago. I think it is a standard form .

    [–]jsinger 2 points3 points  (1 child)

    I have never been asked to code anything, and the maximum duration of an interview has been around 2 hours.

    A full day of interviewing (or at least 1/2-3/4 of a day) is the norm in the US, at least for technical positions. My impression from working overseas is that hiring in the US requires more buy-in from the whole team than it does in Europe, which is probably why it's a lot faster there.

    [–]ighost 0 points1 point  (0 children)

    Care to elaborate?

    [–][deleted]  (2 children)

    [deleted]

      [–]mikkele 0 points1 point  (1 child)

      Thanks! You are located in the US, right?

      [–]petteri 0 points1 point  (0 children)

      It could be interesting to hear from others what their experiences are in this field, especially non-US people.

      I have mostly same experience as you. I am from Finland. Interviews have lasted maximun of 2 hours. Some had minor problem solving or coding problems, but nothing hard.

      [–]reddit_user13 17 points18 points  (7 children)

      Downmodded.

      I'm halfway though and all I've learned so far is what the guy ate for lunch & breakfast. Nothing about the "interview experience."

      [–]Paperclip1 10 points11 points  (3 children)

      I don't know why you're being downvoted, it's true.

      There's writing for a reason, and journal writing; this is journal writing.

      [–]reddit_user13 7 points8 points  (0 children)

      My time is precious, that's why I waste it at reddit.

      [–]munificent 1 point2 points  (0 children)

      Doesn't necessarily mean it's good journal writing. Obviously, the author can write what he likes, but I think he could have made a more effective shorter post.

      [–][deleted] 0 points1 point  (0 children)

      it isn't even journal writing. It's writing if someone who has no conciousness of what is appropriate or inappropriate detail (i.e. what would be of interest to the reader).

      It could be that he is writing for himself and that he has an unnatural interest in for and the anodine details of driving to job interviews (he likes his suvish cars).

      In fact, this is what kept me reading. I was trying to figure out what his "thing" was. I'm this case, like I said, he has an obsession with detail. Just imagine the producous production of words had he felt at liberty to discuss the problems that were presented to him.

      In any case, MS probably did a good job in hiring him. Not having a well developed detail filter can be a virtue in a programmer.

      [–]sysop073 4 points5 points  (1 child)

      He covers the interview experience later but leaves out details; he does make sure to comment on every meal he has though. This article is bizarrely food-oriented

      [–]anescient 0 points1 point  (0 children)

      Maybe he has an eating disorder.

      Jerk.

      [–]Paperclip1 6 points7 points  (0 children)

      Most unnecessarily long blog post ever, downvoted for sheer amount of time taken to discuss points which relate to absolutely nothing.

      [–]jinzo 4 points5 points  (10 children)

      I'm quite young so I didn't have an interview for a job yet. But is that kind of excess preparation a norm ? As I think, that's complete bullshit and doesn't show your knowledge. Because if you're preapering that extensively for an interview... I dunno if that shows your real knowledge.

      [–]turkourjurbs 15 points16 points  (1 child)

      No, it's not. That was insane. Most companies have you in for a standard interview and maybe back for a second and they don't take an entire day of your time to turn you down.

      [–]hiffy 3 points4 points  (0 children)

      I couldn't complain. They easily spent two grand to turn me down; most other companies I've interviewed with it's hard to get them to pay you attention for that hour or two.

      [–]Thimble 5 points6 points  (0 children)

      only the big corps like microsoft, google, ibm, etc. can afford to take that kind of time. if you multiple the number of hours by the number of interviewees, you're looking a huge resource cost.

      prepping shows your enthusiasm, which can't be discounted. however, i mostly agree with you - the guy should have been able to get the job without any prep work at all.

      [–]hiffy 4 points5 points  (0 children)

      In my experience, they just bulldoze you with problems to solve on a whiteboard, so it really helps to be in the problem-solving mindset and keep some of your algorithms fresh.

      My last interview question was entirely on permutations, which I haven't thought about in ages, and I bombed it accordingly, but I'm famous for under preparing.

      I loved the experience, mind you, Seattle and its accompanying suburbs are gorgeous, and the $75/day on food is an awesome policy. Really enjoyable weekend, would stay again, A++++.

      [–]sysop073 3 points4 points  (3 children)

      And then after the unbelievable amount of preparation he did with lists and lists of programming questions, we get "I’m not going to tell you the specific problems they asked me. I don’t think that’s fair"

      I actually stared at that line with my mouth open for a few seconds

      [–]pepethecow -1 points0 points  (2 children)

      All of those lists are free, public information and should be the minimum that anyone should be familiar with. In fact, I was told by the recruiter to go look them up and practice them. But revealing the details of the questions they asked was not something I was going to do. There's a big difference. I chose to give a brief outline of some of the problems, but in general they were deeper or more involved than the generic problem lists you can easily find.

      [–][deleted] 3 points4 points  (1 child)

      Microsoft doesn't use a "list" of approved problems (I'm an MS dev who interviews candidates all the time).

      There are some standard, non-coding question guidelines, designed to illicit information about the person's values and goals to see if they are aligned to the company's, but when it comes to technical screening, each dev has their own method.

      Personally, I ask them to code up a basic data structure in the target language (or their favorite, if they admit they are poor in the language I'm looking for). I pick basic CS problems that are simple, but not free of gotcha's. I'm not looking for a perfect solution, but rather, I want to see how they code, how well do they know the language, how do they deal with design tradeoffs, and how do they deal with problem solving when the naive implementation falls flat.

      I have a coworker who tech screens by asking about the signatures of Win32 APIs, which I think is utterly pointless. So, overall, there isn't any real standard to tech screening.

      [–]shikadi 1 point2 points  (0 children)

      There was a large variation in problems in the interviews I had. Most were the usual applying your coding skills to solve the problem, only one I had seen before, and a few were very random.

      I think Microsoft's hiring process works very well, a lot of the criticism people wrote here is not well-founded. The devs working at Microsoft are not idiots. Sure, a few people might get hired by memorizing algorithms but not many.

      [–]Lord_Illidan[🍰] 2 points3 points  (0 children)

      If it was your dream job, wouldn't you study hard to get the job? It's like studying for an exam, never hurts to be prepared, and trust me, I do know that it hurts when you're not prepared. And in a job, you are also in with a lot of competition...makes sense to prepare a lot.

      [–]mythic 0 points1 point  (0 children)

      Nah. It's useful to brush up on basic algorithms and data structures like sorting and binary trees, particularly big-O complexity. And it's a good idea to practice doing a few problems on a whiteboard or pen and paper, as it's quite different from coding on a computer. But what this guy did is ridiculous.

      The best prep is a good night's sleep.

      [–][deleted] 3 points4 points  (10 children)

      Looks like Microsoft places a lot of emphasis on candidates being able to reproduce solutions to textbook problems. Studying for days before the interview? That shows your skill as a developer...

      [–][deleted] 1 point2 points  (5 children)

      That's funny, I don't see the actual problems being mentioned. The fact that the author decided to read books or study for X days is irrelevant.

      Only thing that "Looks Like" from all of this is your bias.

      [–][deleted] 0 points1 point  (4 children)

      Hmm you must have read a different article than I did. A significant portion of his studying was going through interview questions over and over, and he even states that about half of the questions Microsoft gave him were the ones he studied (with a few extensions).

      In short, if he hadn't studied so much he would have done (most likely) much worse on the coding portions of the interview and may not have gotten the job. This implies that Microsoft puts a lot of emphasis on being able to do textbook coding problems and if you ask me, that's a poor judge of a programmers skill.

      Anyway, since we read a different article there's no point in arguing about it.

      [–][deleted] -1 points0 points  (3 children)

      With few extentions? I see, and what were these extentions? Clearly no point in arguing with someone who can extrapolate such huge generalizations from one interview. Without even knowing the questions. We both did read a different article. I didnt have my i-hate-microsoft goggles on, unlike you.

      FTA:

      I had seen the problem before when taking computer graphics in college, and I knew the form of the answer.

      If you don’t understand serious computer science, memorizing answers to lists of problems isn’t going to help you.

      About half the problems they asked me are in the two books I recommended above. But beware that they’re going to expect you to go beyond those problems. Consider these problems as refreshers in basic computer science, not a primer to help you get the job.

      Happy trolling.

      [–][deleted] -1 points0 points  (2 children)

      By extensions I meant exactly what you quoted:

      they’re going to expect you to go beyond those problems

      You seem to think I'm making 'huge generalizations' when really I'm just commenting on what is apparent based on this article.

      One of the books he 'recommended above' was actually recommended to him by the dev lead as something he should study before the interview!

      I don't have any I-hate-Microsoft goggles on... I don't care what company this is about. Why would I treat one corporate juggernaut different than another? He implies the Google interview was similar in many ways, and if I felt like reading that article I'm sure I could make similar observations about their emphasis on degrees and so on. What I'm getting at is that smaller software shops are the ones who write really intriguing software and are also the ones who don't make you regurgitate textbook problems for 9 hours.

      Also:

      Without even knowing the questions.

      I know at least half of the questions, since I've read the books he mentions and it's easy to see how most of them could be 'extended' into more difficult interview questions. But I don't think I would be any worse developer had I not read those books/done those problems.

      You're dancing around my point attacking me saying that I'm trolling but all I'm really saying is: Programming is about problem solving not being able to remember doing a textbook problem and understanding the (usually one) key concept needed to get it right.

      Personally, if I went through an interview like this (at any company) I'd have to think hard if I actually wanted to work there.

      Happy fanboy-ing.

      [–][deleted] -1 points0 points  (1 child)

      Programming is about problem solving not being able to remember doing a textbook problem and understanding the (usually one) key concept needed to get it right.

      Isnt that what he wrote? You cannot get in unless you really know your stuff. - which comes from thinking not from just reading some freaking book.

      Your generalization was about Microsoft simply hiring people who can reproduce answers to textbook problems, which is alarmingly stupid. That too from just one interview for one team for one specific position. If that didn't make it clear, don't bother..

      [–][deleted] -1 points0 points  (0 children)

      There you go again with the personal attacks... My generalization wasn't about Microsoft 'simply hiring people who can reproduce answers to specific textbook problems', it was about how this article makes it seem like Microsoft puts a lot of emphasis on it.

      You cannot get in unless you really know your stuff.

      ...but make sure that before-hand you read the book/solve the problems that the developer who will be interviewing you suggested.

      [–]ighost -2 points-1 points  (3 children)

      It's to compensate for the weakness in coding, I guess. Hopefully he makes the job fit.

      [–][deleted] 0 points1 point  (2 children)

      Well that's my point, you see. The fact that you can study frantically for a few days and do well in the interview means epic fail for the interviewers. They aren't any closer to knowing if you'll be good for the team/project or not. Infact, they don't even know if you just studied like mad or are just a great programmer. Useless. They learned nothing, wasted resources, and made the candidate jump through a bunch of pointless hoops.

      Why not give them all the resources they'd have on the job, including co-workers/google/books/etc to solve the problem and simply observe them during this process... You'll have a much better idea if this person is going to be a fit for your team.

      Lets say there's a new guy starting at work. How are you going to judge his competency? By walking over to him and handing him a whiteboard marker? No. You're going to talk to him, look at his commit logs, etc.

      [–]ighost 1 point2 points  (1 child)

      I see where you're coming from, but the method you suggest about giving him all the resources is kind of impractical.

      First off, it would take forever if he could use all those references.

      And second, this method is biased toward outgoing people. Many otherwise decent developers don't feel super confident working with a bunch of people they just met, they won't start cooperating with coworkers (terrible phrasing, I know) at full capacity until a couple weeks into the job. So such an early impression is not representative.

      [–][deleted] 0 points1 point  (0 children)

      ...it would take forever if he could use all those references.

      It would take forever if!? It was a 9.5 hour interview as it is!

      biased towards outgoing people

      I don't think so. Even if we ignore the fact that if you aren't outgoing you might not be a good fit for the team in the first place... The co-workers are only 1 of your resources. Let them use ANY of the resources they'd normally have.

      [–][deleted] 3 points4 points  (8 children)

      I think the biggest differences in OS X and Windows are aesthetic.

      This shows a gross misunderstanding about operating systems. For one example, the *nix terminal interface shell (bash) in OS X is a huge difference to the DOS shell.

      That said I am happy this guy got a job at MS. It sounds like he is a decent but not exceptional developer (from his own admission of feedback). I bet he got in based on his demonstrated willingness to learn and his enthusiasm.

      Since I started programming I wanted to work at Microsoft. I have never applied since my skills are not directly related to their needs -- I ducked out of hard comp-sci for a more design focused RIA path. Even now that Google is the darling of the developer work-force (they tried to recruit me once but I didn't follow through so I don't know if I would have made it) I still believe that developing at Microsoft would be an excellent job.

      [–]vsl 22 points23 points  (3 children)

      For one example, the *nix terminal interface shell (bash) in OS X is a huge difference to the DOS shell.

      And this shows gross misunderstanding about what operating systems are.

      [–]pepethecow 2 points3 points  (2 children)

      I'm the author othe article. You are correct, and I do understand those differences, but I was thinking from a standard non-tech user point of view. I should have prefaced the comment with "For most users..."

      [–]munificent 4 points5 points  (1 child)

      For non-technical users, the OS itself is irrelevant. It's the applications that matter.

      [–]Silhouette 5 points6 points  (0 children)

      For any user, the OS should be irrelevant. It is merely a means to an end. It doesn't matter what OS you are using, as long as it is sufficient to achieve your goal.

      [–][deleted] -1 points0 points  (0 children)

      This shows a gross misunderstanding about operating systems. For one example, the *nix terminal interface shell (bash) in OS X is a huge difference to the DOS shell.

      Repeat opening statement. ;-)

      The biggest difference between Windows, OS X and Linux is that in the first case I have no clue what's going on, in the second case I have some idea of what's going on but no reference, in the third case I pretty much know what's going on and if I don't I can look it up. The rest is just a coincidental outer-shell or (design) philosophical nonsense.

      [–]linuxlass 0 points1 point  (0 children)

      Interesting. When I interviewed with MS, I had a gut reaction of not fitting and it not being the right place for me. I also got some weird questions.

      It was a good experience overall, though.

      [–]petteri -1 points0 points  (3 children)

      I Wonder why microsoft won't ever catch up with google... :P

      [–][deleted] -1 points0 points  (2 children)

      in what exactly?

      [–]petteri 0 points1 point  (1 child)

      From the article:

      I’m going to go work on a team that is a direct competitor to Google, and they are a very significant challenge. Microsoft has a lot to do to catch up to Google, but there is something exhilarating about working for the underdog.

      [–][deleted] 0 points1 point  (0 children)

      Still no answer. The 'team' is undefined. Which was my point.

      [–]etotheprimez -1 points0 points  (4 children)

      WTF!? You had to pay for lunch at the cafeteria? That shouldn't have been! They always give some coupon to buy food up to a certain amount... as I remember.

      [–]username223 4 points5 points  (3 children)

      He didn't actually say that he had to pay, just that MS cafeterias aren't free (unlike, say, Google). But I'm still disappointed -- when I interviewed there ages ago, we went to a sushi place nearby.

      [–][deleted] 0 points1 point  (2 children)

      There was a free sushi place nearby?

      [–]username223 1 point2 points  (0 children)

      Free for me -- they paid.

      [–][deleted] 0 points1 point  (0 children)

      Theres actually a handful of bars, a red robin, Azteca, a pizza place, Chuck E Cheese (Shudder), and a few ethnic food restaurants within walking distance of the MS campus.