Company: Microsoft
Date: 2009-09-20
Overall rating: 3/5
Employment status: former

Best or average, depending on whether you have passion for technology and ready to take the initiative all the time.
Pros: The benefits were decent. The pay for a summer intern is above the industry standard.
There is a lot of respect shown towards the work of all employees and interns alike. 
Everyone is doing real work.
No micromanagement at all. I was only told once in the beginning I was kind of expected to be at work from 10 to 4; however, I repeatedly showed up at work at 1 p.m. and there was not a single remark about it. (Of course, it was my problem when I had to work on some weekends to have the work done, but again, nobody was counting when I was working and for how long.)
Very open structure, a lot of communication going on (not necessarily a plus for me, but Microsoft is very communication-oriented).
Great technology.
Everything is optimized. Like, you think it might be a good idea how to improve something: signs in your building, meeting schedule, some internal rules - you send an email, and you immediately get a friendly response, and people start working on implementing your suggestion (or disucssing it) as long as you want it.

Seems to be very fair for reviews, promotions, salary increases, etc.

If you are invited for an on-site interview, you will get reimbursed for everything. You can negotiate another day in the hotel, negotiate where you want to fly from and to, ask for another 5 free taxi vouchers, etc. They don't care what you where for the interview (or when you work there). They don't care if you have a weird haircut or sexual orientation. Only your skills, your passion for technology and for the customers, and your enthusiams matter. A lot of appreciation for the good work you do.
Cons: Work was not challenging or interesting enough. A lot of code that is just doing routine things. It is not just Microsoft, however, it is necessary by the nature of the work. I am just not so much of an engineer, my background is in math and theoretical computer science, so I enjoy interesting things where you have to think, not just seeing technology work.

You have to be excited about your work. You do not have to work 14 hours a day (or even 10, really), but you do have to be excited and want to learn new technology, get a better developer (or a better Microsoft developer, more specifically) or getter tester, or manager, etc. This may seem like a good thing (and it really is!) --- but this is also somewhat forced. You have to identify where you want to grow (when you work there full-time) in a written form, then the company will help you - coach you, move you to another project, etc. You cannot just say "I just want to work here for my 40 hours and get paid". You have to find out yourself what you want to do. You have to load yourself with work, come up with new ideas, take the initiative, etc. This is required. So they are requiring and taking some of your emotional or spiritual energy in this way. 

Too much admiration for Microsoft. Gets annoying to see all those monitors and posters and emails, advertising, how happy is everyone is at Microsoft. Even though it is not far from truth,  a lot of people are very happy and very excited from working there.... - but this also gets annoying. Seriously, I cannot stand some many people claiming to be excited about their work every day, everyone from smiling drivers of the shuttle cars on campus to those working in the cafeteria, to researchers, developers, managers... It looks too good to be true, made me feel uncomfortable.

During my internship I was not given enough information on what was expected of me. It took me some time to understand that people just expected me to take the initiative. For example, they may not tell you "you have to do it by next Friday" --- but you will have to ask "what do I have to do and by which date?" If you don't, they will think you don't know what's going on (because you don't care to ask around) so not interested, or you are not a productive worker. They will find somebody else to do the job, or the project will move slower (they have many projects; sometimes 2-3 teams, doing the same thing, so at least one can succeed :)), and you will get a not-as-great review and may be eventually asked to leave. Although, I admit, this is fair in a way. If you have the initiative, go for it.


A lot of emphasis on getting the work done (which is good), but not as much on making people do what they are good at. The responsibility is totally on you. You have to figure out what you like and what you don't, what you are good at or not good at. You have to take the initiative. (Then, in many cases, you will actually be able to move to a position that you want.)

Many developers, testers, etc. are, it seems, not too great in terms of their skill, as Microsoft is a big place. However, talent is always recognized, and people are always trying to get better. If your background is limited and you need to learn a lot, but Microsoft still takes you --- then prepare to work a lot, too. It may actually be a lot of hours every day. (Yet again, nobody will count, and you can do it at home.)

Redmond location - there are some commute issues. Microsoft is working on that (like their "the connector" is a great thing), yet this will always be an issue.

So-called starbucks coffee is no good, and cafeteria food is average (I have seen pretty much their best cafetereia during the on-campus interview.)