I work with smart people, which has greatly improved my engineering skills. The company offers great benefits, and it is at the forefront of innovation in many areas. The CEO is very good and is guiding the company well. I work mostly reasonable hours. The pay is okay; they could give more stock.
The biggest con is culture. Azure is very, very hierarchical. In almost every team I was part of, you are expected to somewhat bow down to people at higher SDE levels than you, even if they have less experience, are making wrong decisions, or are being abusive. This is highly unfortunate and, in my opinion, stifles innovation at Microsoft and leads to a loss of talent.
The worst part of this is I have seen many of my colleagues treated poorly.
Unfortunately, Microsoft is known for this culture. Satya Nadella, the current CEO, has made huge improvements with this. He even wrote a book citing some of the issues I talked about, called "Hit Refresh." But I still feel the company is old school, where your age/position automatically gives you authority over others instead of actual ideas/output.
Every organization needs a hierarchy, but I think Microsoft goes too far in this direction. There are a lot of possible solutions, but I think this one would be the most effective.
I highly encourage the management to allow employees to more easily move around teams at Microsoft. In my experience, some managers can get quite possessive and don't encourage employees to seek other internal opportunities.
Other companies don't even require real interviews to move, but Microsoft requires technical interviews, which can be a barrier for employees. A well-performing employee should be able to have his connects reviewed and move around the company without interviews.
If you do this, employees will naturally move to more healthy situations. You will retain these employees, and it will also show you which leaders/teams need further training to be more effective.
I got the invitation link, completed and passed every test case successfully, but surprisingly received a rejection the following week without any clear explanation, even though my performance met all expectations.
Very thorough, with lots of different steps. You need to be very prepared. It's a very corporate process, with lots of schmoozing. You'll have an introduction to different people. There are multiple interviews, including panel interviews, phone scree
4 rounds: * LeetCode - repeating words * Behavioural - 4 questions (STAR format) * LeetCode - Computation time * System Design - Design an IDE
I got the invitation link, completed and passed every test case successfully, but surprisingly received a rejection the following week without any clear explanation, even though my performance met all expectations.
Very thorough, with lots of different steps. You need to be very prepared. It's a very corporate process, with lots of schmoozing. You'll have an introduction to different people. There are multiple interviews, including panel interviews, phone scree
4 rounds: * LeetCode - repeating words * Behavioural - 4 questions (STAR format) * LeetCode - Computation time * System Design - Design an IDE