Good pay, outstanding benefits, incredibly smart people, and leading-edge software technology and processes.
I know some parts of Microsoft have their own ecosystems and processes, which can be considered old school, but there are many facets of the company that are run like a startup, where management's job is to just remove roadblocks and let the dev/test/PM chain innovate.
The company is so huge there are opportunities to work on whatever you want.
Employee training is top-notch, and you are free to change your career path as you want.
The work-life balance is very good, and the review process is mostly fair and honest.
I haven't had any problems with politics, but that doesn't mean the system is perfect.
Compared to other big popular software houses (i.e., Google, Amazon, Facebook, Apple), I feel that Microsoft is probably the best company to stick with and have a brilliant career.
Many people I work with came from Google and Amazon and are much happier with Microsoft.
The company is huge and it's not uniformly run.
Make sure you understand the dynamics and culture of the team you're thinking of working with. It can either be a horrible experience or an awesome one.
Good news is if you're not happy, there are plenty of other divisions and groups to work for.
Another con is Microsoft is famous for its BGHS (Big Giant Head Syndrome). Meetings are always rat-holed by smarty pants who feel it's important to argue and debate details to the point that you'll be lucky to get through 2-3 slides of your presentation.
Some people are difficult to work with because they are very extroverted and opinionated. Having strong communication skills is paramount to surviving here.
It's no secret that Microsoft has quickly become an "un-cool" place to work for new recruits and has suffered a "lost decade" in innovation. Ditch the mega corporate image and get back to the visionary company that's always 10 steps ahead of the industry. To do that, you need to focus on agility, innovation, and the right leadership.
External hiring will usually send you through 5 interviewers. Internal team switching still sends you through 3 interviewers. For internal transfers: * Find a job posting * Email the hiring manager and get an "informational" about the position * A
Internal transfer within Microsoft. Phone screen was over an internal screen sharing program, so I could code in my favorite IDE. I flew to Bellevue, WA, to interview in person. All core CS and design questions.
I was already a Microsoft employee and applied to work with a team in another department. I spent a day in an interview "loop," where I was given a schedule. Each hour, I met with a different employee in their office to be asked one or more coding or
External hiring will usually send you through 5 interviewers. Internal team switching still sends you through 3 interviewers. For internal transfers: * Find a job posting * Email the hiring manager and get an "informational" about the position * A
Internal transfer within Microsoft. Phone screen was over an internal screen sharing program, so I could code in my favorite IDE. I flew to Bellevue, WA, to interview in person. All core CS and design questions.
I was already a Microsoft employee and applied to work with a team in another department. I spent a day in an interview "loop," where I was given a schedule. Each hour, I met with a different employee in their office to be asked one or more coding or