Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Microsoft Businesses

Microsoft's Personnel Puzzle 961

theodp writes "CNET reports on Microsoft's reputation for arrogance in its personnel practices, citing the experience of Arthur Sorkin, who responded to an unsolicited invitation to interview with MS back in 2000. But instead of trying to sell him on the company or the job, interviewers challenged him with a technical 'pop quiz.' Sorkin, who holds a PhD in CS, withdrew his application. During the past year, Microsoft called Sorkin to say it had scheduled a phone interview with him for another job, although Sorkin hadn't applied for it and no one had asked if he was interested."
This discussion has been archived. No new comments can be posted.

Microsoft's Personnel Puzzle

Comments Filter:
  • True on many levels (Score:2, Informative)

    by Anonymous Coward on Thursday July 07, 2005 @05:04PM (#13007776)
    posting AC....

    Microsoft also displays a (surprising in my view) amount of arrogance with it's "Partner" companies. I'm a research engineer at a very large chip company and have been invited many times to internal dog and pony shows where Microsoft presents future plans and projects (such as Avalon and Indigo for Longhorn).

    This assumption that everyone wants to work for Microsoft that was mentioned in the article was also very evident to me in this venue. They believe that everyone wants to use Microsoft's approaches and products, just because it is Microsoft who is backing it.

    Now that may have been true in the 1995-1999 era, but it certainly isn't today, seems many of the upper management is living in the past or is shielded from reality.
  • Re:Why is this news? (Score:3, Informative)

    by Saige ( 53303 ) <evil.angela@gmPL ... minus physicist> on Thursday July 07, 2005 @05:06PM (#13007802) Journal
    Don't bother. The interview has changed substantially since that book was written, and you won't be prepared if you expect all those odd brainteasers and "abstract reasoning" questions or whatever they heck they were. You won't get asked how to move Mt. Fuji, why manhole covers are round, or any of those other things anymore. You might get some puzzles - both work related and non-work related - but nothing like before.

    Instead, be prepared to talk about past experiences and how you've handled various job situations. Behavioral interviewing. That's where it is now.
  • Re:Why is this news? (Score:1, Informative)

    by Anonymous Coward on Thursday July 07, 2005 @05:07PM (#13007816)
    Read the fucking write-up. They solicited him. But then they wanted him to prove he was someone they would want? So, properly insulted by Microsoft's arrogance, he withdrew. And now they have sent him another unsolicited attempt. Microsoft is spamming computer scientists and behaving arrogant when they get a bite. The news is about Microsoft's poor behavior, not how to handle an interview at Microsoft. Again, read the fucking write-up. Your comment contributes nothing.
  • Re:Here I am... (Score:2, Informative)

    by Saige ( 53303 ) <evil.angela@gmPL ... minus physicist> on Thursday July 07, 2005 @05:10PM (#13007851) Journal
    You know, it's not just about the money. If that's all that matters, find somewhere else. I don't want to see such people in MS.

    I love working here. The people are amazing, the area is beautiful, it's easy to get excited about what you're working on, and the culture can be incredible. (more so in some places than others though - I absolutely LOVE hanging out over with the Xbox guys, cause there's always an atmosphere of fun over there)

    And yes, I used to bash MS a few years back. Not anymore though.
  • by Anonymous Coward on Thursday July 07, 2005 @05:23PM (#13008005)
    subtitle; a year with Microsoft on the Multimedia frontier, by Fred Moody, Viking, c1995, documents how Microsoft uses the "quiz" method to interview candidates. I talked with the author (who lives near me) and he described the hiring process as "brutal." A candidate is "tested" with on-the-spot problems by several programmers who give the candidate a thumbs up or thumbs down. The questions aren't all programming, such as "How many people died in Seattle last year?" OK, hotshot, if you're so smart, figure it out. If this fellow is so offended by a pop quiz, thinking his PhD an automatic badge of erudition, then he didn't do his homework very well. This is old news.
  • Re:MS vs. Google (Score:1, Informative)

    by Anonymous Coward on Thursday July 07, 2005 @05:36PM (#13008134)
    Did Google offer a payrate that was $5K lower than his previous salary?

    Happened to a guy I know.
  • by Jumbo Jimbo ( 828571 ) on Thursday July 07, 2005 @05:46PM (#13008223)
    I know two people who, in separate years, applied for jobs with IBM. They both passed the interview, got written offers, but decided to take jobs with other companies.

    A few weeks after telling IBM that they did not want the job, they got letters telling them that their offers had been withdrawn as they had failed to achieve 2:1's (type of British honours degree).

    However, both of them had managed to get this grade of degree, just decided IBM wasn't for them. If it had happened once I would have figured it was a mistake, but twice seems to me that their personnel system can't cope with the fact that people may actually turn down a job with them, and a form letter is sent out by their bureaucracy.

  • Microsoft Interview (Score:5, Informative)

    by bziman ( 223162 ) on Thursday July 07, 2005 @05:50PM (#13008271) Homepage Journal
    Last summer, I had the opportunity to interview at Microsoft after they found my resume online and called me. I must say truthfully that of all of the companies that have called me, Microsoft was the very first one who read my resume and understand what I actually DO and wanted me to interview for a job that actually makes sense for my skill set.

    Their phone interview process was a good mix of explaining what it is they were doing and how I could help, and making sure that I was the right mix of skills and cleverness to fit in with the group.

    I passed that round, and was invited to Redmond to interview in person. I found the whole on-site interview process to be a lot of fun -- I'd heard that the interview process was gruelling, painful, challenging, etc... but I thought it was fun. And shortly thereafter, they offered me the position.

    Fully half the time I've spent talking to Microsoft has been on the topic of what they have to offer me, and it was considerable.

    In the end, I decided not to relocate to Redmond, mainly because I wanted to finish up my BS (three semesters to go at the time, now one more), which I'd been working on part time for eight years, while working as a software engineer.

    So I guess in the end, if you don't enjoy that kind of interview, maybe you're not really qualified, despite your education. There are plenty of places where all the cleverness in the world is worthless, but the skills required to earn that PhD are essential (I can't imagine working in an evironment like that... but hey, each unto their own).

    Personally, I found the whole experience to be very positive, and if after I finish my BS, the PhD doesn't work out, I might be taking that permanent trip to Redmond after all.

    -brian

  • by Anonymous Coward on Thursday July 07, 2005 @06:12PM (#13008494)
    More to the point: given that the vast majority of PhDs must go into industry (since the universe conserves tenure) what, praytell, are you suggesting a CS PhD do out there in the real world?
    Given that your first statement is objectively false [cra.org], why, pray tell, have you been modified as 2:Insightful? As of the last Taulbee survey, 29% of 2002/2003 PhD recipients went to industry, and 63% went into academia.
  • Re:Spam (Score:3, Informative)

    by SeventyBang ( 858415 ) on Thursday July 07, 2005 @07:01PM (#13009025)


    I'd be willing to gamble Anders didn't have to take the test. And if so, as nothing more than a formality.
    Then, via email, they sent me an ACTUAL test to take, which had only 3 questions on it, the first 2 I got right I am fairly sure:

    1.) How to swap two variables (numeric) w/out using the (what I call it) "Father, Son, & Holy Ghost" technique of 3 variable placeholders...

    (This was the easiest, & involved math, & easiest)

    Generally, engine/algorithm I used was/is:

    A=1
    B=2

    (Goal being A=2, & B=1, w/out using C as temp var)

    B=A+B (3)
    A=B-A (3-1 = 2, first swap complete)
    B=B-A (3-2=1, second swap complete)


    You get partial credit for this (in the real world), although most experienced people won't use that technique.

    The reason?

    What happens in step #1:

    B=A+B

    Suppose you have two sixteen-bit variables and you have to swap the variables which have the values 26'459 and 12'371?

    hint: The sum is 38'830. Think about that compared to 32'767.

    It's not just sixteen bits - that's just one example - it'll happen anytime you force an overflow error for the bounds of the variables.


    Just out of curiosity, how old are you?
  • Re:Why is this news? (Score:3, Informative)

    by themoodykid ( 261964 ) on Thursday July 07, 2005 @07:12PM (#13009138) Journal
    Interestingly, only my last interview (of a half-dozen) covered any behavioural questions. Almost all the interviews before that were all technical, coding-on-a-whiteboard type questions. It's pretty grueling, actually.
  • by illumin8 ( 148082 ) on Thursday July 07, 2005 @07:18PM (#13009201) Journal
    Memo to Bill Gates: Even you sir, cannot have your cake and eat it too.

    If you insist on importing massive numbers of H1B visa applicants and paying them slave-labor wages to write code, you'll eventually reap the fruits of this policy. If you insist on outsourcing software development to third world countries just to save a few bucks on developer's salaries, you'll eventually get what's coming to you.

    The IT industry as a whole has been guilty of this. All of the big players: Microsoft, Cisco, Sun, and IBM have taken part in the outsourcing craze and now they act surprised when college students don't want to study IT for fear of being outsourced.

    You cannot have your cake and eat it too. Want cheap labor? Fine, you can have it, but after you've laid off all the highly paid US developers and decimated the IT industry, don't expect to be able to find talented individuals to manage your cutrate 3rd world development teams.

  • Re:CS 101 Questions (Score:4, Informative)

    by servognome ( 738846 ) on Thursday July 07, 2005 @07:21PM (#13009223)
    Considering that PhD's are overqualified to teach CS 101, asking those types of questions are a straight insult.

    Why take it as an insult? Perhaps the interviewer is forced to ask the question regardless of the candidate. It could also just be a test of arrogance, sometimes in the real world you're asked to do jobs that you might consider beneath you. Don't think a manager wants an employee that says "PhD's don't fill out TPS reports"
    Besides if it's an easy question just answer and move on.

    Morons do not get PhD's.

    No, but people with no practical knowledge sometimes do. At least in physical sciences you can spend your graduate career focused on theory and similuation, without any actual hands-on experimentation. I'm assuming CS might have something similar where stuff is just described on paper with no actual coding done.

    And no hand holding will get you that far.

    There are some PhD's who just do what their professor tells them, that's what I mean by hand holding. Doesn't mean the person getting the degree is stupid, they've just never had to think creatively.
  • Re:Why is this news? (Score:2, Informative)

    by Saige ( 53303 ) <evil.angela@gmPL ... minus physicist> on Thursday July 07, 2005 @07:29PM (#13009279) Journal
    Interesting... I remember that I had fun during my day of interviews. Seriously - my nervousness disappeared pretty quickly, and I enjoyed most of the day, talking to people, solving problems, and all that.

    It's the only interview I've ever had where I didn't hate the whole thing afterwards.
  • by aclarke ( 307017 ) <spam@clarCHEETAHke.ca minus cat> on Thursday July 07, 2005 @08:44PM (#13009844) Homepage
    Being asked to take a proficiency test is fine with me, depending on how it's approached. I can think of two different situations from my own experience. In one case, I was asked to come in for an interview. As this was early on in my career, I put on my suit and tie and spent probably 40 minutes driving to the location. I walked in and was handed an application paper and a skills quiz by a bored-looking front desk clerk. Nobody introduced themselves to me, told me they were happy I'd made it, asked how I was or anything. I sat down, looked at the paperwork, and decided this wasn't the sort of place I'd wanted to work. I walked out and never heard back from them again.

    Probably within a month of that, I was contacted by a larger company. I went in for an interview and things went well. Their engineering staff was located in a different city, so I had a phone interview with them and they asked me if I'd be willing to write some code for them. They emailed me the problem and told me it should take me 1-2 hours to finish. It took me 6-8 hours and I stayed up until about 02:00 to do it. When they got my response, they apologized to me as they realized their question was a lot tougher than they'd thought it was, and offered me the job.

    I don't have a problem with proving that I know what I'm doing, ONCE the company has shown that they are interested in me and have a baseline of respect for me.

  • by Anonymous Coward on Thursday July 07, 2005 @10:09PM (#13010318)
    I interviewed with MS in 2000, for an internship (which I eventually ended up taking, although I'm not currently a MS employee).

    I was mostly coding questions (write a C function that reverses the order of words in a string, for instance) or logic puzzles. I think their interview process is trying to get at 2 things:

    1. are you lying on your resume about the fact that you are comfortable writing code

    I don't think MS asks you to write code on the board for toy problems to prove that you're a great engineer. They do it to demonstrate that you are comfortable writing code (a CS degree does not guarantee this by any means). This is a basic "can you work with us" test. There are lots of ways to try to pretend you have this on a resume even if you don't.

    2. are you "smart" in a problem solving/logical thinking kind of way

    From watching the MS hiring process, I'm convinced that their tactic is to concentrate on hiring smart people, regardless of specifics in regards to skillset (this applies only to entry-level ish software developers). They have the resources to train/mentor you and if you're smart enough you'll learn what you need quickly enough. This is what they are trying to get at with the logic puzzles.

    Since intervieing with MS I've had the opportunity to interview people myself for jobs and found that it is fairly difficult to gauge engineering ability and intellect in a day of talking to people. It's easier to judge technical knowledge in a specific area, but judging "brains" is hard. The best you can do is be assiduous about references and get an opinion from someone you trust. If that isn't available (as is the case for lots of new graduates) then what are you going to do?

    I agree that asking a PhD stupid logic puzzles probably isn't very illuminating, and that being an arrogant ass isn't nice. But if what you want is a general software developer where some very specific skill isn't needed, then what the've got going has its benefits.
  • by Furry Ice ( 136126 ) on Thursday July 07, 2005 @10:59PM (#13010570)
    Are you kidding?

    u32 vote32(u32 x, u32 y, u32 z) {
    return (x & y) | (y & z) | (x & z);
    }
  • Re:MS vs. Google (Score:1, Informative)

    by Anonymous Coward on Friday July 08, 2005 @12:00AM (#13010935)
    What position are you interviewing for? Google has engineers for every layer of the stack: hardware, kernel, application, UI, and all the associated support tools that go with it, so the questions you get asked can vary wildly depending on the job or the engineer's background.

    I am an engineer at Google, and we interview a lot of people. The company is growing really fast (you can see it most clearly when hunting for parking or a place to sit at lunch).

    Almost half of my interviews are phone screens. Your first phone screen sounded like the recruiter asking questions, and not an engineer. Engineers get to make up their own questions, and we try not use just the prefabricated lists (because they get leaked all the time). Before coming here I never formally interviewed anyone, so my interviewing skills were pretty poor to start. With training and seeing how other people did it I've gotten better, so I wouldn't take one engineer's detachment as indicative of how the rest of us do it. Maybe he was just having a bad day? Interviews take about two hours to complete (read the resume, do the interview, and type up feedback), generally in the middle of the day when we're probably busiest.

    I'm sorry people consider us arrogant. That perception probably comes from having to weed through people who pad their resumes with illustrious garbage, so a healthy dose of skepticism might come off has arrogance to some. Anyone who has interviewed tech people should know of people that make their resumes sound like they wrote huge systems by themselves, but when pressed it turns out they were just on a team of 16 and helped run TPS reports for management.

    If anything, I've become much more humbled since I started here, because I'm definitely no longer one of the smartest geeks in the office. In fact, I'm pretty dumb for posting all this on slashdot. Anyway, good luck with your interview process and hopefully the people you talk to aren't having a bad day.
  • by madsdyd ( 228464 ) on Friday July 08, 2005 @01:28AM (#13011280)
    Actually, a decent compiler should be able to regonize if a recursive function is tail-recursive, and optimize the code such that it is as effective as any queue.

    In other words: You can "reuse" your whole stackframe, given the right circumstances.

    And, then there is the whole issue of premature optimization. Get it right first, then optimize it, if it eat cycles.

    And, yes, I do write code for a living, that needs to run reasonably fast (tons of transactions), and the reality is, that sometimes a few hundreds of recursive calls dwarfs in comparision to the rest of the task, and optimizing them is simply not worth it.
  • by Anonymous Coward on Friday July 08, 2005 @01:46AM (#13011362)
    Local variables will normally be pushed on the current stack frame inside the current function. With an optimizing compiler they can held in registers and pushed onto the stack during subroutine invocations. But in a situation like this, a decent compiler will recognize the overhead involved and simply keep them on the stack.

    So your recursive calls, when they create new stack frames, are really just pushing the return address and the arguments.

    What do you need to store in each entry in the FIFO queue? Aside from those same arguments, you will need a struct/class object to hold them. Plus the overhead of managing the queue.

    So allocating each entry in the FIFO queue -- what's the cost of there? I'm unfamiliar with the C# internals, but under good o'l Linux/GNU/g++ malloc is NOT a negligible cost. Particularly when you are dealing with numerous small malloc's rather than one large malloc.

    What is your memory model? Are there concerns about memory fragmentation? The last thing you want to do is to create swiss cheese. A situation where your software won't play nicely with other code in the same sandbox because there are no large chucks of contiguous memory left. (Perhaps unlikely in this scenario, but always a concern before you start allocating tons of small objects.)

    Sure, stack space can be exhausted. But you can also exhaust your heap memory as your queue becomes very large. Believe it or not, under modern operating systems, at least under linux/unix, these two are the same size. Or at least they can be made the same size with ulimit.

    Finally there is the issue of future code maintainability. Unless efficiency has been documented as a critical priority, keeping it simple is better.

    But hey, don't take my word for it. Compile with gcc/g++ and -S, look at the assembly output, and draw your own conclusions.

    "Anonymous. Slacking off at work..."
  • by Anonymous Coward on Friday July 08, 2005 @02:23AM (#13011495)
    There are lots of companies that use Microsoft-style interviewing techniques, especially in the Seattle area. I think that asking the question "Is it appropriate to ask difficult technical questions during an interview?" is a valid one.

    I'm a former Microsoft manager who has participated in over 200 interviews. I was also interviewed myself on several job moves within the company, and have been grilled by more than 75 interviewers who wanted to know what my skillset was. So I have a great deal of first-hand experience that I thought someone might find useful.

    I won't defend the Microsoft interview practices, but I won't condemn them either. There are two huge benefits to this style of interviewing. First and foremost, it weeds out people with great resumes but who have made no real contribution to any kind of project, whether it was a school project or work project. I once had a guy hand me a diskette during an interview and he told me that it was some code that he worked on. I asked him where he had downloaded the code from, because I had no way of knowing if he wrote it himself or if he had just copied someone's work. I can put together a sweet portfolio of code in 15 minutes with Google. Microsoft wants people who can produce, and anyone who starts out every sentence by saying "Theoretically, it's possible..." is screwed.

    The other big advantage to the Microsoft style of interviewing is that people who don't come from the "great institutions" of the world like MIT get a fair shot at a job. I went to a small, liberal arts college and my resume wasn't very impressive. But I had a key skill that they needed, I came in as a contractor, and within 6 weeks I had a full-time job with the company. I had a great 7 year run that I probably wouldn't have otherwise gotten.

    But the system has it's downsides as well. One problem is that the interview system is applied universally across the company, and there are just some jobs that don't require deep technical thinking. It's inappropriate, for example, to use this technique on people who are primarily going to test software for a living. In fact, you want people who are more like "regular people" than programmers to test the code because then you'll get a better cross-section of the population involved in testing. I never respected a tester who told me that my program was broken because of some technical bug, but I sure listened if there were issues of usability involved.

    Another problem with the interview system at Microsoft is that it's applied to internal candidates as well as external candidates, so your work history counts for very little when moving within the company. After a relatively long career in the company and getting sick of the group that I was in, I made one last attempt to change jobs. But I didn't have the heart to go through the long, arduous interview loops, so my heart wasn't in it. I really wanted to leave the company anyway and had a good excuse to do it, but there was nothing pulling me back in. After investing heavily in me as an employee who had gotten postive reviews throughout his career, I left Microsoft without anyone trying to convince me to stay.

    One premise of this article is that Microsoft is arrogant. I agree that some individuals in the company are arrogant, and that some people use the interview process to prove that they are better than others, but as a whole I do not believe this to be true. I've personally dismissed people after the first interview because they just weren't going to cut it. Yes, that's judgmental, but it's also a very good business practice. Let's face it, even open source project discriminate based on ability.

    I've saved my harshed criticism of Microsoft for last. In "the good old days", the interview bar was held high so that only "the brightest and the best" would be hired. In the late 90's (the dot com boom), the bar was lowered considerably so that we could get in enough bodies to do the work. But as a friend of mine likes to say "A pe

  • by egoriot ( 853407 ) on Friday July 08, 2005 @03:48AM (#13011745)
    With a depth-first search (DFS), you need O(d) memory, where d is the depth of the tree. A balanced tree with any constant branching factor has depth O(log(n)), n the total number of nodes. With a breadth-first search (BFS) you need O(w) memory, where w is the of the tree (the largest number of nodes on the same level). For a balanced tree with any constant branching factor this is O(n). Unless you have an extraordinarily narrow tree, the recursive BFS uses much less memory. This big advantage of BFS is the whole reason iterative deepening is a desirable method for traversing infinite or extremely large trees.

    If I understand the problem correctly, we are to list all nodes at a given depth. This is the same as considering the input tree to be cut off after the given depth d, traversing this [virtual] tree, and outputting only the leaves at depth d. Then both methods visit the same total number of nodes, so runtime is asymptotically the same. I don't see why the small difference between a stack PUSH/POP and heap allocation/deallocation (assuming the queue is implemented as a linked list) would affect performance that much and in any case this is highly compiler/architecture/OS dependent.

    This _is_ basic algorithms material. Seeing you so completely screw up this simple analysis with such confidence is simply breathtaking.
  • by imthesponge ( 621107 ) on Friday July 08, 2005 @04:34AM (#13011881)
    nt
  • Simpler answers (Score:2, Informative)

    by the grace of R'hllor ( 530051 ) on Friday July 08, 2005 @07:01AM (#13012207)
    If you have a square manhole cover, you can turn it 45 degrees on a vertical axis and drop it in the manhole.

    If you have a circular manhole cover, you cannot get it in there. So you never have to send people down to retrieve manhole covers and/or workers with cracked skulls.

    Really, people.
  • Re:Why is this news? (Score:2, Informative)

    by tomlouie ( 264519 ) on Friday July 08, 2005 @09:14AM (#13012745)
    Parent nailed it perfectly. It doesn't matter that the question was about a car and coffee maker. The questions is to solicit from you what your priorities are in problem solving, and to give insight about how willing you are to ask questions.

    The interviewee should have fired back all of these questions:

    Why does this need to be done?
    What exactly do you need this to do?
    When does this need to be done?
    Who will be working on it?
    What boundaries are there on how this should be done?

    If you got fixated on coffee and the car, you failed the question.

    Tom
  • Re:Spam (Score:3, Informative)

    by Anonymous Brave Guy ( 457657 ) on Friday July 08, 2005 @09:52AM (#13013001)
    1.) How to swap two variables (numeric) w/out using the (what I call it) "Father, Son, & Holy Ghost" technique of 3 variable placeholders...

    std::swap(a, b);

    Did I pass? :-)

"Can you program?" "Well, I'm literate, if that's what you mean!"

Working...