Microsoft is a magnet for some really talented developers, regardless of the criticism leveled at its product quality or lack of innovation. They truly value quality coding and provide an excellent set of resources that will help a reasonably competent developer shine.
The skills learned at Microsoft are applicable outside of Microsoft and will raise your profile.
On most major product groups, you have a tremendous opportunity to contribute to the development team in the form of improvements to the process, tools, or even the product design.
Finally, there's a strong emphasis on maintaining a healthy work-life balance, so flexible hours are tolerated. You won't be criticized for coming in at 11 AM and leaving at 8 PM, as long as you're not blocking the rest of the team.
Microsoft senior management is one of the poorest in the industry, although there's been more accountability recently with some high-level firings. Decision-making at the senior level is still poor and has contributed to the lack of innovation. There are simply way too many levels of management in most product teams, and this impedes most communication and internal improvements.
The most effective teams at Microsoft tend to be smaller groups that work independently of major products and are run by a competent product unit manager willing to isolate the team from the upper echelons. And the compensation and review process, although not as bad as that in most other large companies, is still a frequently criticized and haphazard process. Most promotions tend to be on the basis of politics and need rather than genuine effort.
Flatten the management levels and empower the product unit managers more to foster some real innovation in the rank and file.
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.