Where should I work? Global development of Microsoft Office.





“Are you able to shed any light on how much software development takes places outside of the US? Or indeed, what happens at which Microsoft sites around the world?

Why would a new grad come to Seattle to work for Microsoft when he can work for Google in Mountain View, New York City or Zurich?”


I would love to talk about our development organization and how it works around the world.  For me working at Microsoft has been incredibly rewarding because of the opportunities I have had to work with developers around the world.  I first worked with Microsoft developers in Japan as we made the Japanese version of C 7.0 and Visual C++/MFC.  Of course not everyone is required to work with folks around the world, but if your job involves that it can be quite rewarding.  If you happen to speak another language, then be sure to mention that since that might offer up additional opportunities (PS: don’t exaggerate your language skills or you might find the interview with a native speaker a bit awkward!)


First, as some background the Office product is available in over 40 languages around the world and we sell the product in over 70 different countries (at last count).  We develop Office to be a single, worldwide binary. This means that all the user interface, help, and local features are separate from the core executable.  To switch the user interface language you simply swap out some DLLs using the “Office Language Settings” applet (off the start menu) and bingo! a new language (assuming you have the multi-language pack).  The benefit of a worldwide executable is that patches and bug fixes that touch the core code (i.e. a security issue) can be done with a single patch worldwide.  This is all pretty neat and it actually took us many releases to get this right and we still continue to refine this so that even at the extremes we can separate out functionality like using calendars (lunar, western, etc.) so that we can maintain a worldwide executable.  If you haven’t seen your own software running in Hebrew, Chinese, Urdu or another language then you’re missing out.  In the first floor of our building in Redmond we have the CDs from a bunch of different languages decorating the hallway and it really shows the breadth of work that everyone does indirectly.


The Office products are developed by a number of sites around the world.  Most of the C++/C# programming is done in Redmond.  This is what you will find with most Microsoft products (with the exception of our Dynamics business software which has most of the development done in Fargo and in Europe).  In addition, Office has a number of substantial development sites (all of which are hiring from college and industry):



  • Mountain View, California – We develop PowerPoint and much of Office’s graphics functionality in Mountain View at Microsoft’s Silicon Valley Campus.  We’ve maintained this site for almost 18 years (though it has had several locations in the Valley).  The Silicon Valley Campus has over 1,000 technical people developing a variety of products and services important to Microsoft’s future.
  • Beverly, Mass. – We develop Groove and operate the Groove services infrastructure from here.
  • Dublin, Ireland – Our Dublin location is our globalization hub and from here we localize, test, and release Office in over 30 languages.
  • Tokyo, Japan – In Tokyo we target our development efforts towards specific needs of the Japanese market, since culturally and linguistically customers require Japanese specific features.  We have also learned that many of these needs actually solve problems around the world (like enhanced tables in Word) so this team will routinely ship their work as part of the worldwide product.  We also create the Japanese localization of our product here.  Through an East Asian effort (Japan, China, Taiwan, Korea) we develop the Input Method Editor (IME) which is a linguistic tool that allows the mapping of keystrokes to Japanese, Chinese, Korean characters.  This is some high tech work that has been ongoing for many years and has involved collaboration with linguists and Microsoft Research. 
  • Beijing and Taipei – As with Tokyo, we develop local features for the China market in these two R&D locations.  We also create the localized products here for Simplified Chinese and Traditional Chinese (the two scripts).  As an example of the work done here, we have developed the ability to send SMS messages from Outlook, which is super important for the China market.
  • Seoul, Korea – Similarly, we create the local features for the Korea market and also localize the software into Korean.  In Korea, workflow and Office automation are very important so for example in Office “12” we have done quite a bit of that type of work here in Korea.
  • Global Product Planning – in addition to all this we maintain product planners in several other additional locations in Europe and the Middle East.  They are responsible for the market-based intelligence and working with customers in their native language to better understand their needs and how Office can help.

For most US and Canadian college graduates looking for a technical career the primary locations to consider are Redmond, Mountain View, and Beverly.  This is where you will join the teams that build the worldwide executables.  Working in one of the Asian offices would require language skills (Trust me!  Last year, I spent 3 months living in Beijing and you definitely want to speak Chinese.)


