After spending nine years of my career at Microsoft, I can say without doubt that the one thing that's kept me here is people. Building products and solving problems for a billion people attracts some of the brightest minds. It can be intimidating, but is almost always also exciting.
Creativity and innovation are always encouraged and rewarded.
Role boundaries are as flexible as you want them to be. I work with rock-star devs who live and breathe hyper-scale code, whereas I often operate in the fuzz between full-stack engineering, program management, and marketing.
Benefits are pretty good, once you get past the unnecessary complexity of the way they are structured.
Management knows things are different now. This is not the same Microsoft as two years ago. You can almost smell the change in the campus air.
Speaking of smells, management's finally listening, and the cafeteria food has been excellent lately.
An excellent engineer doesn't necessarily make a good manager. This is a lesson that has eluded Microsoft for decades. I've seen many "rock stars" in the making walk out because of used-to-be-engineer managers who haven't quite been able to let go.
That said, there are plenty of excellent managers here. When you find one, stick with her/him.
Love the new energy and focus!
That said, increase/fix the bar for managers. Don't lose good people to confusing or sub-par benefits.
I interviewed for a Senior SDE position at a hiring event. The process consisted of an online assessment followed by a day of onsite interviews. There were four rounds covering algorithms and design. The questions were fairly easy, and I performed
A recruiter called me to schedule a phone screen technical interview with a developer team lead. The technical interview was supposed to be an hour but lasted an hour and a half; the team lead was very interested in my project work, and the overall i
I had an interview with 6 different people for 2 different positions after 2 phone interviews.
I interviewed for a Senior SDE position at a hiring event. The process consisted of an online assessment followed by a day of onsite interviews. There were four rounds covering algorithms and design. The questions were fairly easy, and I performed
A recruiter called me to schedule a phone screen technical interview with a developer team lead. The technical interview was supposed to be an hour but lasted an hour and a half; the team lead was very interested in my project work, and the overall i
I had an interview with 6 different people for 2 different positions after 2 phone interviews.