If you are a programmer fresh out of college, Microsoft is a good place to work for a few years as a kind of software engineering apprenticeship. It does depend somewhat on the group you join and your manager, but in the right situation, you can learn a lot.
Another reason to work there would be if you have a family; Microsoft has a pretty generous benefits package.
Also, if you enjoy doing nothing, there are plenty of jobs at Microsoft for you. Just search under "architect".
It's a giant, bureaucratic company that is only getting bigger and more bureaucratic. The company is growing beyond all need and beyond all reason. There is little to no value in the myriad new processes that are constantly being introduced. However, introducing and managing process is what the company rewards, so this is only going to get worse.
Senior management is terrible. They make horrible decisions on acquisitions and strategy. Within any individual division, there is never a clear focus. Building great software has given way to building fiefdoms, protecting your territory, and introducing useless process. Increasingly, the management of any given division actually knows very little about developing software.
Despite all claims to the contrary, beyond a certain level, it becomes very difficult to grow your career as a technical individual contributor. You can either move into management and become useless, or you can spend more and more of your time with political maneuvering and visibility games so that you can continue to get promoted. Either way, less and less of your time will be spent actually designing and developing software.
Fire yourselves. Failing that, stop being so acquisition-crazy and focus on making your existing businesses work. Stop hiring so many new people. Definitely stop hiring so many people in roles outside of product development.
I would say stop rewarding people for doing nothing, but that's better than rewarding people for doing the wrong things, which is what you do now. Reward people for things like finding bugs and writing great code, not for introducing and managing processes.
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.