From the earliest days Microsoft has chosen an R&D model that encouraged all developers to work in one central location.  This was not the industry norm as set by IBM where development happened equally all over the world (nor was the fact that most all developers have a private office at Microsoft compared to cubicles).  The reason was that there is a strong belief that to build highly complex systems you need to have very high bandwidth communication.   The core customer benefit that we drive to is to deliver software that works together and software that has a 1+1=3 cumulative effect.  So for example, customers that invest in one technology for working with one product can use that same technology and work with other products.  Now this is very hard to deliver and we continue to have ambitious goals to meet customer needs, but this integration is something that Microsoft does work to deliver uniquely.  Some like to say that this type of development is slower and that it reduces the pace of innovation.  Such statements leave out two important characteristics.  First, the integration of products is itself innovation—having two pieces of software work well together in a unique high bandwidth manner is innovative (before Office, word processors and spreadsheets shared information through file import/export of proprietary formats, not just a clipboard).  Second, I have never met a customer that does not request even more integration than we currently deliver and the flip side is that I have never met a customer that wants to invest in “point solutions” or a series of unrelated products.  But I digress…


So we are focused very much on developing our software from our campus in Redmond.  There are a couple of things to really think about when you consider that some companies will essentially let you work from home (wherever that might be) or will let you work in a satellite office:



  • Critical mass – For any R&D facility you need critical mass to cause the flow of ideas and feedback to really work.  You need to interact with people, to bounce ideas around, and to have other people to help solve problems.  This number is way bigger than you think if you have just experienced college scale projects.  I think the minimum number for this is to have about 50-100 people working on the same set of goals and project.
  • Visibility of your work – Everyone wants to see their work presented and valued by the leaders of the company and your group.  In Office, as we conclude the coding for each project we invite BillG to tour the building and see demos from each team (and during the project we will present to him many times as well).  This can only work because we have most developers in Redmond and Bill is in Redmond. 
  • Management input – Along with visibility of the work, the truth is that for your work to be connected and part of the group’s mission it really helps for work to be discussed and talked about at regular intervals.  While electronic communication is obviously easy and available to all of us, I have found that nothing beats face to face meetings.  Often these are informal and happen in hallways and other occasions.  I’ve heard stories about other companies where to get your work “approved” you need to come in Saturday night for a 5 minute meeting with one of the founders.  While that sounds exciting and cool, if you want big things to come of your work you are going to want more of an opportunity to share your work or make your case.
  • Career opportunity – Everyone wants to gain deeper technical knowledge or broaden their management skills.  To do so is going to require a critical mass of products or people to work with.  Small satellite offices or working from home make this very challenging.  If you work in a satellite office then there is a good chance that moving on to a new project will require you to move to a new location.  Or if you want to move to management you might not have as many opportunities in a satellite office because the number of jobs and the growth of employees is limited.
  • Sales and marketing – Even if you are technical employee, there will come a time when you either need to or want to interact with the sales and marketing folks.  You might want to get their input on features or you might want them to set up some time with customers.  Generally speaking, if you are not in the main part of the company’s facilities you are not likely going to be near sales and marketing, as those folks tend to be located pretty close to the executive offices (go figure).

That said, offices that are “remote” can be made to work but it takes an deep commitment from the management team—the people that the most senior members of the team in the remote site report to.  For example, the manager of our team in Mountain View spends 2 days every other week down in Mountain View.  I manage our Groove team and I travel east every 4-6 weeks to spend a full day meeting with the team and meeting 1:1. 


And working remote takes a commitment from the rest of the team to support this type of work.  The members of our teams around the world all travel to Redmond.  The closer teams (Beverly and Mountain View) travel very frequently sometimes as much as every other week.  But it is not enough for them to make it out here.  Because we value the integrated approach to development, the members of the team that work here in Redmond are prepared to work closely with these other team members as if they worked here full time.  We also have members of our team from overseas spending 2 or 3 weeks at our Redmond campus.


