Good technical folks, who don't necessarily have people skills, are often promoted to management. This leads to poor managing and often hampers the success of their employees.
The common understanding at Microsoft is that employees have to create their own "visibility" in order to stand out and get promoted. Just doing really good work is not enough. To be recognized, you have to give presentations, fix urgent customer bugs (and be sure someone in management sends mass e-mails acknowledging you), and make sure that everyone knows who you are and how great you are. Unfortunately, this often fosters an environment of individual competitiveness, in which you must focus solely on your own success, without regard for that of your team or coworkers.
The advertised "Mentorship" program (when a more experienced employee mentors a relatively new one) is played up as a strong positive, but most of the so-called "mentors" are too busy (or lack the needed people skills) to have any effect.
With such a large organization, the exact whats and hows often come down from upper management, leaving the individual contributor to simply execute commands given to them. They often have almost no say in what should be done or how best to do it. (This, like many of the other cons, depends on the specific product group, but it is very common and prevalent enough to be of concern to anyone looking to work for Microsoft).
Certain managers make 100% of the decisions around the whats, whens, and hows of employee work without being open to any feedback from the employee.
Teamwork takes a backseat to individual success.
First, it is important to favor people with mentorship ability, people skills, and leadership skills over technical ability when promoting individual contributors to management.
Second, recognize which employees thrive on individual competition and which on teamwork. Make sure that there is a success path for the latter group.
I had an on-campus interview at my university, where the interviewer focused on design issues and basic algorithmic questions. I can recall a couple of questions: how to determine if two circles intersect, and how a server should behave if it has to
I was initially contacted by an MS recruiter who had found articles on my blog related to skills they were currently hiring for. I had an initial phone screen with the recruiter, followed by a phone interview with a test manager a few days later. T
Applied through university and was contacted a few days later for an on-campus interview. Was invited to have an on-site interview in Redmond 4-5 weeks later. There were 4 interview rounds. The three most important skills they were looking for are
I had an on-campus interview at my university, where the interviewer focused on design issues and basic algorithmic questions. I can recall a couple of questions: how to determine if two circles intersect, and how a server should behave if it has to
I was initially contacted by an MS recruiter who had found articles on my blog related to skills they were currently hiring for. I had an initial phone screen with the recruiter, followed by a phone interview with a test manager a few days later. T
Applied through university and was contacted a few days later for an on-campus interview. Was invited to have an on-site interview in Redmond 4-5 weeks later. There were 4 interview rounds. The three most important skills they were looking for are