There are many reasons to work at Microsoft, though I'd highlight two that stood out for me:
Microsoft's culture is strongly philanthropic. This characteristic, set foremost by Bill Gates, has continued to imbue the culture of the entire company, down to individual employees. Its annual Giving Campaign elicits participation from nearly all employees. At Microsoft, it's quite common to support coworkers towards their charitable causes, and to talk about charitable giving regularly. I thought that was common to all companies, but it's not -- it's actually relatively rare to have a company culture that has philanthropy so close to its core.
There are a lot of choices for what to work on. Server to client, consumer to enterprise, software to firmware to hardware -- there's just a boatload of choice to switch around in the company. Though I always stayed on the software side, I managed to work in Office, MSN, Windows, Tablet PC, and Bing Search during a span of 12 years.
Seattle, despite what detractors say, is, in my opinion, an amazing city to live in, especially if you have (or plan to have) a family. It's very progressive, huge on the outdoors, has amazing summers, and also has the nation's highest percentage of college grads, which makes for interesting conversation wherever you go.
I'm sure it used to be a good place, but I've found so many examples of really bad management and a lack of (real) commitment to work, products, or customers.
I haven't seen a good example of teamwork in years. Also, nobody cares about code quality, technical expertise, or all that matters in building great software.
Most Principal and Senior engineers I've seen are mostly consumed by the politics created by their managers or upper management and worried about their own performance reviews rather than taking responsibility for the product, people, or customers they are getting paid from.
Every year, I've seen two things constantly on my reviews: "Technical awesomeness" and "Improve on communication" (from multiple managers).
Actually, I think I'm just an average developer, and I've seen (technically) awesome people elsewhere.
The hardest thing at Microsoft is switching between teams if you're not well-connected.
Very straightforward, two back-to-back thirty-minute technical interviews that had a combination of LeetCode easy and medium questions, along with some behavioral questions that were sprinkled in there.
It was one round, two interviews: one technical and one behavioral. It took about a month to get the interview request and a week to hear back. The behavioral round also had some minimal technical questions.
I got a referral from the TNT program, which allowed me to skip the phone screen and other interviews. I got to the final round and had back-to-back interviews with a Software Engineer and a Product Manager. Both interviews were mostly behavioral, wi
Very straightforward, two back-to-back thirty-minute technical interviews that had a combination of LeetCode easy and medium questions, along with some behavioral questions that were sprinkled in there.
It was one round, two interviews: one technical and one behavioral. It took about a month to get the interview request and a week to hear back. The behavioral round also had some minimal technical questions.
I got a referral from the TNT program, which allowed me to skip the phone screen and other interviews. I got to the final round and had back-to-back interviews with a Software Engineer and a Product Manager. Both interviews were mostly behavioral, wi