We also work very hard to move people between our sites, in keeping with our general guidelines that working through full product cycles is super important.  Also, because we are focused on building out the sites we do choose as extensions to our headquarters R&D and not isolated projects, locations such as SVC are used by all the product lines, which means you have opportunities to move to other projects at the remote facility and still be connected to significant mainstream projects at headquarters.


Also both BillG and SteveB visit our sites outside of Redmond routinely.  For example, SteveB was just at our Dublin facility and BillG just visited our Japan facility where he got a demo of the IME and workflow features mentioned above.


This means we have an incredibly high level of commitment to our remote development sites.  They are critical to our success and very much “first class citizens”.  Yet there are challenges in maintaining these sites and it is not as easy at it seems. 


It is easy to be seduced by a company saying that you can tele-commute or work at a small satellite office.  For a short time that might actually work.  In the medium term you have to ask yourself if the tradeoffs are compatible with your own career goals.  And over the long term you have to consider that the opportunities that will be open to you will be a different set than if you were part of the bigger corporate structure.  And ask your potential employer what is the visibility the remote site has to corporate?  Will the manager of the site at corporate be a core R&D person or a “facilities manager”?  Will the CEO/founder visit the site?  Will the manager from the main R&D facility visit? How often?


Another thing to consider is that when you have a core R&D facility and the company works on the breadth of products that Microsoft does there are two advantages.  First, you have access to experts in just about any field—if you are working on SharePoint and want to get the best advice on how to use SQL Server then the team is right there and willing to help.  Or if you are pushing the state of the art in development tools and want to work with leading researchers, Microsoft Research is right there.  And second, you open up a great deal of career flexibility for yourself—you can find new opportunities on new technologies or you can pursue career growth through management, or both.  All of these represent opportunities in the Redmond facility at Microsoft, and when combined with the balanced approach we take with remote development, I think we have a very good set of opportunities.


This topic would not be complete without a few words about “off-shore” development.  This year Microsoft will hire a record number of college graduates (and experienced individuals) to our product groups.  Our demand for talented employees is still greater.  Because of that we will continue to hire record numbers in the US while at the same time continue to grow the facilities we have had overseas.  As you can see, developing software from a single location affords us a chance to do great work for customers and this will continue to be our primary mission and our primary engineering structure.


–Steven

