Taro Logo

Good For a Software Engineering Apprenticeship

Senior Software Development Engineer
Former Employee
Worked at Microsoft for less than 1 year
June 12, 2008
Redmond, Washington
2.0
Doesn't Approve of CEO
Pros

If you are a programmer fresh out of college, Microsoft is a good place to work for a few years as a kind of software engineering apprenticeship. It does depend somewhat on the group you join and your manager, but in the right situation, you can learn a lot.

Another reason to work there would be if you have a family; Microsoft has a pretty generous benefits package.

Also, if you enjoy doing nothing, there are plenty of jobs at Microsoft for you. Just search under "architect".

Cons

It's a giant, bureaucratic company that is only getting bigger and more bureaucratic. The company is growing beyond all need and beyond all reason. There is little to no value in the myriad new processes that are constantly being introduced. However, introducing and managing process is what the company rewards, so this is only going to get worse.

Senior management is terrible. They make horrible decisions on acquisitions and strategy. Within any individual division, there is never a clear focus. Building great software has given way to building fiefdoms, protecting your territory, and introducing useless process. Increasingly, the management of any given division actually knows very little about developing software.

Despite all claims to the contrary, beyond a certain level, it becomes very difficult to grow your career as a technical individual contributor. You can either move into management and become useless, or you can spend more and more of your time with political maneuvering and visibility games so that you can continue to get promoted. Either way, less and less of your time will be spent actually designing and developing software.

Advice to Management

Fire yourselves. Failing that, stop being so acquisition-crazy and focus on making your existing businesses work. Stop hiring so many new people. Definitely stop hiring so many people in roles outside of product development.

I would say stop rewarding people for doing nothing, but that's better than rewarding people for doing the wrong things, which is what you do now. Reward people for things like finding bugs and writing great code, not for introducing and managing processes.

Was this helpful?

Microsoft Interview Experiences