Monday 14 February 2011

One Month at Microsoft

Late last year I accepted a job offer from Microsoft, got married and moved to the US. Its been a busy few months! I’m based in Redmond, working in the WCF team as a program manager. I started early January, so I’ve been working for just over a month now and thought it might be worth doing a post on my thoughts on Microsoft so far.

Working at Microsoft is quite an experience. It’s been a change at many levels for me. For example, moving from a small company to a ridiculously big one requires an adjustment in its own right. There are so many people, so many projects with subtle interactions between them. And lets face it - a large company can’t help but breed its own unique flavor of internal politics and an insane number of meetings. I’d have to say that in most ways, the experience has met my expectations. Though I was surprised that it was several days before I had a PC and a working network login – I expected a large company to have that stuff down cold. Were my expectations just completely backwards on this one? Let me know in the comments :)

The move from dev lead to program manager is also a significant change – my productivity suite is Office now, not Visual Studio (hopefully it will get closer to 50 / 50 in time). In essence, program management is about determining what to build, what the user experience is like, planning and overseeing the execution and then letting customers know about the awesome thing your team built. I don’t think I could be a program manager on Office, or Windows or some other product that isn’t developer focused. At least this way when I’m prototyping or refining the user experience or preparing demos I’m working with code. But I still wonder if program management is the best fit for me. Its way too early to tell at this point so I’ll just have to wait and see. If you would like to learn more about program management I suggest you read Steven Sinofsky’s epic, awesome post.

For my first month at Microsoft, there was stark contrast between the first two weeks and the following two. During the first two weeks, a significant portion of my time was spent on “administrivia”: permissions, online training, getting yourself included in the right meetings, filling out forms, etc. At the end of my second week I began to wonder when the “work” was really going to begin – and then it promptly did! I felt very busy and quite overwhelmed for the next two weeks as my responsibilities began to crystalize. This last week felt somewhat more manageable but I have a feeling this won’t last long as various deadlines loom towards the end of the month.

I’d heard that they really liked their TLA’s at Microsoft, but I imagined that it was blown out of proportion. Sure technical people like their acronyms – hell, ask me about programming and I’ll probably start spouting stuff about DDD, TDD, BDD, CQRS, IOC, etc. After spending a month at Microsoft I have to say that their reputation for acronym overuse is well deserved. Its funny, they even change the names of stuff to avoid unpleasant acronyms. Case in point – Microsoft is divided into divisions, but the “Server and Tools” division is actually referred to as a “business”. How amusing.

Putting aside the quirks, the last month has been exciting, challenging and tremendously educational. Its fantastic to get a chance to learn how things work on the inside of the company that I’ve built my career around. I have been consistently impressed with the intelligence and approachability of my coworkers and it is in this aspect that I really feel like the promise of Microsoft has delivered. I wanted to find an environment where I felt challenged by the people around me to learn and grow and I can safely say I’ve found one.