Comments (26)

  1. guns says:

    I am surprised that you have 2 big offices in Hyderabad and Bangalore, India and it didnt get mentioned.

    Is it because of all the outsourcing outcry?

    "Because of that we will continue to hire record numbers in the US while at the same time continue to grow the facilities we have had overseas."

    Is this where the development of software in countries like India get mentioned?

  2. steven_sinofsky says:

    The sites listed are those involved in developing Microsoft Office.

    Microsoft as a whole has many other sites, including those in India you mention.

  3. steven_sinofsky says:

    I appreciate the discussion on a personal situation relative to global product development at another company, but it is not related to this topic. So I’ve taken the liberty to remove the back and forth comments.

    –Steven

  4. Fadi says:

    Hi Steven,

    What are the different job responsibilities you have in a typical Office development site like the one in Redmond? For example, besides developers (including Junior Developers to Sr. Architects), what kind of skills does your team need?

    Thanks

    Fadi

  5. Fadi says:

    Ok, got it. Thanks a lot.

    I need a personal advice. Can i write you on your email?

  6. Fadi says:

    and speaking about languages…I am fluent with 3 and just started intensive courses wih a 4th one 🙂

  7. Fadi says:

    In reference to the post on August 8th, I just met through LinkedIn, Yuko, a program manager at Microsoft. Check this out…she majored in Art Education for Children!!

  8. Max Palmer says:

    Thanks for responding to my question Steven. It’s really excellent to get some two way communication going.

    I agree with many of the sentiments about multi-site development, having had experience of it myself.

    Max (based in the UK BTW)

  9. dB. says:

    Steven,

    Thanks to your response to my question (I asked the “Why would a new grad come to Seattle to work for Microsoft when he can work for Google in Mountain View, New York City or Zurich?"). Unfortunately I didn’t find any good answers in it. Yet again I read several paragraphs of reasons why centralized development is better or how much commitment for remote locations executives need to make.

    All these things are true.

    But it’s also true that Microsoft is loosing talented people because of location. It’s loosing them to companies like Google, who are expanding presence in big cities that are more exciting to live than the foggy Dublin. Rather than centralize into a big monolithic organization Google distributes products and developments acting like a combination of startups rather than a top-to-bottom tree. Such distribution shows even better results as it requires more open and well communicated standards, clearer interfaces and better process. In contrast with many executive-level management difficulties that you have outlined (“Will the manager of the site at corporate be a core R&D person or a "facilities manager"? Will the CEO/founder visit the site? Will the manager from the main R&D facility visit? How often?”), such a model focuses on mid-level management and execution talent. I believe there *is* a big disconnect today and the sentiment that top-level executives are really too far away from the reality of the code is justified.

    Microsoft has done some steps in the right direction though with research centers in Haifa or Shanghai and even some products there (ISA server). I would like to see it create growing product development organizations in New York, Moscow, Zurich or Paris and give a path to its engineers around the world.

    -dB.

  10. Max Palmer says:

    To follow up on some of dB’s comments:

    I also believe that a centralised approach to development does have a drawback in that it results in Microsoft missing out on a large pool of talent. Of course, Steven’s response has shown that there are satelite facilities in the case of Office and I am sure there must be many others associated with other Microsoft products. However, the number of core product development sites does seem relatively low, if you consider that many of the ‘satelite’ sites are devoted to testing, localisation or research. This point is of particular relevance if you are a software engineer who is not based in north America, since it may not be possible to relocate to the US, either as a result of personal issues, employment laws, or other commitments.

    Now, one could argue that Microsoft is a US based company and therefore is likely to undertake most development in the US. However, I also believe that recruiting and developing internationally gives a greater depth of understanding of users’ needs and significantly boosts creativity – and no-one (I hope) is going to argue that Microsoft is not a significant supplier of software outside of the US.

    Don’t get me wrong, I attended the PDC for the first time this year and was very impressed with what Microsoft is up to and what may follow over the next 5 years, more so than I have been for a long time. However, I did feel somewhat provincial when thinking about how I could participate in (or even influence) Microsoft’s vision for the future and this is probably what motivates this response.

    The opportunity to participate in blogs like these is a great development though and I applaud all those at Microsoft who are making the effort to reach out and communicate. It is very much appreciated. I will continue to follow them with keen interest.

  11. steven_sinofsky says:

    I think I tried to say that we do development all around the world, though you do seem to have a special interest in two locations 🙂

    There are people that believe that the location they live trumps the career opportunities open to them—that is ok as everyone has choices to make. My goal in writing the post was to make sure that folks that are considering their priorities (since many of the readers are graduating from college and just spent a few years at a new address) should consider the full range of issues, not just the city they can live in. These issues are real—I have managed remote development for global products for more than ten years.

    I have experienced all types of development processes and all types of promises made to employees who work both at HQ and other sites. I tried to summarize what sort of commitment you would get from me if you chose to work for either the headquarters site or one of our sites around the US or the world. We’re hiring all over the place (though maybe not in Zurich).

    There might be candidates who would consider Microsoft if we had R&D locations that we don’t currently have. In the future we might have those sites. If we don’t know I don’t want to mislead a candidate or more important I don’t want to offer them less than they deserve, which is the potential to have a full rich career at Microsoft. That means that when we commit to a location you will get management attention, the focus on the site for building it as a place you can have a career, and most of all a commitment to you as a long term employee. My experience has been that a lot of companies go for telecommuting or will open up a site centered on a single person or single project, only to shut the site down the road when circumstances change. It is a big commitment to an employee and an employee is making a big commitment to Microsoft. I believe in holding up my end, which is to provide a long term career opportunity.

    My experience has been that remote sites at most companies are dedicated to a single project or centered on a single person. Joining that site is a proposition that is not without risk. The sites I described for Office are long term, have been there for a long time, and are deeply rooted in our product development process. That did not come without work and comes with a deep commitment from our team. We did not open those sites to have a ‘’cool’’ place to work, but we opened them to address business issues and to build an asset there. In particular, we opened these sites because they represent unique perspectives that can be brought to developing products—in Asia, Europe, Silicon Valley, etc. We opened these sites to build that perspective into the product—one use of the table pencil in Word, borders in Excel, or our new workflow features in Office12 will tell you how we baked that global perspective into the product by using developers all around the world.

    So I think we all agree, but I am just being up front about the balance that it takes and more importantly not trying to sell you a bill of goods. Telecommuting can work in very limited ways, but it is not something to try to build a career out of. Remote site development can work in some ways, but in other ways it is limited, and in all cases to be long term successful requires a commitment from the whole team and especially the management team.

    I hope that sheds some light on the topic.

  12. alex says:

    another interesting post steven! 🙂 One topic I’d like to hear about in the future is the MS technical career path. Like what is the diff in the responsibilities between a dev lead vs an architect? what is the road to become an architect or distinguished engineer?

  13. Feroze Daud says:

    Hi! Steve,

    We also do some development in North Carolina, that you forgot to mention.

    feroze.

  14. B says:

    I have to jump in and say that there are a lot worse places in the world than Seattle. Seattle, IMHO, is one of the most beautiful, geographically stunning, vibrant, arts&culture-filled cities in the US. It’s reputation as the rain capital is not really deserved, especially when you look at where it falls relative to other major US cities, however it does serve to deter those who may be too quick to judge.

  15. Eden Li says:

    As someone who works on a remote dev site for Microsoft, I don’t quite agree that the issues that you’ve brought up can’t be worked through and are absolute deal breakers for any sort of remote development. Any project is going to have its challenges and its up to the team to think of creative ways to solve them and put processes into place to make things work. I look to your list of five points about why remote dev doesn’t work and instead look at them as challenges to actively manage and overcome.

    So obviously things would be easier if there weren’t these 5 things (among others) in the way, so what is the benefit for slogging through it? Exactly what the other posters have mentioned — a wealth of engineering talent that would have otherwise not had the chance to make an impact on Microsoft or its products. There are way too many smart dev/test/PMs at this center that are unable or unwilling to leave to go live in the US (me among them).

    I understand that you share a different viewpoint, and I see the quality development and feature-rich, highly usable products that come from the Office team, so I don’t think I’ll be able to change your opinion on this. But I am so so glad that there are other product groups around that want to do (and indeed depend on doing) remote development. So far, we’ve delivered features (not SE, not loc) into teams across all 7 P&Ls (now 3) in the last 2 years and I see us sticking around for the long term.

  16. Steven,

    What a fantastic service you’re providing to college graduates who are interested in pursuing a career at Microsoft. I know that I’m preaching to the choir, but your firm has grown so much over the past couple of decades that for those who are on the outside it can be quite daunting for these candidates to try to figure out an appropriate point of contact. I consistently cite the Microsoft web site as one of the best designed sites for potential candidates, but your blog does such a great job of personalizing Microsoft to these candidates.

  17. Benny says:

    I’m researching Microsoft’s global software development organisation. It’s easy enough to find out where ‘Microsoft Research’ has offices, but I assume that MS must also have a number of other development sites – some of them established and some of them acquired. When MS acquires a company it’s sometimes integrated into Redmond and sometimes kept as a separate site.

    Is there any way I can get an overview of MS’s development sites?

  18. Clay says:

    Steven,

    You might not be the right person to ask this question since your blog subtitle is "Discussion for college grads interested in learning about careers at Microsoft."

    I’m a college grad (13 years ago) and I turned down a job at Microsoft 6 years ago. Although I LOVED Microsoft and the people I met, I’m happy for that choice as I know own a company writing baseball games.

    Anyway, as a developer and also a CEO, I run a lot of apps at the same time. I’m worried that Office ’12’ will be GREAT, but will be a resource hog. Thus, it will be essentially unusable for me and I’ll have to stick with Office 2003.

    With Intel hitting a wall with hardware, what can you say about the performance of Office ’12’, and the attention that the dev team is paying to it (and to performance in the next incarnation of Windows)?

    Thanks!!!

    Clay

    cjd at sportsmogul dot com