Very good salaries and benefits.
You will work with incredibly smart people.
Reluctance to truly embrace open source tools for development really hurts developer skill sets. For example, instead of moving to tools like Spark, MSFT builds its own tools. Most of their own internal development doesn't even use products they sell externally, like Azure. The proprietary tools they use will severely hurt you when you are looking for your next job.
The company is huge (part 1). The scope of what you will work on will most likely be small features on existing products. This might be OK from a pure C++ coding perspective, but it won't allow you to get architecture development experience, learn new tools, or if you want to do something innovative with new technologies.
The company is huge (part 2). It's difficult to stand out when there are hundreds of really good engineers in a division. There are few engineering management roles now; most were eliminated.
Culture can be somewhat forced. Small companies usually have a better culture.
Office has implemented a "Shared Engineering" model. Software Engineers are supposed to write product code, test, and develop the resulting data streams. Realistically, you will find few people who can or want to do all three well.
Management has done a fairly good job at moving development to become more agile over the last few years. To retain and recruit engineers in the future, they will need to start moving to development tools that the rest of the world is using.
Allow engineers to become experts in specific areas.
I applied for the Sr. Software Engineer position in the Azure group and received a call within a month. The recruiter arranged a phone interview, which consisted of a couple of technical questions that I answered perfectly within an hour. Everything
A recruiter contacted me via LinkedIn and set up phone interviews with three different groups. Two groups wanted to bring me on-site for a final interview. **On-Site Interview with Group #1:** The hiring manager openly expressed his desire to hire
I applied via the employee referral process. After a phone call with the Dev Lead, I managed to fly to Redmond. It was a three-round interview loop in one day, and on the second day, I received an offer.
I applied for the Sr. Software Engineer position in the Azure group and received a call within a month. The recruiter arranged a phone interview, which consisted of a couple of technical questions that I answered perfectly within an hour. Everything
A recruiter contacted me via LinkedIn and set up phone interviews with three different groups. Two groups wanted to bring me on-site for a final interview. **On-Site Interview with Group #1:** The hiring manager openly expressed his desire to hire
I applied via the employee referral process. After a phone call with the Dev Lead, I managed to fly to Redmond. It was a three-round interview loop in one day, and on the second day, I received an offer.