The company really cares about its employees. They offer great benefits, perks, and a great campus. The work-life balance is really good too. You get to work on products millions use, and if you love MS technologies... well, you are using/creating them.
If you are not a real fan of Microsoft technologies, consider yourself tied up; you won't work on anything else other than MS-specific technologies/environments. This makes sense from the "protect your own brand" point of view, but I found it really annoying to be closed off to great technologies you have access to in all other companies. (Let's say, to use Ruby/Python for a side team stats project, you will probably be looked at like a weird being.) That for sure makes you fall behind other engineers in the market, limiting your scope of development.
The so-known calibration at the yearly performance review creates a working environment of "I won't help you because I don't want you to be above me," and I really felt that. I was even criticized for helping other teams in my organization because I should have given total priority to my team (it's not that I was not doing anything for my team, but I was the one that could help the other teams, and that also benefited us).
Don't tell your employee, "If I ask you to build a phone, it doesn't need to be the best phone, it can be an OK phone." That's what my manager told me, and it pretty much sums up what MS does: "Do things that are OK."
I'm sorry, MS. I want to do the best phone. (The phone thing was an analogy; I wasn't even in the Phone division).
Lots of brain puzzles and escalating interviews with different people on the team. Read the books on brain puzzles asked at MS interviews. They're not wrong. Most people interview with multiple teams. However, if all your interviews are with one te
The interview process was good. The interview was mainly based on coding. There were no specific testing questions. The interview covered: * A question on arrays. * A question on Linked Lists, specifically how to insert a node. * A question o
Initially, I was contacted by a recruiter. I had a quick phone screening and then was called for an onsite interview. The onsite interview was horrible because one of the interviewers was jumping randomly between questions. I believe the interviewer
Lots of brain puzzles and escalating interviews with different people on the team. Read the books on brain puzzles asked at MS interviews. They're not wrong. Most people interview with multiple teams. However, if all your interviews are with one te
The interview process was good. The interview was mainly based on coding. There were no specific testing questions. The interview covered: * A question on arrays. * A question on Linked Lists, specifically how to insert a node. * A question o
Initially, I was contacted by a recruiter. I had a quick phone screening and then was called for an onsite interview. The onsite interview was horrible because one of the interviewers was jumping randomly between questions. I believe the interviewer