Company: Microsoft
Date: 2015-10-19
Overall rating: 2/5
Employment status: current
Experience level: Junior

Good company, but avoid Bing Ads
Pros: - Salary and benefits are superb.
- Lots of support for self-directed growth - they'll reimburse up to $6,000 of college tuition for any classes in any field, and you're encouraged to seek out projects or roles that specifically interest you.
- <i>Everyone</i> you work with is smart and very motivated. This isn't just the engineering department - tech support, UX design, business strategy, etc. are all staffed by people very good at their jobs.
- The Online Services Division is very diverse. About 90% of our employees were born overseas, in countries ranging from Nigeria to Russia, and people are very open and curious about different cultures. I'm a woman, and I've never felt the management or my team treated me differently or respected me less. I did get some dubious comments from two of our developers (out of 40+ developers I've worked with), but those specific people have a reputation for being abrasive with everyone.
Cons: Note: Microsoft is <b>huge</b>, each department has its own culture and pros & cons, so a lot of the complaints below are specific to the Online Service Division or Bing Ads.

- Management styles in Bing Ads are harsh to the point of being unrealistic. The leadership team is certainly competent, and we've made major improvements to both our product and business strategy since I started. However, they're prone to setting unrealistic deadlines and punishing people for failure regardless of whether that person had any control over the source of the delay. It's very difficult to ask for clarification of goals or explain why it's infeasible to implement the plan in the time allotted, because the manager will often dismiss the problem and imply you're stupid for asking. Their overall attitude is 'Make it work, or we'll find someone who will.'

- MSFT's code base and bureaucracy are both huge and old (by tech industry standards). I recently wanted to change the text of a few links on one of our websites. It took three months to a.) identify the dev lead who owned the code (because ownership changed three times in three months), b.) identify the developer with access permissions to deploy the changes, and c.) get the new text approved by our cloud of business groups. In another case, it took a month to figure out which person had the authority to approve emails to customers. Both the people and the process needed for any given task change every 1-2 years, and the documentation is rarely updated completely or quickly. To be fair, the company has gotten much better about this in the last few years, but PMs still spend half their time tracking down the right person/system.

- Engineering attracts a very distinctive personality type. Whenever you make a mistake, which will be often during the first several months due to the sheer amount of new information to process, people will point it out very bluntly. You can also expect to debate the details of essentially every decision. 

- There's an implicit assumption that if you're unhappy or can't met the goals set for you, you're just not smart/hard-working enough to make it at Microsoft. This creates an Emperor's new clothes situation where problems don't get fixed because everyone's afraid to report them.