Great pay. Average benefits. Brilliant people to work with and learn from. Feels great to work on products that so many people use. It is possible to keep working on an open-source project you may contribute to, if you follow the appropriate process.
Culture is somewhat ignorant about and/or resistant to using tools everyone else in the world uses. Often choosing to build its own internal tool in-house that is either buggy, "special" in interface, or just outdated. Examples include:
Working from home (from a fiber optic connection in Redmond!) is stunningly unreliable and inefficient, at least for general development work on a large codebase.
Process to approve contributing to open source on your free time is relatively cumbersome.
Stop building so many internal tools in-house from scratch. They take years to become as featureful and reliable as the commonly used tool, if they ever reach that quality, and the team that is forced to rely on it suffers some unnecessary inefficiency during that time.
Attitude toward open source is improving, but too slow to change.
On site from internal referral
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 received an email from a Microsoft recruiter, which was followed by phone calls. They set up a phone screen, and then it took them about two months to schedule the onsite interview. The scheduling was a bit disorganized on the recruiter's part. So
On site from internal referral
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 received an email from a Microsoft recruiter, which was followed by phone calls. They set up a phone screen, and then it took them about two months to schedule the onsite interview. The scheduling was a bit disorganized on the recruiter's part. So