Pros
good place to join as a junior, if you work hard you will stand out of the herd and promote quickly. work life balance depends on the team too much so if you have the chance, prefer teams with applied scientists, even if you're not one. bing search relevance, bing ads, speech, and more teams... you can ask directly to the recruiter if the team is all software devs or if there are scientists too. if you want to ask indirectly, ask if the team is doing anything to improve Cortana. good comp, at least in the silicon valley.
Cons
microsoft decided to cut the lead role last year and turned all leads back to ICs. what used to happen normally in a 20-30 people team was that there are 3-4 leads for several well-defined and non-overlapping areas with 3-5 people underneath each, and maybe a few principal ICs reporting to the dev manager since they are too senior to report to the leads. upper management decided to cut the lead layer for whatever reason. now as far as I can tell there is no single person that's happier. 1. (ex-)leads: obvious. they got demoted. no paycut but hey, who likes being demoted? lots of people left immediately, many ex-leads are still leaving. 2. ICs: little/no sense of focus or attachment for junior ICs. out of collage newhires are simply lost. since leads only had small teams they used to have quite a lot of time for the new guys. now your manager has 20+ reports and runs from one meeting to another. and honestly there is little/no seniorIC-to-juniorIC mentorship unless you happen to go to a team with good people. there is nothing at microsoft that rewards mentoring juniors. 3. managers: they used to have 3-4 leads and plus a few principal ICs reporting to them. now 20+ direct reports. no time to do 1-on-1's and every single thing from the most important to the least escalates to you. 4. lack of management track: lead position was a stepping stone for becoming a manager later on. now it's gone and there is no track for ICs that want to see themselves managing a team in X years. if you're at microsoft ask this to your manager: "what should I do today if I want to become a manager in X years". They won't have any answer. because there is none. No management track whatsoever. the chances you'll be managing a team is equal to somebody in the management chain leaving. and even if you would call that a management track (I wouldn't) that's the worst management track imaginable. think about it. One day you're an IC. next day you have 20+ people reporting to you.