It has amazing benefits. It has gone down starting 2013 because healthcare is no longer 100% supported, and that's a huge step down. But other than that, it has amazing benefits.
You work in a rich company. You often get offices. You can easily get very good quality multiple monitors and desktops. You keep getting other freebies.
People there are very smart; you can learn a lot. Also, since we are working within Microsoft, most of Microsoft's latest technologies are readily and freely available to its employees to use in their teams. Most teams constantly try to keep up to date with the latest technologies and releases, so you are able to work on cutting-edge technologies more easily than in smaller companies that can't afford to keep upgrading their Microsoft products every two years.
The biggest con for me is the stack ranking. There are 5 levels: 1 to 5, with 1 being the best and 5 being the worst. Every team will have at least a few people getting a 1. This puts continuous pressure throughout the year to compete with your immediate peers. Competition is always there in all companies, sure, but with stack ranking, it is much more so because if you don't do better than your immediate colleagues, you will get a low rank. This discourages teamwork.
The other con is the fact that the review process is very harsh on people who have ever performed poorly. If you have gotten bad reviews in earlier years, it will affect your review this year. To me, that doesn't make sense. If you did well this year, you should get rewarded for it. In 2012, they finally changed a system which affected all senior people in the company, because they used to take into consideration your potential for promotion, and senior level employees don't necessarily have that kind of opportunity for promotion. Now, they don't take the future into account, but they take into account previous years.
The third issue is that if you remain at a level for too long, it affects your review as well. It is similar to the previous point, except that this is specifically about staying at a level, not just the review scores. You don't get a good review, or you don't get a promotion too easily, because you did not move up the promo ladder fast enough. This means that you can't stay in the company, do your job, and be fine with it. You have to constantly try for a promotion; you have to constantly compete with your friends.
Of course, you have to work hard, and no matter how hard you work, you always feel guilty that you didn't do enough. You're always on, never fully relaxed. Maybe that's just me.
The last, painful point is that your entire review/promo life depends on your manager. If the manager has something against you, you are stuck, even if you are a good employee. The manager holds the power to tell you what the good projects are that you should work on, where people are looking ahead to. Other managers won't tell you because they want their directs to do well. This cutthroat competition makes it hard for someone who landed a manager he can't work with. Once you join a team, you can't typically switch to another team before a year, and the manager has the right to keep you for one and a half years. So it ends up being slow.
Fix the review system so teamwork is possible! And instead of just talking about work-life balance, make it so people can actually relax in the evenings and weekends!
Very difficult. HR would not say what subjects the programming interview would test. It turned into a white board ASI operation questions. Two other interviews with four other people followed. It was not a pleasant experience. "Why should I hire you
Standard programming questions about data structures, what makes good software test design, and the high-level design of an ATM machine for blind people. It made for okay conversation but was pretty dry, to be honest.
Applied online. Received a call from a recruiter and had an informal, light interview, then scheduled a phone interview with the hiring manager. * Five interviews, all 1 hour long; included a lunch interview. * Combination of testing, vendor ma
Very difficult. HR would not say what subjects the programming interview would test. It turned into a white board ASI operation questions. Two other interviews with four other people followed. It was not a pleasant experience. "Why should I hire you
Standard programming questions about data structures, what makes good software test design, and the high-level design of an ATM machine for blind people. It made for okay conversation but was pretty dry, to be honest.
Applied online. Received a call from a recruiter and had an informal, light interview, then scheduled a phone interview with the hiring manager. * Five interviews, all 1 hour long; included a lunch interview. * Combination of testing, vendor ma