<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Steven Sinofsky's Microsoft TechTalk : Job Descriptions</title><link>http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx</link><description>Tags: Job Descriptions</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Interns -- the intern experience in Office</title><link>http://blogs.msdn.com/techtalk/archive/2006/02/23/interns06.aspx</link><pubDate>Fri, 24 Feb 2006 01:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:538214</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/538214.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=538214</wfw:commentRss><description>&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;We’re actively hiring interns from the college campuses we visit.&amp;nbsp; I wanted to use this as an opportunity to talk about what it is like to be an intern in Office.&amp;nbsp; &lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial size=2&gt;You can read about the specifics of the intern program on the intern web site: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/college/ip_overview.mspx"&gt;&lt;FONT face=Arial size=2&gt;http://www.microsoft.com/college/ip_overview.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;.&amp;nbsp; You can read about the job types available (SDE, SDET, PM) on the product groups as well as the structure of the internship (12 weeks min), and the benefits (endless fun).&amp;nbsp; I’m going to focus on the part I like the most which is the work you get to do on Office.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;First and foremost, as an intern you are considered a regular member of the team from the day you start.&amp;nbsp; There is a lot of opportunity to learn and of course we don’t expect you to be proficient in your discipline at a commercial level when you show up.&amp;nbsp; In fact the point of the summer is to offer you the opportunity to rapidly learn the skills necessary to write code, test products, or design features at a commercial scale for 400 million customers around the world.&amp;nbsp; My goal for all the interns is to work on something that customers will see when Office12 ships.&amp;nbsp; So whether you are an SDE, SDET, or PM we structure our projects so you have the opportunity to contribute to something broadly used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;I would emphasize “opportunity” because a big part of the internship is offering you the opportunity.&amp;nbsp; Microsoft has always offered a place where if you have the skills and abilities your work has an opportunity to shine.&amp;nbsp; What we ask for the opportunity is hard work, an open mind, and a commitment to the project.&amp;nbsp; Being an intern in Office is not easy, and it certainly isn’t a summer vacation.&amp;nbsp; In fact, some students are a bit surprised at the challenges at contributing software to such a broadly used product.&amp;nbsp; It is a lot different than working on an assignment at school, that’s for sure.&amp;nbsp; Some of the big differences:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;B&gt;Tools and techniques&lt;/B&gt; – building software (whether on a PC or on a server) for a broad set of customers requires a different set of tools and techniques.&amp;nbsp; You are likely to be using tools such as Visual Studio and the .NET framework designed to work with large numbers of developers on big projects.&amp;nbsp; So you will spend some time getting up to speed on C#, C++, etc. if you do not already know them—don’t worry you don’t need to know them.&amp;nbsp; We also of course have a group internally that trains on these tools and offers courses in these and all sorts of other areas which you can tap into.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;B&gt;Security, Privacy, and Quality in general&lt;/B&gt; – perhaps the biggest difference between commercial software at scale and other projects is the need for all of the factors that customers expect under the umbrella of quality.&amp;nbsp; This means you will spend a lot of time designing in, coding, or validating these needs of the product.&amp;nbsp; You will spend way more time on this than you have spent previously on non-commercial products.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;B&gt;Performance &lt;/B&gt;– performance (speed, memory usage) are key to commercial code.&amp;nbsp; All that stuff you learned in algorithms will matter a ton.&amp;nbsp; You will need to consider your design in the context of a large system so you will not have the freedom to use a ton of resources on just your part of the world.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;B&gt;Iteration &lt;/B&gt;– The biggest difference I always think is that you will spend more time on one area than you would in a course.&amp;nbsp; You will spend time iterating on the design, test plan, or code because getting it right is the goal.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;B&gt;Scale &lt;/B&gt;– Perhaps the biggest contrast to coursework is going to be the scale of working on software like Office.&amp;nbsp; As described before, while in theory it is cool if you can make a few billion dollars with a group of 20 people, in practice this hasn’t proven to be the case.&amp;nbsp; Microsoft, Yahoo, Google, and others are all very big companies.&amp;nbsp; In fact we are at the point where most of us have a number of developers that pretty much feels the same—once you get past about 1500 or 2000 developers it is tough to tell the difference, which is why Microsoft feels the same to me now as it did when I started (the company was a total of 3,500).&amp;nbsp; By the way, don’t get confused by the numbers you read about the size of a company overall.&amp;nbsp; Microsoft in particular (among those) has a large global sales force which requires a lot of corporate infrastructure outside of “developers”.&amp;nbsp; For what it is worth, the team that creates all of the Microsoft Office Professional code fits in building 36 (and some in Mountain View!) and the number of developers is in the mid 100’s.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style3&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&lt;SPAN class=style1&gt;&lt;B&gt;Mentorship &lt;/B&gt;– and finally an important part of working in a commercial setting, and perhaps the biggest learning opportunity as an intern, is getting to work closely with an experienced member of the team.&amp;nbsp; You will have daily contact with your “mentor” and you will frequently interact with your group manager.&amp;nbsp; I would add that I will definitely be on the lookout for cool projects and might drop by your office for a quick demo when you’re not expecting it :-)&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;o:p&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;Leaving out all the details of the cool furnished apartments and stuff, your internship will start with an orientation that all interns receive—you learn about all the benefits, meet lots of other interns, and get the scoop on the summer event schedule (activities, parties, outings, etc.).&amp;nbsp; Shortly after that&amp;nbsp; you’ll head over to your office.&amp;nbsp; Interns work in the same offices that full time employees do though generally, just like in college, you’ll share an office with another intern.&amp;nbsp; You’ll get all your hardware and spend some time getting your @microsoft.com email address and the like.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;Next up you will start to talk about your project and what the summer holds for you.&amp;nbsp; Things will move pretty quickly since you only have two weeks.&amp;nbsp; Your mentor has written up your project plan—the plan will outline resources, objectives, and explain the overall project to you.&amp;nbsp; Of course this is just the start and your own view of things will contribute greatly to how the project plays out.&amp;nbsp; You will probably spend the next day or two getting oriented around the code, tools, and finding the drinks and cafeteria.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;You will work with your mentor pretty consistently.&amp;nbsp; You’ll begin to get a handle on the project, but you’ll have a ton of questions and you will start learning right away.&amp;nbsp; You’ll see the amazing stuff that goes into building a product like Office.&amp;nbsp; You can head over to the labs where we have all the hardware that builds and tests Office if you want to get a real sense of things.&amp;nbsp; If you are in program management you might spend some time in the usability labs or in focus groups/field studies.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;Specifically for Office 2007 we are going to be at a super exciting time as a team because we’re heading into the final phases of the project.&amp;nbsp; You will have an opportunity to be on the inside of a super important project.&amp;nbsp; Because we’re winding up, in all likelihood you will be working on forward-looking projects helping us to define the next product.&amp;nbsp; You might work on an area that we are going to release on the web or put in the first post-release service pack.&amp;nbsp; Or you might actually get to work on the final phases of 2007.&amp;nbsp; It all depends on the project and a little bit on your job.&amp;nbsp; If you are an SDE or PM, there is a good chance you will work on future work, which is appropriate since many on the team will be doing the same.&amp;nbsp; If you are an SDET you will want to join up with the full-time SDETs who are focused on the 2007 quality issues—performance, security, etc.&amp;nbsp; In all cases, there is a ton of cool stuff we’ll be working on.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;Since you are a full fledged member of the team you will also participate in all the team activities—events outside of work or team meetings and the other things that go on as we build Office.&amp;nbsp; There will be a lot of neat stuff to see in action—how we release the products, how our OfficeOnline web site works, how customers are using the beta release, etc.&amp;nbsp; Team meetings are all about keeping up to date on that sort of information.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;Let’s fast forward to the end of the summer—your project is rocking, you did way more than you were supposed to, and in general had a great time.&amp;nbsp; The final thing we ask of all interns is to present their work to the team and to the corporate VP of your group.&amp;nbsp; This is the most fun for me since I try to go to as many of these as I can.&amp;nbsp; You’ll find a very receptive and supportive audience.&amp;nbsp; This is an important part of your experience because in the corporate environment you are often called upon to present your work and undergo a peer review ;-)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;The work is challenging—there is no doubt about that.&amp;nbsp; It is not a vacation since you are contributing real code to products customers will pay real money to use.&amp;nbsp; The stakes are high so we will take the work seriously.&amp;nbsp; In exchange you’ll have an experience that is pretty close to real world.&amp;nbsp; We don’t try to dress it up and we don’t hide the hard parts.&amp;nbsp; Sure there is the party at the Chairman’s house and more stuff planned and scheduled than you can imagine, but the work is real!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;I should also mention the opportunity you have to learn about the rest of Microsoft and things like Microsoft Research (MSR).&amp;nbsp; Throughout the summer there are open talks by leading researchers and guest speakers of all sorts invited by MSR.&amp;nbsp; These are streamed to your desk or you can head over in person.&amp;nbsp; In addition, each week there is a “tech talk” (where the name of this blog came from) from a product group VP who offers up a view from their product/area (and in my case, a bunch of cool free stuff if you know how to work the system!)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;I hope to see you at the tech talk this summer!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;o:p&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=style4&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;--Steven&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=538214" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Experiences+_4000_+Microsoft/default.aspx">Experiences @ Microsoft</category></item><item><title>Dev (or SDE) at Microsoft</title><link>http://blogs.msdn.com/techtalk/archive/2006/02/02/dev-at-microsoft.aspx</link><pubDate>Fri, 03 Feb 2006 04:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:523695</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>20</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/523695.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=523695</wfw:commentRss><description>&lt;DIV class=Section1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;As we hit the college campuses for the second half of recruiting, it seemed like a good idea to pick up where we left off.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"&gt;Development at Microsoft&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Let's talk about development at Microsoft and what it is like to be a Software Design Engineer (or SDE as we call them, or just "dev").&amp;nbsp; My last post described PM at Microsoft (Office in particular) so I thought I would talk about Development today.&amp;nbsp; Development does not have the subtleties that PM does so I don't think it will take as many bytes to describe.&amp;nbsp; From the very beginning Microsoft has been a development driven culture and organization.&amp;nbsp; Of course this starts with Bill Gates and Paul Allen two developers with a very famous story about writing a BASIC interpreter in a weekend.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Obviously the first thing that comes to mind is that at a software company, without developers the company really doesn't exist.&amp;nbsp; And of course Microsoft is no exception.&amp;nbsp; While the company has grown from what I would say was a "developer-driven" company where basically everything was about development, to a more grown-up and well-rounded company with the right focus on customers, business, and the market, we have consistently remained very much a technical and product company.&amp;nbsp; Of course this starts at the top, where our Chairman of the Board is also the company's Chief Software Architect.&amp;nbsp; Also, this post might show a bit more of me and be a bit more personal because development is where I started at Microsoft and because I am one of those folks that has a very romantic view of programming.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;At the risk of perhaps ruffling the feathers of some others at Microsoft (myself included), one analogy that was shared with me back when I was a developer is that being a developer at Microsoft is like being a fighter pilot on an aircraft carrier (can you tell about what year this was and what movie was still top of mind?)&amp;nbsp; An aircraft carrier exists to push the airpower and does so on ships that have over 80 aircraft on them, and those aircraft are supported by a crew of nearly 6,000 (on a ship like the Nimitz).&amp;nbsp; So you can imagine while there are a bunch of pilots, the infrastructure of the ship (from mechanics, to naval officers, to doctors, ship's defenses, etc.) are all focused on insuring that the aircraft and resources and doing their duty.&amp;nbsp; So in a sense, if you're a developer at Microsoft then you're on a ship that is all about making sure you can accomplish your mission.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The mission of being a developer is much easier to detail than that of program management--developers write the tightest, most secure, most robust, most performant code possible.&amp;nbsp; At the same time, it is not just any code, but the best code that addresses customer problems in innovative ways for the broadest audience.&amp;nbsp; You can write great code in a lot of places.&amp;nbsp; Being a developer at Microsoft means you're writing code used by hundreds of millions of people who literally bet their livelihood on us.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;A year after I joined Microsoft, my recruiter asked me for a quote for our recruiting brochure (I can't find it or I'd scan it in) saying why I wanted to work at Microsoft.&amp;nbsp; For me, the thing about being a developer here is that impact.&amp;nbsp; In graduate school I was working on a class library and working on connecting it up to databases. It was super cool and I had a great time.&amp;nbsp; I came to Microsoft and worked on that same type of project, but instead of sharing the code with my lab mates and a few other interested researchers we were selling the product as a big part of our C++ product line.&amp;nbsp; And before I knew it we had hundreds of thousands of developers using our tools making software for millions.&amp;nbsp; For me that has always been the greatest rush.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;As a quick story, I was on one of my reasonably regular recruiting trips to Cornell back around 1995 or so.&amp;nbsp; It was late at night and of course high on my agenda was returning to the Hot Truck on west campus for on of Bob's PMPs ("French bread pizza", an idea copied by Stouffer's mind you).&amp;nbsp; As a quick side note, about 10 years after you graduate your body is not really able to handle these treats, which explains why they only serve PMPs at your 5 year reunion.&amp;nbsp; In any event, it was cold and some others were waiting for food along with me (waiting means standing on a stairway in front of the truck) and I'm sure they were wondering what this grown up was doing there ("loser grad student" comes to mind).&amp;nbsp; They were talking about a cool program they were using in their comp sci class.&amp;nbsp; As the details unfolded it was clear they were talking about Microsoft Visual C++.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I couldn't resist so I jumped in with a "hey I worked on that".&amp;nbsp; Somewhat amazed (perhaps at my rudeness) but nonetheless interested.&amp;nbsp; We ended up having a detailed conversation about the emerging importance of C++ and the implementation issues they faced in class, with particular emphasis on code and technical details (multiple inheritance, virtual function tables, etc.).&amp;nbsp; One student was so excited he said "wait a minute" and ran back to his room to get his box of C++ &lt;I&gt;so that I could autograph it.&lt;/I&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Here's the hot truck in action (this is a reunion photo so it is warm and the people waiting are not students):&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG height=193 src="http://www.news.cornell.edu/Chronicle/01/6.14.01/r-hottruck.JPG" width=288 border=0&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;OK you get it, being a developer is cool.&amp;nbsp; So what does a developer do at Microsoft?&amp;nbsp; Like all the product development jobs, a good way to think about this is to look at the primary phases of a product cycle -- in developer terms you could think of these as evaluate, architecture and scaffolding, construction, and polish.&amp;nbsp; Like all disciplines, &lt;B&gt;development is one equal part of our product development process.&amp;nbsp; &lt;/B&gt;In some ways, the other disciplines exist to make sure our developers are 100% focused on building great features, writing great code, and doing a great job.&amp;nbsp; For the record, this most certainly includes me!&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;As is often the case when I talk with students about the product cycle, the conventional wisdom these days continues to be that it is way cool to work on short projects and that the world has moved on from big long software projects--this is the myth of &lt;I&gt;cool projects can be done in one summer&lt;/I&gt;.&amp;nbsp; It is hard to disagree in some sense--if you can have all the benefits of lots of customers, long term success, and profits by doing a small amount of work in a short time, then that is definitely preferable to doing a lot of work over 24 months.&amp;nbsp; Unfortunately, there are very few small programs that are also interesting from a business perspective, especially over any sustained time.&amp;nbsp; And of course today's small program is tomorrow's big program and asset that customers want to bring forward.&amp;nbsp; In several posts I've talked about the product cycle and how we work in Office.&amp;nbsp; I think the rewards that come from building a unique "economic asset" for Microsoft and customers are very great (from a personal accomplishment and a business perspective).&amp;nbsp; I love a cool "project" and we definitely have those for interns, but trying to make a big company out of a lot of projects is exceedingly difficult (a wise leader of Microsoft once said, you can't make a billion dollar company out of one hundred $10 million dollar products).&amp;nbsp; There are some other &lt;I&gt;myths of development&lt;/I&gt; that I will follow up on next post.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"&gt;Evaluate and Estimate&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Let’s assume program management has done the groundwork to come up with a good range of feature ideas and you’re now facing a long list of potential features.&amp;nbsp; Many of them are exciting.&amp;nbsp; Many are things you wish you had *today*.&amp;nbsp; Some of them look dorky.&amp;nbsp; Some of them look like implementing them in code involves changing the laws of physics.&amp;nbsp; This is where development brings their point of view to the picture and collaborates with program management (and test) to determine what can possibly be implemented.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;At this point a lot of organizations would just pass the baton to development and they would take a “spec” or a “market requirements document” and do the set of things that make sense to them, without much of a feedback loop (until perhaps later when some features that were important to the boss fail to show up).&amp;nbsp; In Office, this feedback loop is a critical one that takes a lot of energy—we call this “adds/cuts” since during this time we are building a list of the features we will implement and deciding which ones go on the list (add) and which ones fall off (cut).&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;At the same time, particularly for work that is reworking past ideas or improving in-market features, developers have their own ideas about what makes sense.&amp;nbsp; Just as a program manager would do, the role of development is to convince program management to devote the bandwidth to adding those features. &amp;nbsp;It goes without saying, but developers dream up some of the coolest ideas around. One of the coolest that I can think of recently has been the evolution of “Watson” – this is the quality assurance feature in Office that uses the internet to reflect back to Microsoft (anonymously and privately and opt-in) the experience customers are having with the software.&amp;nbsp; This was dreamed up and executed by developers in their spare time.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;So development is not there just to “code” the aspirations of program management.&amp;nbsp; Development is also not there to dream up all the features on their own.&amp;nbsp; Remember, there is a lot that went into the program management feature list, vision, and other groundwork.&amp;nbsp; Of course in the end developers “own the code” and they could just go off and do things their own way, but this does not scale very well—you can imagine that as a developer you might know a whole lot about how to use a feature like pivot tables in Excel, but unless you’ve spent the time with bankers looking at how they use them and time talking to VARs who build solutions on pivot tables there is a good chance your views of what to do are based more on the code and the possibilities of the code, rather than the customer’s needs.&amp;nbsp; After all, the most amazing developers are those that make the code do what the customer wants, rather than make the customer like what the code (or developer) wants to do :-) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;With this rough list of features in hand, as a developer you are responsible for looking at the challenge and looking at the cost of implementing it.&amp;nbsp; You are responsible for understanding the problem to a level of depth that can allow you to estimate the cost of the feature, including all the edge conditions, error handling, scale and performance, quality, globalization, and more.&amp;nbsp; Of course at this phase you are not expected to get the estimate down to the day (and frankly, it is not likely your program manager counterparts have ironed out the details enough anyway).&amp;nbsp; But what you need to do is to be able to determine the feasibility of the work.&amp;nbsp; This feasibility is super important.&amp;nbsp; If you are off in this area then there is a good chance your work will be very hard to ship.&amp;nbsp; The best part about being a developer, even a new one out of college, is that you own this decision.&amp;nbsp; You can say "no it cannot be done" or "it can be done, but perhaps there is a better way", or "you bet, I'm the one to get this done just like you described".&amp;nbsp; This back-and-forth is critical to being able to successfully determine what is in the product or not.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;This brings us to another quick aside, which is the notion that you should just try stuff out and see if it works and if it doesn't, "oh well".&amp;nbsp; I think this is a great notion to strive for and for small products it might be a good idea.&amp;nbsp; But for anything that has any level of complexity, even trying something out is expensive enough that you want to have a high confidence in success before you start.&amp;nbsp; What's the old carpenter saying, measure twice, cut once -- I think that holds just as much for software even though you don't immediately see the downside of a bad estimate. While this looks like some serial “waterfall” process, in fact it is entirely iterative and the goal of this is to allow small groups of people to act as a small team within a big team.&amp;nbsp; But having this information allows us to coordinate and make decisions as a whole.&amp;nbsp; So this way you can have two small teams contribute to a mission, work independently as possible, and have some coordination.&amp;nbsp; It fosters shared code that does not have to get defined at a very rigorous level, but a much more collaborative level, which is often what grinds cooperating teams and code sharing to a halt.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;As a developer exits this phase of the product he/she is equipped with a set of features and a rough estimate for the time it will take to get the work done.&amp;nbsp; The developer, working with the dev lead and dev manager, is busy at this point developing a high level task list of what aspects of the work need to get done and an ordering.&amp;nbsp; At this point you will iron out things like scoping the amount of user interface work, the amount of new infrastructure work, the amount of backward compatibility work, the amount of developer/API work, etc.&amp;nbsp; These big buckets look a lot like the specification areas from program management, but of course as a developer you are thinking about the amount of code that needs to get done for each based on those areas.&amp;nbsp; There is also work across the team because there are likely some serializations that will need to take place.&amp;nbsp; Of course the next step is to develop some architectural view of how to really go about implementing this work.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"&gt;Architect and Scaffold&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;For many developers the really fun part of a project is determining the architecture.&amp;nbsp; By architecture I mean precisely what you learn about in college courses--what are the systems, sub-systems, data-structures, and algorithms you will use for the major parts of a project.&amp;nbsp; As a developer, you are of course entirely responsible for these decisions.&amp;nbsp; Even if you are new you own these choices.&amp;nbsp; The good news in that case is you will have a dev lead who has experience with the code base and the project who will likely work very closely with you on this phase.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I love walking by developer offices during this phase of the project.&amp;nbsp; Whiteboards are filled with diagrams of pointers, data structures, and lots of "DO NOT ERASE".&amp;nbsp; There are always heated discussions about what choices to make.&amp;nbsp; It is during this phase that I believe developers make the most crucial decisions of a project.&amp;nbsp; As you know the architecture determines not just what can be built well right now, but how responsive to changing requirements the project will be in the future.&amp;nbsp; While it is great for every architecture you design to be able to respond to any change, that is really tough to do in practice.&amp;nbsp; So the best developers are those that work the closest with program management to really understand the direction that things might evolve--to the best of everyone's knowledge.&amp;nbsp; At the same time, it is always worth cautioning that trying to get your PM to say "no I will never ask you for this" might get you into trouble later in the project when things change.&amp;nbsp; That can lead to frustration, but it is of course always the best way to demonstrate the flexibility of your architecture.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;During this phase developers make up not just the code architecture, but the assumptions about what the code can handle down the road.&amp;nbsp; The data structures will be chosen to assume certain field lengths, certain limitations, or certain performance traits.&amp;nbsp; All the size v. space tradeoffs you learn about in college come into play here because as you know you can't just use infinite memory or infinite cycles.&amp;nbsp; It turns out that for client based applications the primary gating factor is memory usage, so being very clever about how you use memory and how many pages you touch can make a big difference in how your code performs (for example, in toolbars it is often an elegant design to just have each button be a bitmap, but loading 100 bitmaps off disk can be insanely time consuming at boot time when all you want to do is get work done, so you have to be clever about designing a system that can load one bitmap and create 100 buttons).&amp;nbsp; At the same time, the success of client applications depend immensely on the perceived performance.&amp;nbsp; So these choices early on have a big impact.&amp;nbsp; This is where experience and you mentor really help, because there are many things that come up time and time again.&amp;nbsp; Similarly on server code, the use of CPU and networking have similar issues and an architecture that assumes these are low cost might be very elegant but in practice be problematic. The creativity involved in elegance plus performance plus making something meaningful for customers is very fun!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I have met a lot of developers that say they want to be architects.&amp;nbsp; At Microsoft (and definitely in Office) *all* developers are architects.&amp;nbsp; In some ways I think the job title for everyone on our team should be Software Design Architect.&amp;nbsp; The reason is simple in that we want everyone to be thinking and acting architecturally with their code.&amp;nbsp; Because of that we have not historically needed separate people to be telling people what to do and how to do it without actually doing the work themselves.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;With the idea of what the overall architecture will be the next step is to put in place the scaffolding of the project.&amp;nbsp; This is a very personal thing for developers as each have their own way to go about doing this.&amp;nbsp; Some prefer take a depth first approach (I once read that great programmers spend 90% of the time on 10% of the problem, so maybe depth first isn't best, then again I think I spent my life on the CFile class of MFC).&amp;nbsp; Others prefer to take a breadth approach.&amp;nbsp; One of the most architecturally focused developers in Office who designed the line and page layout code in modern Word used a process where before any code at all was written all the header files and structure definitions needed to be complete--and the rule was that once coding started these were not going to change.&amp;nbsp; He wasn't stubborn, but rather just brilliant at doing the complete design ahead of time after appropriately studying the problem.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;There are a lot of things to consider at this point as well such as what code can be reused--why implement a new data structure when one exists to do the work.&amp;nbsp; There are items to consider like compatibility.&amp;nbsp; If your work will trample on an existing API that customers used then you will need to figure out how to continue to support that API.&amp;nbsp; You can look at these as a burden or as I prefer you get to look at them as useful engineering constraints.&amp;nbsp; An architect once told me that he loves doing projects where the land the house will be on has a lot of quirks--it makes the project interesting because it introduces constraints that aren't there in a flat quarter acre lot with no trees.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;In a three milestone project, this portion usually takes the first milestone.&amp;nbsp; As a developer you exit this milestone with a much clearer idea of the schedule and a much clearer idea of the work ahead of you.&amp;nbsp; Closing out this work and getting all the scaffolding checked in and getting those data structures working is a very significant milestone -- you feel like you wrapped your arms around the problem and can move on.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"&gt;Construct&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Of course what comes next is just solid coding.&amp;nbsp; This too is super fun because this is where you get those feelings of coming into work, writing some code, and showing off a new feature by lunch and maybe another new feature at the end of the day.&amp;nbsp; Like a long car trip from Florida to New England it feels like you made it through Florida and Georgia are hitting the Carolinas and you're knocking off states at a rapid pace (don't forget to stop at &lt;A href="http://www.pedroland.com/parkland.html"&gt;South of the Border&lt;/A&gt; though).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;For the most part during the construction phase you are writing code and making things work.&amp;nbsp; Every day brings new excitement.&amp;nbsp; You know you have really rounded the corner when people start dropping by your office because word traveled around the hallways about a new feature that is running on your machine. Often you'll see a screen shot passed around in email or a URL mailed around that we should all try out.&amp;nbsp; One of the new features in Office "12" that was done was the ability to use InfoPath forms in Groove -- this is a super important scenario for reliably collecting data when you are using a laptop not connected to the internet (such as when Groove is used in disaster relief work, for example).&amp;nbsp; I remember being in the Beverly,MA office where Groove is and seeing a super early demo -- you could literally open up a form in Groove.&amp;nbsp; You couldn't type or anything yet, but it was super exciting because it showed that the scaffolding and architecture were well on their way to being proven.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Of course other folks are hard at work while you are writing code, namely the testers you work with.&amp;nbsp; As you complete features or sub-systems the testers will begin to investigate the work you are doing and they might find some problems :-)&amp;nbsp; Some of these will be because features are not done or the error handling code is not there, but you might also have things that didn't work as planned.&amp;nbsp; In fact the more you make it through this the more testing will likely be able to push your code to the limits.&amp;nbsp; All of this of course helps you to make the code better.&amp;nbsp; As a developer you always strive to make no mistakes, but we know that is not possible, and so your best ally in building a great product in this phase are your coworkers in testing.&amp;nbsp; Similarly during this phase as a developer you will need to be very aware of the real world performance--things that are slow now will only get slower.&amp;nbsp; So you might find yourself revisiting some architectural decisions, since you know that it is much easier to deal with these upstream than hold off.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;As you wrap up this phase we are generally in what we call "code complete".&amp;nbsp; This means the feature work is done.&amp;nbsp; It means all the edge cases that were planned on are handled.&amp;nbsp; It means that as far as development is concerned the feature is ready for people to start to use and for the real feedback to begin.&amp;nbsp; There is still a lot of work to do, but your work now looks like a product.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Arial"&gt;Integrate and Polish&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;We're now getting ready for the beta test for the product.&amp;nbsp; The product is rough and we can't sell it, but you know what it is going to look like and most of all you are very excited to see what others might think.&amp;nbsp; When you build the product you see the incremental steps so when it all comes together it sometimes isn't as exciting as the first look at the feature.&amp;nbsp; For me, in Office "12" the PDF feature was like this.&amp;nbsp; Alex (and others) worked away on this for quite some time of course, but to us we knew it was a very simple "save as PDF" feature that would be on the "File" menu.&amp;nbsp; It was super cool of course but we'd seen the work evolve.&amp;nbsp; Then we had the chance to demo it to the MVPs when we announced the support and for those that were there we got to hear the memorable quote "if this works, I'll have your baby".&amp;nbsp; We were in the end-phase of the product but it sure reminded us just how cool customers thought the feature was!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;One of the most fun parts of this phase is when we invite BillG to the Office hallway and he spends the day going to developer offices and talking about the details of the code and architecture.&amp;nbsp; This is a tradition we do each release and is enormous fun for everyone, especially Bill.&amp;nbsp; We pick devs from each of our teams to demo their features and they prepare and plan on Bill stopping by.&amp;nbsp; You just hang out in your office and then Bill pops his head in.&amp;nbsp; You start your demo and hope that he doesn't stump you out of the gate!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Of course the polish phase is not always just fun reactions from customers.&amp;nbsp; There is a lot of great development that takes place as we really smooth out the product, nail the performance, and nail the quality.&amp;nbsp; The polish phase really is about fixing the bugs.&amp;nbsp; The fun part about being a developer during this phase is that you are working from a list of bugs and fixing them--a lot of people really like this style of work in that you know where you stand every day and nothing is too open ended.&amp;nbsp; Bug fixing for many is a sport.&amp;nbsp; My first manager was just amazing at being able to almost detect the source of the bug by sensing some sort of EMF from the monitor--he was especially adept at using intel hardware breakpoints to track down errant pointers.&amp;nbsp; Some developers will likely become informal tech leads of projects at this phase because they can track down anything.&amp;nbsp; There is also a big aspect of being experienced here that shows and so the more experience you have the easier this phase becomes.&amp;nbsp; Of course from an agility perspective, the buglist represents the backlog of work and one could argue the buglist should always be a “virtual zero”.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Similar to bugs is performance.&amp;nbsp; Even with 3ghz multi-core processors and 1gb of RAM performance is still critical.&amp;nbsp; A lot of people think that perf shouldn't be a problem or if it is it is just because we add too many features.&amp;nbsp; I wish it were that since we could just do less features and not have to work on perf.&amp;nbsp; But the reality is that as fast as we can add features people use more and more of their PCs.&amp;nbsp; So our original benchmarks for Excel were around booting Excel into a Windows runtime used only for Excel--no network, no AV software, and basically nothing but Excel.&amp;nbsp; It is no wonder it could work in 1MB of real mode memory!But today when you boot Excel you are probably running mail, Word, a browser, a media player, a network and firewall, and on and on.&amp;nbsp; So we can’t let our resource utilization grow because there is always contention.&amp;nbsp; All of our work on the server has these same issues relative to scale, pages per second, etc.&amp;nbsp;&amp;nbsp; As a developer on Office you will spend a lot of time looking at how your new work impacts the release-over-release benchmarks.&amp;nbsp; Our goal is that each release should use the same resources and take the same time to do the same tasks.&amp;nbsp; This is a tough goal for software and it is a testament to the team that our applications still perform at these relative levels. And at the same time people can do lots of new stuff.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;During this phase some of the classic integration engineering takes place as well.&amp;nbsp; Software represents a complex system and when you bring those systems together the behavior across them and the boundary conditions yields some interesting issues to track down.&amp;nbsp; Microsoft develops a lot of automation testing and a lot of scenario based views of how the products should function that assist the developer during this phase.&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Finally for features that interact with users, this is the time we get tons of feedback on the experience and we work hard to incorporate that as appropriate.&amp;nbsp; We learn lots about the features at this point and because the product is working, program management is out there learning.&amp;nbsp; And developers are watching the reviews and feedback and responding as well.&amp;nbsp; I remember when working on the VC++ compiler/IDE and we really wanted to compile the most lines per minute relative to the competition as the spec said we should.&amp;nbsp; The beta feedback I saw said people thought we were slower.&amp;nbsp; Now I was pissed--I had like 3 stop watches and 4 machines in my office and I knew every benchmark for compile speed and tracked these on a daily basis.&amp;nbsp; I knew our speed was faster.&amp;nbsp; Well I talked to some outside developers on the beta and I realized that they thought it was slower and they showed me how the competitor had a very fancy spinning line count telling you how many lines were compiled and we just had a status bar thing.&amp;nbsp; I got so excited because I got to tell them that I used to have that but realized it slowed the compile down by a fixed overhead of about 0.2s and for big files it really slowed things down even more just to TextOut those line numbers.&amp;nbsp; Of course I learned something too that sometimes perceived responsiveness matters just as much as clock time.&amp;nbsp; A good lesson for all.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Arial"&gt;The best feedback of all though is reading reviews, watching your friends, and maybe signing a few autographs at the Hot Truck!&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;H1&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;FONT size=3&gt;Attributes&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/H1&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;With that we've made it through the product cycle -- we've architected, estimated, scaffolded, constructed, and polished.&amp;nbsp; The product is ready for customers.&amp;nbsp; Whether that was a customer requested DCR that took 2 weeks, an update of OfficeOnline that took 6 months, or a full release of Office, as a developer you will take your code through all of these phases.&amp;nbsp; If you're considering an SDE role at Microsoft (or Office), from my perspective a couple of things you will get:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Part of a small team focused on the customer or technology area&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The opportunity to write the very best code for products used by millions of people, not just used but relied on to earn a living, get a degree, or run governments.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Access to the best resources to get your job done -- working with the best in the industry in product groups to being able to tap the resources of Microsoft Research&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;A very strong mentor who as part of small team will be there for you on a daily basis&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Of course it goes without saying that to be a great developer you need to write great code, but the following are a few characteristics that our team finds valuable when finding great developers for our team:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Able to foresee what will need to change in the next round without over-architecting the current round -- many people can write a quick solution to a problem, but quickly program themselves into a corner.&amp;nbsp; That is why you might get asked an interview question and then after you answer it you might get asked "ok, now what if the person's language reads right to left".&amp;nbsp; So great developers know the foresight they are building into the code and understand the limitations that will appear down the road--all code has that of course, but being deliberate and informed about that is a great skill.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Debugs other people's code -- Great developers can jump into other code and make progress in pretty short order.&amp;nbsp; This is super hard.&amp;nbsp; So getting good at building a mental map of a new system and understanding the patterns in foreign code is a great skill.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Makes the code dance for customers -- Many developers are very content to prove their code does cool things.&amp;nbsp; That is definitely good.&amp;nbsp; But to be really great, a developer should be able to show how their code solves a problem that a paying customer would have.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Works well with others -- All great programmers that I've known have told me how much they love &lt;I&gt;The Fountainhead &lt;/I&gt;or&lt;I&gt; Atlas Shrugged&lt;/I&gt;.&amp;nbsp; Yet at the same time, programming is inherently a collaborative field so all great programmers know when to work well with others and how to use their dev skills to get the most out of the team.&amp;nbsp; This is not just other devs, but test, pm, design, usability, and others.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Knows when to say "no" and when to say "yes" -- Many developers are spectacular at saying "yes" early in their careers which is quickly followed by a tremendous ability to say "no" (after a tough project or two).&amp;nbsp; Great developers know how to make it work and know when something is important that they can find a way to get a quality job done.&amp;nbsp; They can find clever solutions to incredibly hard problems.&amp;nbsp; &lt;/SPAN&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Humble -- Everyone probably remembers the scene in Top Gun when Maverick was explaining his MIG encounter--Maverick was calm, cool, collected, and understated.&amp;nbsp; As confident as he was in his flying he told the story with a certain modesty ("[cough] &lt;I&gt;we were inverted&lt;/I&gt;" with emphasis added by Goose "&lt;EM&gt;no really we were&lt;/EM&gt;"). &amp;nbsp;Most of all, great programmers are humble about their ability to crank out the best code and make it look easy.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;--Steven&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;PS: A word on comments – I strongly encourage comments.&amp;nbsp; I especially encourage comments from college students and people considering a career at Microsoft.&amp;nbsp; If you already work here, feel free to drop by my office, send me mail, or anything—we can have a great discussion without going through this pipe that is a bit more narrow that my front door!&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=523695" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>PM at Microsoft</title><link>http://blogs.msdn.com/techtalk/archive/2005/12/16/504872.aspx</link><pubDate>Sat, 17 Dec 2005 02:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:504872</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>91</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/504872.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=504872</wfw:commentRss><description>&lt;P class=style1&gt;While at Stanford this week I was asked by a number of PM (program manager) candidates to talk about the PM role at Microsoft.&amp;nbsp; The PM role is unique to Microsoft and was actually created in response to developing software that is more usable and at the same time pushes the state of the art of technology.&amp;nbsp; So when we talk about PM at Microsoft, we're ta&lt;SPAN class=style3&gt;lking from a perspective of creating and evolving the role over the lifetime of the PC industry.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=style4&gt;I have been both a PM and an &lt;A href="http://www.microsoft.com/college/ft_softdeseng.mspx"&gt;SDE&lt;/A&gt; (software design engineer) during my career at Microsoft.&amp;nbsp; When I was recruited I started off as an SDE candidate and then I learned about PM during the course of my interviews and I thought "COOL!" that has to be a job for me--after all it sure sounds like an incredibly cool role, since it has the title "manager" in it and if you read/hear the &lt;A href="http://www.microsoft.com/college/ft_pm.mspx"&gt;description&lt;/A&gt; it sure sounds like you're running the show. The job title "program manager" is a bit of a misnomer, since program managers do not program nor do they manage--go figure.&amp;nbsp; I went with SDE because I wanted to write code in my job.&amp;nbsp; After being an SDE for 4 years I moved to program management.&amp;nbsp; I think that was a good move for me because while I like to think I was competent at development, I was probably never going to hit it out of the park with my ability to write code, but I think what I wasn’t able to do in writing code I made up for with the skills required of a program manager :-)&lt;/P&gt;
&lt;P class=style4&gt;What follows is a description of program management from a PM perspective -- that means through the lens of a PM.&amp;nbsp; It is also an analytical description based on my experience.&amp;nbsp; I'm not trying to hype the job or make it seem too over the top.&amp;nbsp; In fact, I've recently talked with an number of candidates who have been told of PM roles at other companies and my feeling is that they are not being told the whole story.&amp;nbsp; So with my blog I try to be a bit more complete and not "sell".&amp;nbsp; This might make it seem like there's no room for change or to impact the definition of the role, but that is not the case.&amp;nbsp; What I'm describing is in constant evolution and it is the members of the team that are constantly evolving the role.&amp;nbsp; PM is a role that has a lot of responsibility but you also define it--working in partnership with expert designers, clever developers, super smart testers, etc. you all work together to define the product AND the responsibilities each of you have.&amp;nbsp; &lt;STRONG&gt;PM is one equal part of a whole system.&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=style4&gt;Program managers got started at Microsoft while developing Excel for the Macintosh.&amp;nbsp; The challenge the company saw was that we were stretched thin trying to push the state of the art in technology (in this case develop for a brand new OS using brand new Graphical User Interface concepts) and so the developers were very busy just trying to make things like printing, display, graphics, etc. work as well as trying to develop new algorithms for spreadsheets and modeling. &amp;nbsp;That meant that the place where we were not focusing enough attention was on the usability or the scenarios for how people would use the software.&amp;nbsp; In a very classic sense the high order bit of our development was the code--this is pretty classic in most organizations today where you really only see development and test (sometimes called QA) and to the degree that there is input from users/customers this is usually done by the demand generation or marketing team (called product managers in Silicon Valley). &amp;nbsp;So at Microsoft a new role was created in Program Management with the explicit goal of partnering with development and working through the entire product cycle as the advocate for end-users and customers.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;The challenge of trying to write code using the latest technologies and bringing ever more complex scenarios to end-users in a simple way continues today as we build web sites (OfficeOnline), server products like SharePoint, and entirely new products like OneNote, as well as build whole new user experiences to replace the aging menus/toolbar paradigm.&lt;/P&gt;
&lt;P class=style4&gt;Up front I would say that the PM role at Microsoft is both unique and one that has unlimited potential -- it is PMs that can bring together a team and rally them around a new idea and bring it to market (like OneNote, InfoPath).&amp;nbsp; It is PMs that can tackle a business problem and work with marketing and sales to really solve a big customer issue with unique and innovative software (like SharePoint Portal Server).&amp;nbsp; It is PMs that can take a technology like XML or graphics and turn it into an end-user feature benefitting 400 million people (Office Open XML format or the new graphics functionality in Office12).&amp;nbsp; I could go on and paint a very emotional picture, but let's spend some time digging into the more analytical aspects of the job.&lt;/P&gt;
&lt;P class=style4&gt;Where developers were focused on code, architecture, performance, and engineering, the PM would focus on the big picture of "what are we trying to do" and on the details of the user experience, the feature set, the way the product will get used.&amp;nbsp; In fact the job has matured significantly and it is almost impossible to document a complete list of the responsibilities of program management.&amp;nbsp; One way to do that is to list the sections of a specification for features in Office that a PM would complete before the code gets written which includes nailing the scenario you are solving for, the worldwide implications (will your work make sense to customers in China, India, Estonia), how will developer customers extend the product (object models, programmability), is the product secure and is privacy maintained, what are the other features your work interacts with, will the feature be responsive and performant, and more.&amp;nbsp; These are critical parts of the design of any product, and when you will have 400 million potential customers thinking these through before you start the work is critical.&lt;/P&gt;
&lt;P class=style4&gt;As an aside a lot has been said lately about "agile development".&amp;nbsp; A key benefit of program management is that we are far more agile because we have program management.&amp;nbsp; That can be counter-intuitive (even for many developers at Microsoft who might be waiting for their PM to iron out the spec).&amp;nbsp; But the idea that you can just start writing code without having a clear view of the details and specification is a recipe for a poorly architected features.&amp;nbsp; A great PM knows when the details are thought through enough to begin and a great developer knows when they can start coding even without the details for sure.&amp;nbsp; But like building a house--you don't start without the plans.&amp;nbsp; While software is "soft" the cost of remodeling or rebuilding is no different than if you decide the walls are in the wrong place or you forgot to leave room for the HVAC system--sometimes because we don't have material costs in software we think that "rewriting" is perfectly ok.&amp;nbsp; That generally works super well in two cases.&amp;nbsp; First, if the program is small then of course you can rewrite it.&amp;nbsp; In the commercial software world most software projects are not the work of one or two people--in fact one way to think of it is that if a project is only the work of one or two people (or is only a 100KLOC) then the economic value (and thus the impact) of that product is probably pretty finite (at the very least a competitor is likely to catch up very quickly).&amp;nbsp; And second, rewriting works well when you are looking backwards and re-doing what has been done (like cloning an existing product, implementing something for the n-th time).&amp;nbsp; When you're doing innovative work, the time spent on design and analysis pays off handsomely in the ability to develop a complete program and to have something of lasting economic value.&amp;nbsp; AND when you have a process that embraces design and up front thinking you also find your development much more agile because when you do get the code in the hands of customers--after 2 months or 2 years--there is time to respond and react with changes because you are not overwhelmed with the basics.&lt;/P&gt;
&lt;P class=style4&gt;The last point is worth re-emphasizing.&amp;nbsp; There's a school of thought that just getting your software out in beta and then "reacting" to the feedback is the best way to get the product done.&amp;nbsp; Again, this tends to work for products that already have a definition you are chasing of if you're interested in incremental feedback.&amp;nbsp; So if you're building an email experience and release it in beta, your customers/users can help you to prioritize which features in the universe of email to add next assuming you did not have all of them up front.&amp;nbsp; But if you're doing something new and innovative or more importantly if you want more than incremental feedback then you need to have much more sophisticated mechanisms than just beta feedback from power users.&amp;nbsp; Most importantly, the role of PM is to represent all customers, not just the ones who do beta tests or the ones who take the time to send in feedback or use early products.&amp;nbsp; A key skill of program management is to have empathy with a broad range of customers.&amp;nbsp; Often when you are just getting started you will see how easy it is to over-emphasize early power user feedback or anecdotes over broad based feedback.&amp;nbsp; Don't get me wrong, power users are great but they are just one type of user.&amp;nbsp; A great advocate for the "little guy" is &lt;A href="http://online.wsj.com/article/personal_technology.html"&gt;Walt Mossberg&lt;/A&gt; and he really does point out when you're missing the mark on a product and too focused on "techies" as he calls them.&amp;nbsp; The bottom line is that most people are not techies, but most beta customers and most early adopters are so you as a PM have to do the leg work to validate your work with a broader audience.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;Before talking about what PM does specifically it is important to look at PM in the context of the relationships with the others that contribute to building products.&amp;nbsp; A PM serves as the coordinating point where all the disciplines come together--this is why you can think of the PM as being the hub.&amp;nbsp; What is critical about the Microsoft PM role is that all the different people serve as a "virtual team" building the product--the PM does not have to go pull them together but rather has to help get everyone aligned.&amp;nbsp; The resources for a project are dedicated to the project--these resources include development, test, product planning, usability, and product design.&amp;nbsp; Each role brings a unique perspective a unique set of skills to the product development process.&amp;nbsp; While you can often be someone who has an affinity for another discipline, rarely can any one person bring all of these skills and experiences.&amp;nbsp; And I can promise that any project of significance really needs the specialized skills to do a world class job and build a sustainable and uniquely innovative product.&amp;nbsp; I should probably write a blog like this on each role--maybe after the holidays!&lt;/P&gt;
&lt;UL&gt;
&lt;LI class=style4&gt;&lt;STRONG&gt;Development&lt;/STRONG&gt; -- developers write the code.&amp;nbsp; They are in charge of the code's architecture, the performance, the reliability, the security, and getting the functionality into the product. Of course development is at the core of what we do as a software company, but it cannot stand on its own. 
&lt;LI class=style4&gt;&lt;STRONG&gt;Test&lt;/STRONG&gt; -- software design engineers in test insure the quality of the product but more importantly that the product ultimately meets the needs of the customer we set out to meet.&amp;nbsp; SDETs will review all specifications as first class members of the team and use their perspective and experience in working with PM and SDEs to insure that the product is not going to be fragile and that it will be possible to insure a successful implementation. 
&lt;LI class=style4&gt;&lt;STRONG&gt;Usability&lt;/STRONG&gt; -- usability engineers validate the designs of our software and incorporate the statistical understanding of customers into the process. Microsoft was an early pioneer in integrating usability in the product development process (though some might say how in the world we released the Hot Dog Stand theme if we had usability).&amp;nbsp; Many usability team members have PhDs in HCI or related research areas such as anthropology, and many are undergraduates with a HCI or psychology background.&amp;nbsp; These team members design mechanisms to test and validate designs and design assumptions. 
&lt;LI class=style4&gt;&lt;STRONG&gt;Product Design&lt;/STRONG&gt; -- Design work in partnership with PM to develop the interaction model for our products and also own the overall product look and feel.&amp;nbsp; While many companies use design for "graphical design" (which we do) our designers are expert in computer interaction--many have studied at programs like &lt;A href="http://www.tudelft.nl/live/pagina.jsp?id=b4c76e5e-3a59-4be9-a050-c847d3a5fbb2&amp;amp;lang=en"&gt;Delft&lt;/A&gt;'s or &lt;A href="http://www.design.cmu.edu/show_program.php?s=1&amp;amp;t=4"&gt;CMU&lt;/A&gt;.&amp;nbsp; When you look at the new user interface in Office12 what you see is a strong collaboration between the PM experts and the Design and Usability experts. 
&lt;LI class=style4&gt;&lt;STRONG&gt;Product Planning&lt;/STRONG&gt; -- our planners are experts in understanding the market place and understanding what our customers need from software.&amp;nbsp; Planners own research and communicating that research to the product team PMs and to the executives deciding the overall goals of a release.&amp;nbsp; Planners are assigned to broad technology and business areas (collaboration, business intelligence) where they become expert in all the products and solutions on the market and how Microsoft can offer customers improvements over what is in the market.&amp;nbsp; Many planners have business background and have worked in marketing before.&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=style4&gt;Many companies will "sell" you on being able to do many of these different things from one job.&amp;nbsp; This is just not a reality that exists and I always feel a bit bad for folks who believe this.&amp;nbsp; There are two times I hear this a bunch.&amp;nbsp; First is at startups you hear "come join us from college and you can own all of this".&amp;nbsp; Of course at a startup the real experience is that you are the college hire, which means you will do the grunt work while the founders and the venture people do all the strategic work--so you might find yourself setting up the build machines rather than interacting with customers.&amp;nbsp; Second, I hear this a lot when companies are selling against Microsoft and point out that "at our company we do not specialize and everyone does everything".&amp;nbsp; This is another "well in reality..." situation, since of course even when I have seen companies that claim to do the specifications or customer research and up front planning they do that work from Product Management, and those people are just as specialized, they just report to the marketing team.&amp;nbsp; And we know what that means, which is when push comes to shove the marketing team will need to use every hand to get out there and generate the business and sell--so even if there is a single group that does the work, those roles are specialized, and rarely dedicated specifically to the role.&amp;nbsp; These are my experiences and of course your specific situation might be different.&amp;nbsp; I've just seen these patterns repeat themselves over many years of hiring students and having them come back to Microsoft after a short experience with something like that.&lt;/P&gt;
&lt;P class=style4&gt;It is worth talking about the size of the PM team for a bit.&amp;nbsp; In Office our PM teams are small (our dev teams are usually about 20-30 developers as talked about &lt;A href="/techtalk/archive/2005/09/24/473599.aspx"&gt;previously&lt;/A&gt;).&amp;nbsp; The entire user interface for Office12 was developed by a team of about 12 program managers--imagine that 12 program managers did all the work to totally define the new interaction model for 400M customers of Office.&amp;nbsp; But along with the fact that the team is small is the fact that a team like this is also one where even the newest members of the team receive significant mentorship and training from a very senior member of Microsoft (you can watch this &lt;A href="http://channel9.msdn.com/showpost.aspx?postid=114720"&gt;video&lt;/A&gt; to meet the head of the user interface PM team).&amp;nbsp; So you have the biggest impact you could have in designing software while receiving a very high level of management attention.&amp;nbsp; And then of course each PM has developers they are responsible to equip with features and specs -- the whole user interface development team was less than 30 people (so about 2 devs for each PM).&amp;nbsp; A critical part about PM (also one that is unique for Microsoft) is that as a PM you have dedicated developers for your feature area--your job is to get the most out of those developers in terms of bang for the buck by having great feature ideas and great specs to get them done.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;So what does a program manager do?&amp;nbsp; Well there are three phases to program management: learn, convince, spec, refine.&amp;nbsp; These roughly mirror the &lt;A href="/techtalk/archive/2005/11/03/488850.aspx"&gt;product development timeline &lt;/A&gt;written about previously.&amp;nbsp; Do keep in mind that the timeline is not fixed--rather the phases of the timeline are.&amp;nbsp; So if we're doing a 12 month project then the time is divided accordingly, same as if the project is 24 or 30 months.&lt;/P&gt;
&lt;H2 class=style1&gt;&lt;STRONG&gt;Learn --&amp;gt; Output of learning is a prototype&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P class=style4&gt;During the learn phase, program managers spend their time learning about customer problems and learning about the products and technologies out there that are relevant to these problems.&amp;nbsp; There is a lot of work with planning to understand competitive products or new products in the marketplace.&amp;nbsp; As you can imagine, customers have huge challenges in getting their computing systems to do what they need.&amp;nbsp; So often we will spend days at a customer's place of business learning from them and watching them trying to get their work done.&amp;nbsp; A great example of this is the work we did to understand how customers manage documents in an organization.&amp;nbsp; It is easy to see that organizations like law firms or pharmaceuticals are heavily dependent on the flow of documents in an organization (contracts, drug approval and research) and so the systems are both mission critical and elaborate.&amp;nbsp; Companies really want to automate more and to make things more usable and reliable.&amp;nbsp; The work of program management was to deeply understand how to model the flow of documents in an organization--spending time at big drug companies, small startups, big law firms, local law firms, Public Relations agencies that produce press releases, or government offices that produce legislation to name a few.&amp;nbsp; Out of this work PM and Planning developed a conceptual model called the "document lifecycle" (DLC).&amp;nbsp; This helped us to frame the way that customers would like features to work.&amp;nbsp; So for this work the PM needs to be really good at working directly with customers, learning from them, listening, being open minded to different ways of working, etc.&amp;nbsp; When you're hired from college you will participate in this work for your area.&lt;/P&gt;
&lt;P class=style4&gt;At the same time there are deep technical problems to solve.&amp;nbsp; We need to solve the control and access to information (drug test results and contracts need a high degree of security, yet they need to be collaboratively authored).&amp;nbsp; PMs spent a lot of time working with the Windows platform team who develop platform technologies like our Rights Management Server or the Windows Workflow Foundation (WinWF).&amp;nbsp; These technologies are critical to enabling a robust and extensible implementation of the DLC. So in this phase of learning, the PM has to become well-versed in new platform technologies or in how to apply existing technologies.&amp;nbsp; Often this is where some people say "it would be easier to roll our own" -- which of course in the immediate term it is (just build your own linked list and event source/sink) but what you miss out on is the expertise and leverage that comes from a deep platform technology.&amp;nbsp; For example, by learning the WinWF and being an ISV of that technology we can take advantage of advances in workflow, integration with Visual Studio, and a very robust and scalable server without us doing any work--just like when developers reuse the process model of Windows, or the client side drawing code of GDI.&lt;/P&gt;
&lt;P class=style4&gt;With this information at hand the role of the PM is to synthesize this learning into a series of prototypes.&amp;nbsp; These prototypes are of varying fidelity.&amp;nbsp; This is where the analogy to architecture holds--sometimes you do a drawing, sometimes you do a high fidelity diagram, and sometimes you build a model.&amp;nbsp; In software we sometimes build static screen shots, we sometimes prototype in tools like VB.NET, sometimes we prototype in a series of static bitmaps that illustrate a scenario.&amp;nbsp; For our new user experience in Office12 we went through a series of high fidelity prototypes development first in PowerPoint (you'd be amazed at the depth of interaction you can do) and then in more high-end design oriented tools.&amp;nbsp; By the time we were ready to exit the learning phase, we had a full mockup of the user interface (which I have shown at my campus tech talks this year).&lt;/P&gt;
&lt;P class=style4&gt;The output of this phase is a prototype upon which we will author specifications.&lt;/P&gt;
&lt;H2 class=style1&gt;&lt;STRONG&gt;Convince --&amp;gt; Output of convince phase is a plan and goals&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P class=style4&gt;Once you've learned a lot you have to go out and convince your peers, your manager, and the dev team that your ideas are worth pursuing.&amp;nbsp; This is where being a solid communicator and someone who is able to bring together customer needs, technologies, and scenarios really comes together.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;As an aside, a lot of companies will tell you that you can come and pursue your ideas.&amp;nbsp; That is probably not a good plan -- that is a recipe for chaos.&amp;nbsp; But more importantly, if you can do whatever you want there is a good chance someone else in the company has the right to come in and tell you to change.&amp;nbsp; If there is this level of empowerment it means the management team is empowered as well :-)&amp;nbsp; The ability to just start at a company and pursue your own agenda is much more of a lore than any reality--all companies have a strategy and a business framework that the work needs to fit within.&amp;nbsp; At the very least, eventually shareholders will want a return on your R&amp;amp;D investment.&lt;/P&gt;
&lt;P class=style4&gt;So at Microsoft the convince phase is really where your entrepreneurial skills come to play.&amp;nbsp; While you will always have work to do, during this phase you are working to expand your vision and get as many lined up behind your area as you can handle.&amp;nbsp; Your ability to convince people of your ideas is a lot like trying to get funding from venture capital folks.&amp;nbsp; That is why if you have a great conviction of your ideas and a lot of energy you probably have the makings of a great PM.&lt;/P&gt;
&lt;P class=style4&gt;The best part about this is that the teams you work with are all working in unison on the vision and everyone is on board trying to make sure the ideas come together super well.&amp;nbsp; In particular your mentor is there to work with you.&amp;nbsp; But ultimately, the ideas will succeed based on your own initiative and ability to convince the team of the chances for success and the high priority nature of the work.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;The output of this phase is the set of objectives for the project area.&amp;nbsp; What follows is developing things at the next level of detail.&lt;/P&gt;
&lt;H2 class=style1&gt;&lt;STRONG&gt;Spec --&amp;gt; Output of spec phase are a series of written specifications&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P class=style4&gt;The first thing people always think of is "specs are for bureaucrats".&amp;nbsp; That drives me a bit crazy.&amp;nbsp; I know as Americans we have a tendency to use new products without reading the instructions, but it is lunacy to develop a new product without first writing down the goals.&amp;nbsp; The mere process of writing is thinking, and the thinking will always push you to uncover more issues sooner before it is way too expensive to change things.&amp;nbsp; For all the talk about agile development, few ever talk about specifications as being the most important step in agility.&amp;nbsp; It is way easier to change a bitmap or do some editing of English in Word than it is to move around and rearchitect code.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;Yet at the same time we do not sell our specifications, we only sell our code.&amp;nbsp; So while we work to be very hardcore about having up front planning we do not develop our specifications to the point that they are the full documentation of the product.&amp;nbsp; It is too much work and not enough of a pay off.&amp;nbsp; So if you make a late breaking design change we might document the change in the change log but we don't go back and redo all the words in the spec.&amp;nbsp; Another fun one for reading specs from a long time ago is that the actual feature name used in the product is never what we named it during development--the Office Assistant was famously named TFC during development.&amp;nbsp; The "C" stood for clown.&amp;nbsp; I will let your active imagination figure out what the TF stood for.&lt;/P&gt;
&lt;P class=style4&gt;So in writing a specification, the PM that worked on the learn phase now has to turn that learning into an experience that customers will have.&amp;nbsp; This is where the entire series of features, user interactions, boundary conditions, localization, ISV opportunity, and all the details are filled in.&amp;nbsp; A specification is how a developer will estimate the amount of time it will take to write the code.&amp;nbsp; So if your spec omits a lot of details and developers need to guess, then there is a good chance you will end up not being able to realize all of your dreams because too many things needed to get filled in a the last minute, plus your developers will not be very happy working with you.&amp;nbsp; So doing a good job on the spec is important.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;A great program manager will take their whole feature area and divide it up into specifications that match the developers or break the feature up into workable "chunks".&amp;nbsp; On average a PM writes about 8-10 specs for their area, and each one can be 30-50 pages depending on how visual (how many pictures).&amp;nbsp; Some specs are significantly longer and some PMs choose to write a larger number of smaller specs.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;Specs are not just for developers.&amp;nbsp; But the usability, product designers, and testers are all contributors to and refiners of the specifications.&amp;nbsp; In fact while the output of the Spec phase is the document, the final output is an "inspected specification".&amp;nbsp; If you've ever gone through a code review with a professor or mentor (as an intern) a spec inspection is like a code review.&amp;nbsp; During this time testers might push on you about boundary conditions or compatibility with existing products.&amp;nbsp; Product designers might work with you to improve the way the spec describes the overall interaction.&amp;nbsp; Usability might research the instrumentation from in-market products and use that to refine the priorities for the feature.&amp;nbsp; In fact the role of data is critical to Office PMs--if you run a web site you have click streams and logs, and Office through the &lt;A href="http://office.microsoft.com/en-us/assistance/HA011402431033.aspx"&gt;Office Customer Experience Program&lt;/A&gt; has exactly the same--usage information for millions of volunteers (anonymous and private of course) and that educates us immensely on how to design features (Jensen's blog describes this as well).&amp;nbsp; So the spec, while owned by PM, is a work product of many contributors.&lt;/P&gt;
&lt;P class=style4&gt;It is worth noting that many times along with a spec is a more detailed prototype.&amp;nbsp; This is particularly true for heavily interactive features.&amp;nbsp; In this case product design and PM work together to develop detailed prototypes of the work (often these will be tested in the labs with customers as well).&lt;/P&gt;
&lt;P class=style4&gt;When the spec is complete the core part of development begins.&amp;nbsp; PM then transitions to refining the product.&lt;/P&gt;
&lt;H2 class=style1&gt;&lt;STRONG&gt;Refine --&amp;gt; Output is the product&lt;/STRONG&gt;&lt;/H2&gt;
&lt;P class=style4&gt;During the development of the product, PMs are constantly refining the details, working with development and test to determine what needs more clarity and what is working better than expected (that can happen) and what is going less well (that happens more).&amp;nbsp; PMs are on call to answer questions and "unblock" development.&lt;/P&gt;
&lt;P class=style4&gt;More importantly as the real code becomes available, PM is anxious to try it out and make sure it is meeting their own design expectations.&amp;nbsp; Once the real code creeps along we will bring that into our usability labs to further understand how the product works.&amp;nbsp; A famous story of this phase of developing the PM role was that the first PMs were trying to improve a feature under development and ran some usability tests.&amp;nbsp; The feature bombed.&amp;nbsp; The PMs tried to explain this to the developers, but the developers insisted that the PM just picked "dumb users" because the feature was great.&amp;nbsp; So after a few rounds of this the PM dragged the Dev to the tests to watch 10 out of 10 users fail to use the feature.&amp;nbsp; The developer finally relented and the feature was fixed.&amp;nbsp; Today, developers can watch tests via streams or go downstairs to our usability labs and watch the tests in person.&amp;nbsp; Almost all developers I know are keenly interested in how their features are doing (and how the PMs are doing designing those features!)&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;Another aspect of refinement is working with customers who use the early code.&amp;nbsp; While it is cool to throw a product out to beta and get some instrumentation and maybe get some qualitative input via mail, the only true way to understand how the product is doing is by deep engagement with real world users.&amp;nbsp; We do this this through a number of mechanisms that gradually expand the number of customers involved.&lt;/P&gt;
&lt;P class=style4&gt;Early in the process we meet with a very small number (10-20) customers who spend days with us here on campus and learn about the product.&amp;nbsp; We walk them through all the details and solicit their feedback and input.&amp;nbsp; We did this for Office12 last summer and it was critical to our ability to get to Beta1 with a product that reflects real world usage and learning.&amp;nbsp; As a PM you will be responsible for getting together with these customers and learning from them.&amp;nbsp; We often follow up on site. &lt;/P&gt;
&lt;P class=style4&gt;Another group we learn from that is a bit larger are our MVPs -- the most valued professionals.&amp;nbsp; These folks are the power users of Office. Our PMs all got involved with the MVP summit on campus and again worked with the MVPs in small groups to get their feedback and expertise into Office12.&amp;nbsp; The MVPs know more about Office than any other customers on earth--they are a wealth of information.&lt;/P&gt;
&lt;P class=style4&gt;We're currently in the phase of learning from a broad set of beta1 customers.&amp;nbsp; We are doing this through newsgroups and through direct communication.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;You might also notice that many of our PMs are blogging (see the links to the right).&amp;nbsp; This is new for us (well for everyone) and also a great source of information and a great way that PMs are connecting with the web community.&lt;/P&gt;
&lt;P class=style4&gt;Of course our senior program managers are also responsible for working with the press and product management.&amp;nbsp; So a lot of time is spent on communicating Office12.&amp;nbsp; There are a lot of reporters interested in Office and a lot of information to get out there.&amp;nbsp; &lt;/P&gt;
&lt;P class=style4&gt;All of this Refine work feeds back into the developers where we prioritize and make sure that the very best product is built.&amp;nbsp; Of course that doesn't end with RTM since we're always refining and listening to customers (even though we're not "Web 2.0").&amp;nbsp; As I mentioned previously, we make over 100 changes every month to Office based on customer input -- so the product is always improving, and we're always learning!&lt;/P&gt;
&lt;H2 class=style1&gt;PM Attributes&lt;/H2&gt;
&lt;P class=style4&gt;So those are the phases of program management and what you do as a PM in Office.&amp;nbsp; I would say that there are many unique elements to the role of PM in Office that are not emulated by other companies who have tried to create this role.&amp;nbsp; A good book that describes the uniqueness of PM at Microsoft is Michael Cussumano's book "Microsoft Secrets" or his new book, "The Business of Software".&amp;nbsp; If you're considering a PM role at Microsoft (or Office), from my perspective a couple of things you will get:&lt;/P&gt;
&lt;UL&gt;
&lt;LI class=style4&gt;A small team dedicated to solving customer problems and bringing the best technologies to the table 
&lt;LI class=style4&gt;Access to dedicated developers who are there to implement your ideas if you can live up to creating a great idea and making sure the details are thought through 
&lt;LI class=style4&gt;A very strong mentor who as part of small team will be there for you on a daily basis&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=style4&gt;If I had to think of the qualities that make a great PM I might list a few, but your recruiter and the interviews will help out a lot so don't let these discourage you from applying:&lt;/P&gt;
&lt;UL&gt;
&lt;LI class=style4&gt;Strong interest in what computing can do -- a great interest in technology and how to apply that to problems people have in life and work 
&lt;LI class=style4&gt;Great communication skills -- you do a lot of writing, presenting, and convincing 
&lt;LI class=style4&gt;Strong views on what is right, but very open to new ideas -- the best PMs are not necessarily those with the best ideas, but those that insure the best ideas get done 
&lt;LI class=style4&gt;Selfless -- PM is about making sure the best work gets done by the team, not that your ideas get done.&amp;nbsp; 
&lt;LI class=style4&gt;Empathy -- As a PM you are the voice of the customer so you have to really understand their point of view and context&amp;nbsp; 
&lt;LI class=style4&gt;Entrepreneur -- as a PM you need to get out there and convince others of your ideas, so being able to is a good skill&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=style4&gt;PM is unique to Microsoft and I think it is fair to say this is a role that is often copied but never duplicated.&lt;/P&gt;
&lt;P class=style4&gt;--Steven&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=504872" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>Where should I work?  Global development of Microsoft Office.</title><link>http://blogs.msdn.com/techtalk/archive/2005/10/14/481332.aspx</link><pubDate>Sat, 15 Oct 2005 07:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:481332</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>26</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/481332.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=481332</wfw:commentRss><description>&lt;DIV class=Section1&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;I&gt;&lt;FONT face=Arial size=2&gt;"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? &lt;BR&gt;&lt;BR&gt;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?"&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I would love to talk about our development organization and how it works around the world.&amp;nbsp; For me working at Microsoft has been incredibly rewarding because of the opportunities I have had to work with developers around the world.&amp;nbsp; I first worked with Microsoft developers in Japan as we made the Japanese version of C 7.0 and Visual C++/MFC.&amp;nbsp; Of course not everyone is required to work with folks around the world, but if your job involves that it can be quite rewarding.&amp;nbsp; 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!)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;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).&amp;nbsp; 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.&amp;nbsp; 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).&amp;nbsp; 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.&amp;nbsp; 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.&amp;nbsp; If you haven't seen your own software running in Hebrew, Chinese, Urdu or another language then you're missing out.&amp;nbsp; 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. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The Office products are developed by a number of sites around the world.&amp;nbsp; Most of the C++/C# programming is done in Redmond.&amp;nbsp; 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).&amp;nbsp; In addition, Office has a number of substantial development sites (all of which are hiring from college and industry):&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=disc&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Mountain View, California&lt;/B&gt; – We develop PowerPoint and much of Office's graphics functionality in Mountain View at Microsoft's Silicon Valley Campus.&amp;nbsp; We've maintained this site for almost 18 years (though it has had several locations in the Valley).&amp;nbsp; The Silicon Valley Campus has over 1,000 technical people developing a variety of products and services important to Microsoft’s future. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Beverly, Mass.&lt;/B&gt; – We develop Groove and operate the Groove services infrastructure from here. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Dublin, Ireland &lt;/B&gt;– Our Dublin location is our globalization hub and from here we localize, test, and release Office in over 30 languages. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Tokyo, Japan&lt;/B&gt; – In Tokyo we target our development efforts towards specific needs of the Japanese market, since culturally and linguistically customers require Japanese specific features.&amp;nbsp; 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.&amp;nbsp; We also create the Japanese localization of our product here.&amp;nbsp; 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.&amp;nbsp; This is some high tech work that has been ongoing for many years and has involved collaboration with linguists and Microsoft Research.&amp;nbsp; &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;Beijing and&lt;/STRONG&gt; &lt;B&gt;Taipei&lt;/B&gt; – As with Tokyo, we develop local features for the China market in these two R&amp;amp;D locations.&amp;nbsp; We also create the localized products here for Simplified Chinese and Traditional Chinese (the two scripts).&amp;nbsp; 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. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Seoul, Korea&lt;/B&gt; – Similarly, we create the local features for the Korea market and also localize the software into Korean.&amp;nbsp; 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. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Global Product Planning&lt;/B&gt; – in addition to all this we maintain product planners in several other additional locations in Europe and the Middle East.&amp;nbsp; 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. &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;For most US and Canadian college graduates looking for a technical career the primary locations to consider are Redmond, Mountain View, and Beverly.&amp;nbsp; This is where you will join the teams that build the worldwide executables.&amp;nbsp; Working in one of the Asian offices would require language skills (&lt;EM&gt;Trust me!&lt;/EM&gt;&amp;nbsp; Last year, I spent 3 months living in Beijing and you definitely want to speak Chinese.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;From the earliest days Microsoft has chosen an R&amp;amp;D model that encouraged all developers to work in one central location.&amp;nbsp; 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).&amp;nbsp; The reason was that there is a strong belief that to build highly complex systems you need to have very high bandwidth communication.&amp;nbsp;&amp;nbsp; 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.&amp;nbsp; So for example, customers that invest in one technology for working with one product can use that same technology and work with other products.&amp;nbsp; 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.&amp;nbsp; Some like to say that this type of development is slower and that it reduces the pace of innovation.&amp;nbsp; Such statements leave out two important characteristics.&amp;nbsp; 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).&amp;nbsp; 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.&amp;nbsp; But I digress…&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;So we are focused very much on developing our software from our campus in Redmond.&amp;nbsp; 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:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=disc&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Critical mass&lt;/B&gt; – For any R&amp;amp;D facility you need critical mass to cause the flow of ideas and feedback to really work.&amp;nbsp; You need to interact with people, to bounce ideas around, and to have other people to help solve problems.&amp;nbsp; This number is way bigger than you think if you have just experienced college scale projects.&amp;nbsp; I think the minimum number for this is to have about 50-100 people working on the &lt;B&gt;&lt;SPAN style="FONT-WEIGHT: bold"&gt;same set of goals and project&lt;/SPAN&gt;&lt;/B&gt;. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Visibility of your work&lt;/B&gt; – Everyone wants to see their work presented and valued by the leaders of the company and your group.&amp;nbsp; 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).&amp;nbsp; This can only work because we have most developers in Redmond and Bill is in Redmond.&amp;nbsp; &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Management input&lt;/B&gt; – 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.&amp;nbsp; While electronic communication is obviously easy and available to all of us, I have found that nothing beats face to face meetings.&amp;nbsp; Often these are informal and happen in hallways and other occasions.&amp;nbsp; 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.&amp;nbsp; 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. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Career opportunity&lt;/B&gt; – Everyone wants to gain deeper technical knowledge or broaden their management skills.&amp;nbsp; To do so is going to require a critical mass of products or people to work with.&amp;nbsp; Small satellite offices or working from home make this very challenging.&amp;nbsp; 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. &amp;nbsp;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. &lt;/FONT&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Sales and marketing &lt;/B&gt;– 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.&amp;nbsp; You might want to get their input on features or you might want them to set up some time with customers.&amp;nbsp; 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). &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;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.&amp;nbsp; For example, the manager of our team in Mountain View spends 2 days every other week down in Mountain View.&amp;nbsp; 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.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;And working remote takes a commitment from the rest of the team to support this type of work.&amp;nbsp; The members of our teams around the world all travel to Redmond.&amp;nbsp; The closer teams (Beverly and Mountain View) travel very frequently sometimes as much as every other week.&amp;nbsp; But it is not enough for them to make it out here.&amp;nbsp; 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.&amp;nbsp; We also have members of our team from overseas spending 2 or 3 weeks at our Redmond campus.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;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.&amp;nbsp; Also, because we are focused on building out the sites we do choose as extensions to our headquarters R&amp;amp;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.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Also both BillG and SteveB visit our sites outside of Redmond routinely.&amp;nbsp; 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.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This means we have an incredibly high level of commitment to our remote development sites.&amp;nbsp; They are critical to our success and very much "first class citizens".&amp;nbsp; Yet there are challenges in maintaining these sites and it is not as easy at it seems.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;It is easy to be seduced by a company saying that you can tele-commute or work at a small satellite office.&amp;nbsp; For a short time that might actually work.&amp;nbsp; In the medium term you have to ask yourself if the tradeoffs are compatible with your own career goals.&amp;nbsp; 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.&amp;nbsp; And ask your potential employer what is the visibility the remote site has to corporate?&amp;nbsp; Will the manager of the site at corporate be a core R&amp;amp;D person or a "facilities manager"?&amp;nbsp; Will the CEO/founder visit the site?&amp;nbsp; Will the manager from the main R&amp;amp;D facility visit? How often? &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Another thing to consider is that when you have a core R&amp;amp;D facility and the company works on the breadth of products that Microsoft does there are two advantages.&amp;nbsp; 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.&amp;nbsp; 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.&amp;nbsp; 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.&amp;nbsp; 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.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;This topic would not be complete without a few words about "off-shore" development.&amp;nbsp; This year Microsoft will hire a record number of college graduates (and experienced individuals) to our product groups.&amp;nbsp; Our demand for talented employees is still greater.&amp;nbsp; 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.&amp;nbsp; 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.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;--Steven&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=481332" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>Yesterday's memories may sparkle and gleam, tomorrow is still but a dream.</title><link>http://blogs.msdn.com/techtalk/archive/2005/10/09/478898.aspx</link><pubDate>Sun, 09 Oct 2005 21:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:478898</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>26</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/478898.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=478898</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;This year just like every year, I am very involved in recruiting students from college campuses to work on our product development teams.&amp;nbsp; I’ve been active in recruiting since I arrived on campus at Microsoft—I think I probably still hold some sort of record for the most interview lunches in a given recruiting season.&amp;nbsp; Every year, since 1990 has always been unique—we’ve gone from “who is Microsoft” to “aren’t all the opportunities gone” to “there are younger cooler companies to work for”, “didn’t Microsoft miss the internet” to, well back to, “there are younger cooler companies to work for”.&amp;nbsp; Students always ask “so why would I want to work for Microsoft &lt;I&gt;now&lt;/I&gt;” given the “perception” or given what I read in the press (and blogs)?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;There is no one answer to this question because how it is answered depends on you—what are you looking for, what types of technologies do you want to work on, what other places are you considering working or schools are you considering attending, or what type of work environment do you feel comfortable in.&amp;nbsp; So this conversation always starts with me asking more questions, rather than diving into a canned pitch.&amp;nbsp; There are, however, common themes that I think are worth reiterating that point out that, if you have the skills and desire, joining Microsoft now opens up unique opportunities to develop your own career and to impact the world on a scale that is really hard to imagine.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;For me, there are really three qualities that I would highlight if I had a chance to speak with you on campus or if I had a chance to exchange mail with you while you were considering an offer.&amp;nbsp; These are the “top line” characteristics of Microsoft and of a Microsoft career that I believe in most strongly and thought I would highlight:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Breadth of software you can work on&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Connection to customers you can have&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;Always looking to improve and do better at what we do&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Breadth of software you can work on&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;I&gt;From the living room to the board room &lt;/I&gt;or &lt;I&gt;from the research labs to the store shelves&lt;/I&gt;, Microsoft is working on the broadest range of software of any company.&amp;nbsp; What this means for you as a developer (or tester or program manager) is that you have the opportunity to work on software in just about any commercial domain you can imagine, and at the same time doing so within a single company and in many cases in a single location.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;When you look across the products Microsoft is working on and the opportunity to do leading edge development on such a broad range of technologies, you have an unparalleled set of career prospects.&amp;nbsp; I think this is especially important because as an undergraduate in computer science you don’t get exposed to all the possible things you could work on and as your career progresses you develop new interests and having the chance to dive right in and work on those is a big benefit of Microsoft.&amp;nbsp; As an undergraduate (or master's degree right after undergraduate) there is a very good chance that you took classes in compilers, operating systems, databases, and maybe something like artificial intelligence, graphics, or networking.&amp;nbsp; You’ll notice nowhere in there are spreadsheets or word processors!&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt; So if you would have asked me when I was in college if I thought I’d end up working on those technologies I would have thought you were crazy—after all I got an &lt;EM&gt;A&lt;/EM&gt; in operating systems and in languages so I thought for sure that was my calling.&amp;nbsp; In fact, that is what I was hired into Microsoft to work on (the convergence of databases and object-oriented languages).&amp;nbsp; But it was only though working on the tools and frameworks that I was even exposed to folks working on Office that I became interested in it.&amp;nbsp; The opportunity to work in an environment with so much going on is itself an eye-opening experience.&amp;nbsp; And you don’t need to go far as there are brown bag discussions at lunch, invited speakers, and of course networking (the human type).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;A lot of times people look at the new areas of Microsoft and get a bit “cynical” and talk about how we’re not #1 in &lt;I&gt;this&lt;/I&gt; or our products are behind in &lt;I&gt;that&lt;/I&gt;.&amp;nbsp; I suppose this is one of those damned if you do, damned if you don’t—if we happened to be #1 in everything we do I think there would probably be another type of criticism.&amp;nbsp; But all this really shows is our long term view of all of the software we embark on developing.&amp;nbsp; We don’t give up easily and we dream big about what we want to accomplish.&amp;nbsp; That means sometimes in the short term we get a bit ahead of ourselves or frankly expectations in the marketplace.&amp;nbsp; But that does not deter us.&amp;nbsp; A great example (outside of Office, which is a well documented example of sticking with things over time) of this are our mobile phone products—we’ve been working on this for quite some time and have probably had our fair share of fits and starts.&amp;nbsp; Most recently we announced Windows Mobile 5.0 software and a slew of new devices that support the software.&amp;nbsp; Our mobile phone offerings have become the leading smart phone operating system and created a platform for applications in the mobile space.&amp;nbsp; I just happened to buy a new &lt;A href="http://www.imate.com/DETAILS_JASJAR.htm"&gt;i-mate JasJar&lt;/A&gt; device and it is really just the most amazing amount of functionality in &lt;A href="http://davesipaq.com/articles/imate_jasjar_review.html"&gt;one small case ever imagined&lt;/A&gt;, and of course we know we’re not done and there are more things to make better and improve and we will keep at it.&amp;nbsp; And check out the &lt;A href="http://www.imate.com/DETAILS_KJAM.htm"&gt;K-JAM&lt;/A&gt; about to come out as well! (not to mention the &lt;A href="http://www.palm.com/us/company/?creativeID=RFB|windows_20050927"&gt;Treo running Windows Mobile &lt;/A&gt;as well, one I am most looking forward to!)&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;It should come as no surprise but many of the people who work on Windows Mobile and our SmartPhones started out at Microsoft in places like Windows, Office, developer tools, etc.&amp;nbsp; The opportunity to jump from one type of technology to a wildly different one (like from developer tools to working on Office!) is a key benefit of the environment at Microsoft.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Connection to customers you can have&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Everybody has customers so how could having customers be a unique attribute of Microsoft’s?&amp;nbsp; For me, the fact that we have hundreds of millions of customers around the world (and slightly more hundreds of millions of people that use our software) is the most amazing thing.&amp;nbsp; The idea that the products you work on are a key part of the work (or school or home) lives of so many people is the biggest employee benefit you can imagine, and it is also a responsibility we take very seriously.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Customers come in all sorts of shapes and sizes and the marketing folks refer to this as customer segments. You can have customers that are individuals buying one product at a time, small business owners, medium businesses, global corporations, or you can think of customers and end-users, developers, IT professionals, or business decision makers/owners.&amp;nbsp; Microsoft is in a unique position where our products cross all of these segments and customer types—from the very start of the company, the goal has been to make software available to the broadest set of customers possible at low prices.&amp;nbsp; Microsoft also has software in every business model (retail, OEM, volume license, advertising, subscription). Most companies target one segment--the IT Pro or the individual consumer, or one type of business model like advertising.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;To build our software we connect to customers through a variety of means—whether that is directly through 1:1 or 1:many forums, through our worldwide sales and support organization, through techniques like usability studies, or through systematic research.&amp;nbsp; One of the biggest innovations in connecting with customers has to do with removing a negative experience or “crashes”.&amp;nbsp; This is something that has plagued software since the days of &lt;A href="http://en.wikipedia.org/wiki/Grace_Hopper"&gt;Grace Hopper&lt;/A&gt; and the description of bugs, but is certainly something that Microsoft has contributed a fair share to.&amp;nbsp; We developed a feature for Office, now used by all Microsoft products, that reports back crashes (anonymously, privately, and via an opt-in mechanism) and allows them to address software problems systematically and based on real-world customer experience.&amp;nbsp; This has had an amazing impact on the customer experience in terms of improving quality – we know this because we measure (anonymously, privately, and via an opt-in mechanism) the “uptime” of our products.&amp;nbsp; We know that we have dramatically improved the quality of our products as a result of this technology.&amp;nbsp; [At this point I will no doubt be /.’ed – please don’t bother] It is worth noting, that this technique and feature was originally developed essentially “off the books” by a couple of folks on the Office team – so those of you wanting to know if there if officially sanctioned exploration allowed at Microsoft the answer is “you bet” and this is a great example of that.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;And while many think that products like Office and Windows are all about "clients" or "servers" it is also worth noting that we have a very rich online service as part of these products as well.&amp;nbsp; The Office server, &lt;A href="http://www.microsoft.com/office"&gt;Microsoft OfficeOnline&lt;/A&gt;, is where we connect with customers by providing assistance materials, templates, clipart, training information, and a whole set of tools for IT professionals and developers.&amp;nbsp; The site is developed and run from within our product team and gets over 50 million unique users per month--that would make it a top web property on its own (I believe that is just half the unique users for a popular search engine).&amp;nbsp; This connection to customers allows us to adapt the product in real time--providing content and information in tune to the geography, time of year, or specific problems people might be having.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;But overall what I believe distinguishes Microsoft from other companies is the unique combination of “broad usage” and “broad purchasing” of our products.&amp;nbsp; This combination allows us to have a very strong connection to both our users and to our purchasers of our software.&amp;nbsp; It is important to distinguish between these because they offer very different dynamics and when you considering “can I put this feature in” or “will this feature fit in the schedule” you really have to ask “who is paying the bills” – because when you know who is paying the bills you know the high order bit for deciding if your feature can make it in the product.&amp;nbsp; The tighter the connection between who is paying you and who is using your product the more aligned your own decision making can be.&amp;nbsp; On the other hand, if the people that pay the bills have a way different agenda than the people using your software then you will have challenges reconciling what to do and how to please your users relative to pleasing your customers.&amp;nbsp; For example, while many of our Office customers represent the IT departments of large corporations (sometimes resistant to change, and very structured in their view of software) the cool thing is that all the IT professionals are also end-users.&amp;nbsp; So when I go to meet with a IT manager at a big company, while the conversation is often about “cost of ownership” or something like that, it quickly turns to the IT manager’s own usage of Excel or Outlook and wanting to see those improvements.&amp;nbsp; So while Office is a product often sold into an IT Pro segment, the fact that it is actively used by both the IT Pros and everyone else makes it possible for us to stay very focused on meeting the needs of customers and not get too confused by “who pays the bills”.&amp;nbsp; There are a lot of new companies out there that are trying new “business models” where there is a growing separation between who pays and who uses the software—putting those at odds is going to make it hard to “do the right thing” over time, I believe, so consider the money trail and how is really paying for the software you write.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;For me, nothing beats being able to talk to anyone who has a PC about the software you work on and getting their feedback first hand.&amp;nbsp; When I am asked about why I work on Office after 10 years, the answer to me is obvious – I can talk to anyone who uses our product and have a very exciting conversation about what we can do better what sort of things they would like to be able to do with Office and how software can make their business work or school work better, faster, easier.&amp;nbsp; The new user experience in Office “12” is a great example of how we are able to focus on the broad end-users of our software and do something that is truly innovative and at the same time in just a few clicks I can show someone the things that they will be able to do with Office that they just weren’t able to do before. That is a special experience for sure!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;We have two recent examples from Office "12" development that are worth mentioning that are connections to customers that go above and beyond the very broad digital connection through our Watson bug reporting or OfficeOnline web site and are more than the common feedback through casual interactions.&amp;nbsp; Over the summer we had our "high touch" beta customers come for a week of in-depth discussions about Office "12" and then just a few weeks ago we had a similar set of discussions with our MVPs (Most Valued Professionals).&amp;nbsp; The two audiences could not be more different as the first represents IT Professionals and the second represents the power users and developers.&amp;nbsp; But both forums allowed the development team to have in-depth discussions with customers in a very high-bandwidth forum.&amp;nbsp; There are few places where as a developer, tester, or program manager you get the chance to work with amazing groups like these and also have the experience of a direct customer connection.&amp;nbsp; It was really quite amazing to see the reaction folks had to Office "12".&amp;nbsp; You can read a few blogs about the &lt;A href="http://www.technorati.com/search/%22office+12%22+MVP"&gt;MVP summit&lt;/A&gt; if you'd like.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&lt;B&gt;Always looking to improve and do better at what we do&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;From the very first experiences I have had at Microsoft through the experience today writing this post, Microsoft continues to demonstrate that we are a group of people committed to always doing better, always improving, and always learning.&amp;nbsp; We’re not shy about this—in fact when you read books about Microsoft’s early years what you can read about is not just the success but all the “failures” along the way.&amp;nbsp; For me, Microsoft reminds me of a professor I had in college who once did the course evaluations just after the mid-term exam—his theory was that he wanted to make the class better not just in the future, but right now.&amp;nbsp; If you’re prepared to look critically at your own work, take feedback, and act on that feedback then Microsoft is an environment where you will thrive.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Recently a topic that has gotten much attention is “developer efficiency”.&amp;nbsp; In fact if you were reading some recent stories about Microsoft you would think that this problem just sprung up on us and that it is something new.&amp;nbsp; I was speaking with a group of developers who raised this issue (they don’t work for me—they just pinged me and we got together last week to talk) and it was interesting to them to hear that the issue of developer productivity has been something that Microsoft has seen as both a challenge and opportunity from the very start of the company—keep in mind that the company’s first products were programming languages.&amp;nbsp; In fact, when I was working for BillG as his technical assistant one of the biggest projects I worked on in 1993 was “developer efficiency” as there was a strong feeling we need to do better.&amp;nbsp; In fact, the development of tools like Visual Basic, Visual C++,&amp;nbsp; and Access all raised the bar for developer productivity dramatically.&amp;nbsp; At the same time, the scope and scale of applications continues to increase even faster.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;This all nets out to the notion that computer science just isn’t where we want or need it to be in terms of the “bottlenecks”.&amp;nbsp; The field is only 25-30 years old so we have a lot more learning to do.&amp;nbsp; Think about how behind most highway construction or home remodels are and that is something that has at least a thousand years of experience.&amp;nbsp; Software engineering challenges are not unique to Microsoft, but it probably has unique a impact on Microsoft because of the scale of usage and the unique usage of our software.&amp;nbsp; Take any product and use it in 600,000,000 configurations and you are likely to have some unique engineering challenges.&amp;nbsp; Much of what Microsoft does simply isn’t done anywhere else in the world.&amp;nbsp; So we are always learning along the way.&amp;nbsp; But keep in mind, anything that is used differently by 100M people is likely to have a “slower velocity” of change than something that is used by 100K people or something that has a very narrow usage pattern or “user interface”.&amp;nbsp; If it seems to you that even “internet time” products are sitting in beta for a long time or that the release cycle for those is looking more like years than it used to, then you are right.&amp;nbsp; As the scale increases for any product you have to take that into account.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I mentioned that the notion of looking at what elements of a project went well and where improvements could be made was an important aspect of Microsoft I learned as soon as I visited.&amp;nbsp; In fact, the summer I joined was definitely buzzing with a memo that was widely distributed about the challenges faced in the development of a couple of key projects (&lt;A href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml;jsessionid=NRI1VLIZ5AHUMAKRGWDSELQ?id=691033"&gt;Word 1.0&lt;/A&gt;, Access 1.0, etc.)&amp;nbsp; This memo was “classic” Microsoft – here you had products that were released and got good (not great) reviews and yet internally if you were to read the memo you would have thought that the projects were unmitigated disasters.&amp;nbsp; This is just Microsoft’s culture of looking critically at the project.&amp;nbsp; Out of this work came a whole new era of focus on up front planning and specifications.&amp;nbsp; Now I know many of you will jump to the conclusion that we must not have learned very much if we keep making mistakes, but keep in mind that as fast as our process improves the scope and scale increases to outpace the ability of software engineering to keep up. If you think about it, we could probably go back and re-build Windows 1.0 or Word 2.0 knowing what we know now and do so without all the schedule and quality challenges, but unfortunately our customers are not asking for Windows 1.0 or Word 2.0 anymore but rather much more sophisticated software.&amp;nbsp; Just like the fact that even after building one highway project, the second one still seems to have schedule and budget problems (since the Romans!)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;If you are interested in the techniques we have used internally to look back at projects to work to improve them, then take a look at this note from HBS Press, &lt;A href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml;jsessionid=NRI1VLIZ5AHUMAKRGWDSELQ?id=691033"&gt;Learning from Projects: Note on Conducting a Postmortem Analysis&lt;/A&gt; from 1999.&amp;nbsp; The professor looked at some of the techniques we used at developing project post-mortems.&amp;nbsp; I’m a co-author but that was just because of the access to the information I offered. It is worth noting that Professor Thomke thought that the notion of a post-mortem was something that was unique enough at Microsoft that he chose to write about it—this is a professor that has a PhD in operations research from MIT, was a McKinsey consultant, and has done research on dozens of companies around the world (including excellent manufacturing companies like BMW).&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;As leaders in the field, these are our problems to address and it turns out this is an area where we have active &lt;A href="http://research.microsoft.com/research/detail.aspx?id=3"&gt;research&lt;/A&gt;, new &lt;A href="http://lab.msdn.microsoft.com/teamsystem/gettingstarted/default.aspx"&gt;tools&lt;/A&gt;, and &lt;A HREF="/techtalk/archive/2005/10/05/477633.aspx#478385"&gt;internally&lt;/A&gt; we are always trying to improve our development process.&amp;nbsp; Many of you probably took courses in compilers and languages in college or graduate school and these might be areas you want to work on at Microsoft.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I know in reading this you might think “yikes” but I would say that you should listen to what Bill Gates says this week as he visits college campuses—there is so much opportunity for software to improve and to continue to change the world.&amp;nbsp; That’s what we’re all about.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Finally, I would say to a candidate considering working at Microsoft that Microsoft is about software—we think of software as the heart and soul of so many aspects of life and work and such a powerful tool.&amp;nbsp; The ability for software to transform the way we live and work is as big as any invention ever, yet here we are right at the very beginning of the curve.&amp;nbsp; When I think about that I am reminded of Carl Sagan using a calendar to describe the history of the earth and what a tiny sliver of time recorded history is—software is the same way, we have gone through a tiny sliver of invention and innovation.&amp;nbsp; There is so much more to do and so many exciting things yet to come.&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;--Steven&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=478898" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>MBA Opportunities at Microsoft </title><link>http://blogs.msdn.com/techtalk/archive/2005/09/28/475021.aspx</link><pubDate>Wed, 28 Sep 2005 22:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:475021</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>15</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/475021.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=475021</wfw:commentRss><description>&lt;DIV class=Section1&gt;&lt;FONT face=Arial size=2 3EI’m heading out Harvard Business School to join in recruiting MBAs.  HBS is one number of business schools we recruit from so we’ll probably be at school near you soon.&lt; font a&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Before I get started I should point out that I am not an MBA and I don’t play one on TV. &amp;nbsp;The closest I ever came to a business class was when I took &lt;A href="http://seattlecentral.org/course/index.php?aspfile=classitems&amp;amp;yrq=A562&amp;amp;subjects=ACC"&gt;Accounting I&lt;/A&gt; at the nearby community college in 1990 or so. &amp;nbsp;I’m an engineer through and through. That all changed due to a chance encounter in 1998 when I was recruiting at Harvard undergrad for computer science majors and somehow ended up making a guest appearance in a business school class that was discussing the development of Microsoft Word. &amp;nbsp;One thing led to another and I spent the fall of 1998 as a &lt;I&gt;visiting scholar&lt;/I&gt; at HBS helping to teach a second year class “Managing Product Development” and I even wrote up a &lt;A href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml;jsessionid=M0HONLKKX1JFQAKRGWDSELQ?id=699046"&gt;case study&lt;/A&gt;. &amp;nbsp;The experience was a real eye opener and it definitely taught me where the MBA mindset and experience can be a great member of our product and business teams. &amp;nbsp;This post is my perspective on where MBA graduates can have a big impact at Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As with most of the jobs at Microsoft, there is some slight variation depending on the business group you join. &amp;nbsp;The overall results are the same—bring great products to market and reach customers in a world class manner—but the division of responsibilities across the different jobs is where the variation is usually. &amp;nbsp;I will offer some views that are biased towards the Business Software Division or Platforms Software Division (Office, Windows, Server and Tools).&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If you have a background in engineering or technology, or just a strong passion for technology, prior to getting an MBA and enrolled in an MBA program to make a career change that builds on your technical experience/background but takes you in another direction then this post is for you! &amp;nbsp;For those of you that want to pursue finance, corporate controller careers, or development (if you dream job is CFO, for example) then the best place to learn about the possibilities is from your recruiter or &lt;A href="http://www.microsoft.com/mba"&gt;http://www.microsoft.com/mba&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The two core jobs that can be quite interesting for you if you have a technical passion (not necessarily a technical education or background) and an MBA or are interested in focusing on products and technologies are:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Product Planner&lt;/FONT&gt; 
&lt;LI class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Product Manager&lt;/FONT&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;A &lt;B&gt;product planner&lt;/B&gt; is a member of the product team that is out there ahead of the current R&amp;amp;D efforts. &amp;nbsp;Your role is to be defining new product scenarios that we might want to build in the next generation products and understanding the customer and business rationale for going after the market. &amp;nbsp;Success is measured by seeing these ideas implemented in the product or by the research you undertook driving the product to a specific set of scenarios. &amp;nbsp;Like all things at Microsoft, you will have very strong executive support but your data and research and the case you build is what changes things. &amp;nbsp;In the Office team the product planning organization reports directly to the Corporate VP for &lt;A href="http://www.microsoft.com/college/ft_pm.mspx"&gt;Program Management&lt;/A&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;The role is one of learning, researching, and communicating.&amp;nbsp; The focus is on competitive products, new technologies, new businesses, and above all customers. &amp;nbsp;You will use a variety of techniques from analytical research, qualitative research, analyzing third party research, competitive product analysis, on site customer visits, etc. &amp;nbsp;The job is one that requires creative and out-of-box thinking since the goal is to inform the development team about possibilities that are not necessarily linear extrapolations from the current product line.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;A fantastic example of the role of planning for the next wave of products called Office “12” is how we approached the question of “workflow”. &amp;nbsp;This is a technology area that has not made it into mainstream products in any broad way and technically has been a real challenge for our industry—there is a strong customer demand, but the products have not materialized. &amp;nbsp;Partnering deeply with program management, our product planning team led the development of a model known as “document lifecycle” or DLC. &amp;nbsp;The DLC model turned workflow on end and instead of thinking about the steps of the process, looked at how documents move through an organization. So instead of focusing too much on process, the planners looked at how end-users think about their own work products and how those work products move throughout the organization. &amp;nbsp;Through dozens of multi-day in-depth customer engagements the planners developed an extremely detailed model of the flow of documents across a broad set of industries. &amp;nbsp;This had really not been done before and was a great example of pioneering work. &amp;nbsp;And as if that wasn’t enough, in the course of this research the US law Sarbanes-Oxley was passed which changed the landscape of the problem. &amp;nbsp;The planners were able to reach out and develop and adjunct model around “compliance” and from that came a whole additional set of features that are part of Office “12”. &amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;We recently announced the whole area of &lt;A href="http://www.microsoft.com/office/preview/ecm.mspx"&gt;Enterprise Content Management&lt;/A&gt; at the Professional Developers Conference in LA and it was incredibly well received.&amp;nbsp; &amp;nbsp;The work would not have been possible without the contribution from product planning.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As a product planner you will join the Redmond-based team made up of planners in major countries around the world. &amp;nbsp;The planners coordinate their worldwide research because our products need to be great around the world (for example, these document lifecycle features will likely span time zones and languages for a single work product). &amp;nbsp;You will be mentored by a fellow product planner and have frequent access to the senior leaders of the product team who will seek you out for competitive intelligence and views on broad product trends.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;A &lt;B&gt;product manager&lt;/B&gt; at Microsoft is responsible for defining and executing the business strategy. &amp;nbsp;You can think of this as the “go to market” strategy for our products. &amp;nbsp;With products based on intellectual property this is incredibly complex and why your MBA background will definitely help you hit the ground running and able to make a contribution quickly.&amp;nbsp; The Office business at Microsoft is $10 billion, selling to hundreds of millions of customers, with product offerings in over 40 languages, and dozens of primary SKUs that cover programs, servers, and services. &amp;nbsp;You will be responsible for equipping a worldwide field sales organization of thousands with the tools necessary to be successful at communicating the value of the products to customers and the press. You will do all of this within a team that is about the size of your business school section.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;There are many responsibilities that you will potentially have as a new member of the product management team. &amp;nbsp;Over your career at Microsoft, it will be important to gain a well-rounded set of experiences in several of these core competencies. &amp;nbsp;Generally speaking, early in your career you will dedicate yourself to gaining in-depth experience and success in one area. &amp;nbsp;As you progress through your career you will gain experience in other aspects of product management and/or other product lines. &amp;nbsp;As a product manager in Office you would report into the organization run by our Corporate VP for product management who reports to the President of the Business Software Division (my boss too!) &amp;nbsp;Two of our three divisional presidents started as product managers at Microsoft.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As a member of the development team, I am in daily contact with one function of product management which I thought I would talk about which is the role that orchestrates product messaging and the overall value proposition. &amp;nbsp;We work on products that are enormously complex compared to things like consumer goods, cars, snack foods, or advertising supported products like magazines. &amp;nbsp;There exist literally no other products you can buy that do as many things in one “package” in as many different ways as Microsoft Office. &amp;nbsp;Yet just like all products we have a short time to get a message out there and we must do it in a manner that is in touch with customers, scales globally, and drives success for our business. &amp;nbsp;For Office “12” product management has delivered a very compelling messaging framework known as &lt;A href="http://www.microsoft.com/mscorp/execmail/2005/05-19newworldofwork.asp"&gt;The New World of Work&lt;/A&gt; (NWOW).&amp;nbsp; This campaign was kicked off by Bill Gates and represents the cornerstone of our messaging for Office “12”. &amp;nbsp;Of course you can see the connection to the above document lifecycle scenario, as the NWOW is a campaign built around those scenarios that typify the new capabilities we have developed to deliver customer solutions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;If you have a more analytical bent in your background or aspiration, another key aspect of the product management career path is delivering marketing leading and customer satisfactory pricing and packaging.&amp;nbsp; Because we are products based on intellectual property there are seemingly unlimited combinations of features and price points upon which to base your business models. &amp;nbsp;With the expansion of our product line to cover the NWOW we have opportunities to be even more creative with what we offer to customers, balancing our revenue aspirations with customer wishes as you always do with packaging and pricing.&amp;nbsp; The sheer breadth of our product line, worldwide presence, and our industry’s ability to create product categories seemingly overnight, the ability to be a step ahead and have a strong sense of where the market will be is a key strength in this role. &amp;nbsp;A great example of successful product manager work in this area has been the offering of “Student and Teacher Office” which was an end-to-end product management offering consisting of packaging, pricing, distribution, and the campaign partnering with our Academic sales channel and our Retail channel. &amp;nbsp;The product has been responsible for a significant up-tick in incremental revenue for our business and has been featured numerous times in the Wall St. Journal as highly customer satisfying offer. &amp;nbsp;So great product management yielded a great business opportunity and&amp;nbsp;satisfied customers.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Many MBA graduates ask about "owning a business" -- this is always a reasonable career aspiration.&amp;nbsp; The typical decision point for a new MBA is a really about what size organization you want to be part of and what size business you want to work in.&amp;nbsp; Obviously with a business like Office no one person owns the business end-to-end (unless you count our CEO).&amp;nbsp; There are all sorts of real-world complexities such as managing a global sales force (subsidiaries are managed by in-country GMs and the sales people report up through our global COO).&amp;nbsp; Within our organization we have some enormously successful end-to-end businesses including &lt;A href="http://office.microsoft.com/en-us/FX010857951033.aspx"&gt;Project&lt;/A&gt;, &lt;A href="http://office.microsoft.com/en-us/FX010857981033.aspx"&gt;Visio&lt;/A&gt;, &lt;A href="http://office.microsoft.com/en-us/FX010858021033.aspx"&gt;FrontPage&lt;/A&gt;, &lt;A href="http://office.microsoft.com/en-us/FX010858031033.aspx"&gt;OneNote&lt;/A&gt;, and our server products under the &lt;A href="http://www.microsoft.com/sharepoint/default.mspx"&gt;SharePoint&lt;/A&gt; brand.&amp;nbsp; In total these represent over $1B in revenue worldwide.&amp;nbsp; We have product managers that own these businesses and equip dedicated field sales and marketing resources around the world to achieve the revenue numbers.&amp;nbsp; A great example of this type of product management experience is working on our SharePoint family.&amp;nbsp; This business is a cornerstone of the "&lt;A href="http://www.microsoft.com/office/prodinfo.mspx"&gt;Office System&lt;/A&gt;" and is a major corporate-wide strategic initiative.&amp;nbsp; The product management team, in concert with the development team, own the end-to-end business around this effort and have grown the business from a startup of $0 to...well a pretty big number and faster than any other business in Microsoft's history.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;As a product manager you will join the Redmond-based team and develop the worldwide strategy for the business. You will have frequent access to executives as you develop your strategic contribution. Of course you will work with many different external parties as well including the press, partners, customers, and developers. Because many of our business offerings cross Microsoft businesses you will partner with product managers in other parts of the company, extending your network as your career advances.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Product management and product planning are “adjacent” careers in that it is not uncommon for people to move between the roles. &amp;nbsp;In fact the leader of product planning for Office was previously a product manager (and an MBA). &amp;nbsp;If you are potentially interested in a career path that leads to general management you might read my &lt;A HREF="/techtalk/archive/2005/09/18/471121.aspx"&gt;post&lt;/A&gt; &lt;/A&gt;on that topic.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;Well that’s all for now. &amp;nbsp;If you have any questions or comments please let me know. &amp;nbsp;If you’re at HBS I’d love to get a chance to meet you on October 5&lt;SUP&gt;th&lt;/SUP&gt;. &amp;nbsp;I will also be in a few classes during the day so maybe I’ll see you there as well.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;--Steven &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=475021" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>The path to GM -- some thoughts on becoming a general manager</title><link>http://blogs.msdn.com/techtalk/archive/2005/09/18/471121.aspx</link><pubDate>Mon, 19 Sep 2005 09:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:471121</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>26</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/471121.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=471121</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The recruiting season is getting underway and shortly we’ll be “at a college near you” looking to connect. &amp;nbsp;I will be at Harvard Business School the first week of October, where I’ll visit some classes and also participate in a career fair. &amp;nbsp;I hope to see some readers there!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I met this week with one the managers at Microsoft that I officially mentor. &amp;nbsp;We have a program (literally an ASP.NET program) where you can sign up to mentor or be mentored through a matching process.&amp;nbsp; The discussion we had was about career progression and how does one become CEO. &amp;nbsp;I thought that was a rather ambitious goal—after all asking your mentor for the path to become their manager is interesting ;-). &amp;nbsp;We talked the discussion down from CEO to achieving the career goal of &lt;I&gt;general management &lt;/I&gt;(GM). &amp;nbsp;I’ll define general management as managing multiple functions with significant responsibility for a whole customer visible project—this can be a product unit of 50 people (20 devs, 20 test, 10 program managers) or a whole business group of 300 that includes marketing and other disciplines. &amp;nbsp;At Microsoft, as with many companies, reaching this level of management is a significant accomplishment and with it comes significant responsibility. &amp;nbsp;If you aspire to, then how do you get there?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;(Now is a good time to say that this is definitely an article that could be used against me since I’m sure there are things in here that I do not practice as well as I should—if you happen to know that, then suffice it to say I’m still learning too and these are lessons I’ve learned! &amp;nbsp;And also I will use a bunch of examples in here, but any of them can have their tables turned and reflect any other job discipline.)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The first words out of my mouth in this case are always &lt;B&gt;patience&lt;/B&gt;. &amp;nbsp;It is a cliché, and frankly coming from an executive always seems self-serving. &amp;nbsp;But the truth is I think that pace is the most important element of a career. &amp;nbsp;Once you become a functional manager your career is different and your contribution is different, and not necessarily better. &amp;nbsp;And once you become a general manager, your career again changes and your contribution is way different, and as you’ll experience the job becomes a bit more lonely and often less “fun”. &amp;nbsp;I remember going to my 5 year reunion for college and we’re sitting out on the arts quad eating PMPs (don’t ask!) when I listened to each of my fellow Comp Sci friends bemoan the amount of management they were doing and how they were no longer really doing any “work”. &amp;nbsp;That certainly made me pause and I felt great that I was still writing code and not actually managing anyone! &amp;nbsp;My first lesson in patience.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The second reason to be patient about your career is that you are probably never nearly as ready as you think you are for the next big job. &amp;nbsp;The challenge is that the company has lots to worry about in addition to your career. &amp;nbsp;The company has shareholders, other employees, and customers so balancing all of those needs in addition to your career is tricky. &amp;nbsp;Here is where trusting your manager (and management chain) is super important. &amp;nbsp;In a strong organization, the opportunities for you will come, even if they don’t come as fast as you’d like. &amp;nbsp;We’ve all had people we were impressed by because of their meteoric rise, only to see them perhaps “peak early” or worse. &amp;nbsp;At the same time, I’ve seen organizations rewarded for making the right move at the right time and seeing someone just ready enough to step into a bigger/broader role and make a huge difference with a running start. &amp;nbsp;Mike Maples, certainly one of the most respected Microsoft managers ever, used to remind us all that things work out in the long run. &amp;nbsp;So another reason to be patient.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;So assuming you have the patience, then what are the right steps to general management? &amp;nbsp;If you were to ask general managers at Microsoft how they ended up in their job you’d probably get a unique answer for each person. &amp;nbsp;Most at Microsoft that rose up through the ranks probably didn’t expect (or seek) GM roles. Certainly for me, I was generally much more in the moment and excited by the technology, products and customers.&amp;nbsp; I always felt that my managers noticed that and that was a big part of why I was offered management responsibility.&amp;nbsp; The most important thing about moving into general management is that you have to be very good at the function (dev, test, pm, marketing) that you currently work in—no one is going to want you to manage another function, especially one you have never done, if you are not among the best at managing your current discipline.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Generally, you’re going to need to gain some experience in another function before you can really hit the ground running as a general manager. &amp;nbsp;I know that is something I tend to look for in candidates. &amp;nbsp;This is not as dramatic as it often sounds.&amp;nbsp; If you’re a developer, it does not mean you should go become a sales person (most good developers would fail spectacularly at sales, and vice versa). &amp;nbsp;Rather the focus should be on an “adjacent” discipline.&amp;nbsp; You can think of the disciplines as a continuum:&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV align=center&gt;
&lt;TABLE class=MsoTableGrid id=table1 style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse" cellSpacing=0 cellPadding=0 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: windowtext 1pt solid" vAlign=top&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Support &amp;lt;-&amp;gt; Sales &amp;lt;-&amp;gt; Marketing &amp;lt;-&amp;gt; Planning &amp;lt;-&amp;gt; Program Management &amp;lt;-&amp;gt; Development &amp;lt;-&amp;gt; Testing&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;At any point you can look “left or right” and see the potential for you to broaden your expertise and gain the experience that could serve you well as a multi-disciplinary manager.&amp;nbsp; You probably don’t need to go far for this experience, and in fact staying close by in a familiar organization or product might serve you well and help you keep your feet on the ground.&amp;nbsp; The majority, but by no means all, general managers at Microsoft have experience in the dev/pm space or in the sales/marketing space. &amp;nbsp;I want to be careful about generalizing, because with a relatively small set of folks and a lot of unique stories it is important to understand that many paths can lead to GM&lt;I&gt;.&amp;nbsp; I should also say, that he above spectrum is not complete and not meant to be exhaustive, but just illustrative.&lt;/I&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Why is this experience important? &amp;nbsp;The biggest reason is because the day you walk into a room and look around and see 3 or 4 (or more) different disciplines looking at you for leadership and guidance, your credibility hinges on being able to humbly and respectfully talk-the-talk and walk-the-walk of several disciplines that you never did. &amp;nbsp;“BS” detectors will immediately go up—just because you were a whiz at marketing or sales, do not think test or pm will immediately just follow you (insert any other disciplines in there). &amp;nbsp;In fact, one of the biggest early points of failure for a new GM is the inability to see eye to eye or &lt;I&gt;bond&lt;/I&gt; with the “other” disciplines. &amp;nbsp;If you were a developer who was always beating up on testing, or a program manager who always said marketing was clueless then imagine how those disciplines will feel if they see you stand up in front of the room and say “Hi, I’m your new manager”. &amp;nbsp;That won’t be a pretty sight.&amp;nbsp; After all, these folks will now be looking to you to expand their career opportunities and you can’t do that if you have not internalized respect for all those that contribute. &amp;nbsp;So if you’re looking to move to general management, showing how you can walk in the other’s shoes is super important. &amp;nbsp;When was the last time you asked testing their views?&amp;nbsp; When was the last time you helped marketing with some technical content and let them get all the glory? When was the last time you didn’t take the “expected” role because you knew the other person was right?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Another point of failure on the path to general management is closely related and that is being too focused on your discipline and not being able to “rise” above your discipline during times when the organization needs it. &amp;nbsp;You can think of this as being too much of a functional silo, or just not “mature” enough to see the big picture. &amp;nbsp;It means for example that as a tester if you know the schedule is tight and that we need time to get the quality to the right levels, but you also know there is a hard constraint due to a “train that is leaving the station then the senior folks are the ones that take a step back and find a solution to the situation and do not dig their heels in just play the expected role (i.e. testers saying we need time, developers saying it can’t be done, program managers saying we need to add features, marketing saying we need it sooner, etc.) &amp;nbsp;The ability to solve problems in a situation that arise from the other perspectives or disciplines is a key trait of a GM who rose up through functional leadership. &amp;nbsp;At Microsoft, good examples of this are program managers who cut features because they know, as much as they want them, that the feature will lower the overall quality, or testers who know how to find a path to insuring the quality of a late braking addition that they know we need but adds measurable risk to the project.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The next area of experience is often the first one thrown at you by managers when you ask about the path to GM, which is to go and get experience on a broad set of product lines. &amp;nbsp;This is easy to say, and actually relatively easy to do. &amp;nbsp;The value though really depends on the situation and the depth of the experience you gain. &amp;nbsp;One way to look at this is if you’re looking at a resume of an external candidate and you see 5 jobs in 10 years, that is usually a little bit of a warning sign. &amp;nbsp;Just because you know all the groups, an internal candidate with that same resume should probably set off the same warning signs. &amp;nbsp;This is only a warning and something to look into, not a disqualification of course.&amp;nbsp; But a key tenet for me is that to become excellent and among the best at a functional role is to work on the “beginning, middle, and end” of a project at least twice. &amp;nbsp;Why is this?&amp;nbsp; Well all the learning comes from deciding what to do, figuring out how to do it, and then doing it. &amp;nbsp;But the real learning comes from watching customers live with all those decisions you made, and &lt;I&gt;then&lt;/I&gt; going back to the whiteboard and figuring out how to clean up the mess you made &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;. &amp;nbsp;&amp;nbsp;In software that could be 5 years on one team, which might seem like an eternity, especially as a person anxious to be a GM, but I believe it makes you a much stronger leader and manger down the road.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;At the same time, experience in other product lines is super valuable. &amp;nbsp;It is very similar in benefit to gaining experience in other disciplines. &amp;nbsp;All software products need to work together, certainly that is what our customers say, but if you haven’t been on the other side of that dependency (or &lt;I&gt;interface&lt;/I&gt;) then you are only seeing one side of the solution and probably spending way too much time thinking the other folks are coconuts. &amp;nbsp;Again this is one where there is a lot of judgment about how different the experience needs to be, and there are a lot of factors that a company can consider that come into play. &amp;nbsp;Some companies expect you to move very far because the companies are very diverse and the expertise you are gaining is around management and process. &amp;nbsp;Other companies expect you to continue gain technical depth and thus moves that are “far” actually slow down your contribution. &amp;nbsp;And to point out how much judgment there is in this, usually at junior levels it helps to gain the depth experience in relatively adjacent technologies, and then at senior levels because your contribution is much more about process and management you can usually move further away. &amp;nbsp;I strongly recommend having a plan for yourself that balances being excellent at your function over a good period of time, while also gaining that same level of depth experience in another business or product line that builds on those skills you gained.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;This leads to the last tip I could offer on the path to general management, which is to develop a mentor or role model within your organization. &amp;nbsp;This needs to be someone you can talk to who can objectively validate and/or criticize your thoughts on career path. &amp;nbsp;A lot of folks will go to the human resources group for this type of advice, and while that can be a good data point, I would suggest that you want to find someone you admire or respect who has come from a similar path you are currently on. &amp;nbsp;So if you are a developer and want to be a general manager, find someone at the company who is a developer who became a general manager. &amp;nbsp;Ask if they will talk to you once or twice a year (usually during performance review or goal setting time) and certainly ask if you can talk to them when you are considering a change in jobs or responsibilities.&amp;nbsp; I know when people ask me about their careers I always ask who they see around the company as a role model, and it surprises me that most of the time folks do not have a clear view.&amp;nbsp; As a hint, it isn’t really the best answer to say you are modeling yourself after Bill Gates or Steve Ballmer – those are a couple of unique individuals and so I’d suggest being a bit more pragmatic in who you’re most likely to want to be like.&amp;nbsp; It is worth noting that mentors are people too and they often don’t have magic answers to questions, but if you bring good questions (such as “how would you handle this situation that I am facing this week?”) then there is a good chance you can have a very beneficial mentoring experience.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Finally, I’d close by saying that if you were reading this thinking “gosh, I don’t really know if I want to be a general manager or not” then that is ok too.&amp;nbsp; Far too many people think being a big time manager is where it’s at.&amp;nbsp; Being a general manager has its moments, but if you rose up through the ranks as a developer and program manager, believe me it is not magical the first time your test manager asks you “do you think we’re investing enough in automated testing for this scenario?”&amp;nbsp; (note, this happened to me!) Managing work that you have never done is very stressful and also a bit lonely.&amp;nbsp; If you have the right mindset and stay focused on excellence, my experience is that the company will recognize this and the right person will connect with the right organization and the right time—and in the end, as Mike Maples said about management, the cream will rise to the top and the right things happen for everyone.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;So if I had to summarize a way to think about your career plan to become a general manager:&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in; MARGIN-BOTTOM: 0in" type=1&gt;
&lt;LI class=MsoNormal style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Be patient.&amp;nbsp; If you take your time and work with your management chain, your chances of success definitely go up.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Be excellent.&amp;nbsp; The first key is to be among the very best performers at your core discipline.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Gain adjacency experience.&amp;nbsp; A good, but not necessarily critical, next step is to gain experience in an adjacent discipline.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Respect and understand all the disciplines. &amp;nbsp;It is not possible for any one person to work in all the disciplines you might manage someday, but you should spend a good deal of effort learning and understanding the other disciplines &lt;B&gt;before&lt;/B&gt; you have to manage them.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Work on multiple product lines.&amp;nbsp; Figure out for you and your organization what the right type of experience change you should have and seek that out when you feel like you’ve reached a good level of functional excellence and performance at your current role.&lt;/SPAN&gt; 
&lt;LI class=MsoNormal style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Find a mentor.&amp;nbsp; See if there is someone in the company who followed a path similar to the one you would like to follow and meet with them to discuss your career.&lt;/SPAN&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;--Steven&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;BTW, I’ve received some mail about the recent article in Business Week on Microsoft.&amp;nbsp; Right now I will choose not to comment on it until I see if the writers and editors choose to correct or comment on some of the plethora of factual errors. &lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=471121" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>Do you have to be a computer science major to work on Microsoft products?  NO you don't.</title><link>http://blogs.msdn.com/techtalk/archive/2005/08/08/449231.aspx</link><pubDate>Tue, 09 Aug 2005 02:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:449231</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>16</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/449231.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=449231</wfw:commentRss><description>&lt;DIV class=Section1&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;A potential intern sent me the following question:&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;EM&gt;While my major is computer related, I'm afraid it's not technical enough to assure that I become a competitive candidate.&amp;nbsp; So I'm wondering what you would say are the core technologies candidates should have to be competitive and any other tips you can offer.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I’ll address this for interns and full time hires for the product groups at Microsoft.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The short answer is that we don’t require any specific major and what we are looking for are the skills associated with the three core technical disciplines at Microsoft (Software Design Engineer, Software Design Engineer/Test, Program Manager). &amp;nbsp;Being a computer science major (or computer engineering if your school has that) is helpful only because it is usually the place the recruiters go looking. &amp;nbsp;However, don’t let the lack of a specific major stop you from applying if you think you meet the core skill requirements outlined below.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;But above all, the most important thing for you to possess when considering Microsoft is a passion for software and bringing software products and services to market.&amp;nbsp; If you aren’t excited about software then Microsoft isn’t the right place. &amp;nbsp;If all you want to do is “make money”, or “get a sense for how things are done” then there are probably places that are a better fit.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Just taking a look back, computer science is a relatively new major at many universities (new compared to say Physics or Political Science). &amp;nbsp;In many schools computer science is an off-shoot of Math or Electrical Engineering. &amp;nbsp;So early on at Microsoft we would expect to see lots of hires from technical fields, not necessarily computer science.&amp;nbsp; We still see that, though with the prevelance of comp sci folks who want to work in software generally find that major. &amp;nbsp;Some of the very very best programmers I’ve known at Microsoft never studied computer science formally—some studied Music, Physics, Math, etc.&amp;nbsp; Cornell always made it very clear in their requirements for graduation that your major was not a career choice, but rather it was a necessary part of graduating to have in depth coursework in one area.&amp;nbsp; So I majored in Chemistry (and comp sci) &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Software Design Engineers (“developers”) are going to write production code that ships to customers. &amp;nbsp;So for this job you are going to need to know how to program. &amp;nbsp;The following are some of the core programming skills you should be familiar with: high level languages (C++, Java, Scheme—beyond scripting HTML), data structures (linked lists, trees), machine architecture (instruction sets, virtual memory, hex math), and algorithmic concepts (complexity theory, recursion, abstraction). &amp;nbsp;You will notice that this list is not a list of Microsoft technologies – we love to see that, but by and large over the course of your career you will learn many languages, toolsets, and runtimes so mastering a specific one is cool but you will not be quizzed on the keyboard shortcuts of the IDE that you use. &amp;nbsp;A significant portion of development at Microsoft is in C++, which does often prove to be challenging for folks that went to programs that teach exclusively in Java.&amp;nbsp; We try hard to interview without a bias towards the language, but rather to gauge how fast you will be able to pick up a new language. &amp;nbsp;A good acid test of your skills would be something like “if someone told you that you needed to implement the Java Collection classes, how would you do it”. &amp;nbsp;If you have no idea except going to the reference book and just using the Collection class then being a Software Design Engineer is probably not for you. &amp;nbsp;But if you could write a Collection class only using some of the primitives of Java then go for it!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Software Design Engineers/Test (“testers”) require many of the same coding skills as developers and will put those to use routinely. &amp;nbsp;The primary differentiator is that the code testers write generally facilitates shipping software code, but is not itself a product customers will run. &amp;nbsp;In addition, there are significant differences in the types of problems being solved and the approach. &amp;nbsp;Whereas a developer might have to implement a Collection class, a tester really looks at that and says “how do I figure out if it really works”. &amp;nbsp;A tester would put their problem solving and coding skills to work demonstrating that the code meets the specification or satisfies all the boundary conditions. &amp;nbsp;A cliché about testers is that they like to “break things”. &amp;nbsp;I don’t think that is exactly fair, but perhaps a way of looking at the difference is that a tester definitely likes to focus on insuring that things operate the way they are supposed to, rather than claiming they operate correctly. &amp;nbsp;With testing, you generally do not need as much specific background as developers in terms of data structures and algorithmic concepts, which is why we see a lot of success with testers hired from all sorts of “technical” majors. &amp;nbsp;Many of our senior test managers in Office have backgrounds in physics, math, operations research, or a whole host of other majors where you learn critical thinking and problem solving and become significant users of computers and programming.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;A Program Manager (“PM”) is a job that is unique to Microsoft. &amp;nbsp;You can read lots about this in Michael Cusumano’s book (somewhat dated) &lt;A href="http://www.amazon.com/exec/obidos/tg/detail/-/0684855313/qid=1123392413/sr=8-1/ref=pd_bbs_sbs_1/002-4828602-9286452?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;Microsoft Secrets&lt;/A&gt;. &amp;nbsp;This job was created as a way of bridging the “gap” one often sees between customers and developers, and at the same time the idea is to allow developers to focus on what they love to do (write code) and testers focus on product quality while PMs go and develop a product specification that meets customer needs.&amp;nbsp; Program Management is a highly technical position of course and you must have in depth knowledge of how software works and how people interact with computers. &amp;nbsp;You don’t write any code, though knowing how to write code is super helpful. &amp;nbsp;Important skills for program management would include communication, negotiation, organization, and important character traits would include empathetic and detail oriented.&amp;nbsp; Chris Pratley has written quite a bit on &lt;A href="/chris_pratley/archive/2004/02/09/70474.aspx"&gt;what program management does&lt;/A&gt; so check that out.&amp;nbsp; Successful PMs can be found with all sorts of backgrounds including anthropology, linguistics, political science, art and architecture, music, etc.&amp;nbsp; But of course many program managers come straight from computer science as well.&amp;nbsp; If you worked on a group project in computer science and somehow found yourself trying to orchestrate the work of the team, filling in the holes, and writing down the details of how things should work, and then presenting the work to a professor or class then you just might be a program manager.&amp;nbsp; One thing to keep in mind is that the job title is a bit misleading as program managers don’t really program and don’t manage the project. &amp;nbsp;What a program manager does is “manage the program” where the program is a feature area of the software.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;A neat thing about these three jobs at Microsoft is that they are all peers.&amp;nbsp; &amp;nbsp;People new to Microsoft, but with industry experience, find this awkward because they are used to an org structure where test reports in through an engineering manager who manages development and test, and the specifications come from product management/marketing in the form of a “market requirements doc”. &amp;nbsp;If there are any specs that are detailed then development writes them, but these are usually architectural. &amp;nbsp;At Microsoft we have “triads” of development, testing, program management that work on the code together from the beginning. &amp;nbsp;This is a super important organizational concept and one that I think adds a lot to how we build end-user software in Office. &amp;nbsp;It also says that consensus and understanding different viewpoints are an important part of building products. &amp;nbsp;Successful members of a team at Microsoft work across the other disciplines to get their job done.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;So basically, the big tips I would offer, to answer the email question:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Be passionate about software&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Know the concepts behind computers, and understand how those are reflected in a specific system&lt;/SPAN&gt; 
&lt;LI class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Understand what drives you and where in the triad you think your personality and character puts you&lt;/SPAN&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;If you want more information on the specifics of these three different roles at Microsoft, just check out &lt;A href="http://www.microsoft.com/college/ft_overview.mspx"&gt;http://www.microsoft.com/college/ft_overview.mspx&lt;/A&gt;. &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Oh I want to thank everyone who has sent me mail and thoughts on the topics I’ve written about. &amp;nbsp;By all means, feel free to post comments and suggestions. &amp;nbsp;I love the dialog.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;--steven&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=449231" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category></item><item><title>Changing career paths at Microsoft -- short answer</title><link>http://blogs.msdn.com/techtalk/archive/2005/07/21/441674.aspx</link><pubDate>Fri, 22 Jul 2005 08:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:441674</guid><dc:creator>steven_sinofsky</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/techtalk/comments/441674.aspx</comments><wfw:commentRss>http://blogs.msdn.com/techtalk/commentrss.aspx?PostID=441674</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Today I was talking with an intern who was having a good, but not great, summer working on one of our teams.&amp;nbsp; He felt that perhaps he would be more successful if he was involved with testing more than development.&amp;nbsp; His question was "is this really possible"?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;It is good question.&amp;nbsp; Since Microsoft is growing and big, there are always going to be new opportunities than we have people for.&amp;nbsp; The question is really whether Microsoft and any one person makes a good match.&amp;nbsp; In talking with this one person and the kinds of experiences he was looking for, it seems like testing might be a better match so I definitely encouraged him to apply for a second summer with us but in testing.&amp;nbsp; We'll see what his hiring manager and mentor working with recruiting all feel.&amp;nbsp; In the end, we always have the bests interests of the candidate and Microsoft when we make these decisions--it only makes sense if there is a good match.&amp;nbsp; As Mike Maples (a retired VP at Microsoft who is really responsible for so many great things in Office/applications and who had a huge impact on me) once said, "things always work out in the long run" and that has always meant a lot to me in my career.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;I started at Microsoft in development as a software design engineer.&amp;nbsp; I worked for several releases on our C++ products helping to create the Microsoft Foundation Classes.&amp;nbsp; In hindsight, I should have seen that I probably was a better fit for program management (Chris Pratley's &lt;/FONT&gt;&lt;A href="/chris_pratley/search.aspx?q=program+management&amp;amp;p=1"&gt;&lt;FONT face=Arial size=2&gt;summary of program management &lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;is a good one for sure).&amp;nbsp; I always seemed more adept at working on the customer, design and project issues than on writing the code--my code was always nice and orderly, but I probably couldn't write enough code fast enough to really be the very best at programming.&amp;nbsp; Hmmm...I'm not sure I should be sharing that. Sigh.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;So I moved to program management when I switched to the Office group.&amp;nbsp; One thing that is great about Microsoft is that because we have such a broad "interface" with customers you can have opportunities to work on just about any aspects of the software world.&amp;nbsp; If you look at the courses you can talk in comp sci in college (compilers, databases, AI, human factors, databases, operating systems, graphics, etc.), Microsoft has products used by tons of folks in all those areas--market leading products dedicated to leading edge technology.&amp;nbsp; So making a switch is not only easy, but also something that you might expect to do after a few years in one area if you want.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Program management seemed like a more natural fit for me--working on designs, ironing out the details of features, considering alternatives, and also the externally facing aspects were great fun for me and really helped to contribute to Office as we grew the shared architecture of the product.&amp;nbsp; For example, one of the early things I got to work on was creating a "high touch" advisory council of customers we could work with in an ongoing way while we made Office 2000.&amp;nbsp; This was a unique creation at Microsoft and the first time we engaged customers in actually helping us to design features of the product through iterative and interactive design.&amp;nbsp; If you're interested in stuff like this you might check out a research area from a professor at MIT named Eric von Hippel, who pioneered a field called "&lt;/FONT&gt;&lt;A href="http://web.mit.edu/evhippel/www/index.html"&gt;&lt;FONT face=Arial size=2&gt;lead user research&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=2&gt;".&amp;nbsp; There is a lot of similarity to what we developed in program management around the Office Advisory Council (which is something we continue to do, even with Office12).&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;That's a long way of saying that what I told this one intern--moving around is a normal part of developing your career at Microsoft.&amp;nbsp; You have all the opportunties to "dive deep" and excel at one area (for example, folks who have worked on databases in Office have done so for many years because it is technically deep, always evolving, and super important for customers) or you can learn the ropes in one area/discipline and move to another.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Well so far so good--I seem to be writing a lot. If I'm off the mark or folks have other topics of interest, by all means let me know.&amp;nbsp; thx.&amp;nbsp; --steven&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=441674" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/techtalk/archive/tags/My+Favorites/default.aspx">My Favorites</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Job+Descriptions/default.aspx">Job Descriptions</category><category domain="http://blogs.msdn.com/techtalk/archive/tags/Experiences+_4000_+Microsoft/default.aspx">Experiences @ Microsoft</category></item></channel></rss>