Company: Microsoft
Date: 2009-07-19
Overall rating: 5/5
Employment status: former

Microsoft, the most mature tech company to work with
Pros: - The people I am working with are really smart and friendly.  Everyone trusts each other and every employee is given the freedom to express their ideas and determine their approach to a problem.  This also applies for interns like me.  There is no seniority at Microsoft.  The individual contributors, the leads, the managers, and the leadership all have their own unique roles within the company and they respect each other.
- My manager is my best mentor.  He is not a person who tells me what to do.  But he is a person who tells me do what I think is the right thing to do, and if along the way I encounter problems or become frustrated, my manager is there to give me supports, both technically and mentally.
- The work processes at Microsoft are highly structured and very well thought.  Schedules are planned very far ahead in great details that the product can be released on time with a strict quality bar.  The processes and the logistics of the processes are communicated really well to the employees to websites, wikis, and shared documents that are easily accessible.
- There are tons of communication going on in the company.  Each of us has instant messaging client on our machine (Office Communicator) and we chat with each other on daily basis.  We also send emails like crazy, which is much better than not knowing what others are doing.
- The salary is well beyond the average salary in regular tech companies.  The salary for an intern is also well beyond my expectation.
- Managers are required to give assessment of performance of the employees.  In turn, employees are supposed to give assessment of performance of the manager.  This creates a positive feedback loop in the company, and everyone learns from each other.  We also review each other's code and each other's design document, in order to help each other improve.
- We have no work hours.  We only need to get done with our work, and that's it.  It's up to us whether we want to work 9am-5pm, 11am-7pm, 7am-3pm, or working from home, etc.  Things just have to get done.
- We get tons of benefits and free sodas.
- The diversity in Microsoft is amazing.  Tell me one race, ethnicity, or religion, and I can always find a Microsoft employee that has the chosen characteristic.  It's surprising even to me how much I feel at home at Microsoft.
Cons: For you who love the startup-like thrill and excitement of being able to contribute a big chunk of a product, you may not find Microsoft the perfect company to work with.  In some teams that are currently developing prototypes for a cutting edge product, you may find a startup-like culture in which everyone tries to be as creative as possible and contribute as much as possible to the design of the product.  However, once the design is settled and becomes more mature, it is necessary to have a well-thought, highly structured process, in order for the product to make it on time, on budget, on quality bar.  Then, you may have to get involved in this highly structured process no matter what.  It is good to have structure, but probably it is not for everyone.