I have to admit I have a great job and I feel quite fortunate to do what I do. Much of the credit goes to my wife who, back before we were married, suggested I contact the FS team about a job. At the time I was a PM on a project called NetDocs that was about to be absorbed by the Office team. (That’s the charitable description. Others exist.) Frankly I was questioning whether Microsoft was the place for me when she asked if there was any place in the comapny I could see myself being happy. As a long time avaition nut, newly minted pilot and soon-to-be aircraft owner I figured the FS team was it but also figured it’d be tough getting hired there. So, I sent a cold email to the project lead. Well, it was (and still is) tough getting hired but I sent the email at the right time as they had an opening for a “scenery program manager”. To be honest the initial description didn’t thrill me but I applied, prepared like mad, and beat out several other candidates for the job. As it turned out my primary task was not to write specs on what color the grass should be <g> but to manage the integration of an incredible complex tool pipeline for scenery data processing that had been, up to that time, handled by a third party development company. That was back in 2000. I won’t bore you (now anyway) with what happened between then and now but, obvisouly, things went well because now I’m lead program manager for the whole dang project.
I mention this because we’ve been hiring recently and a lot of people wonder what it takes to get a job on the team. (For the sake of discussion let’s assume this is a full time job.) First, I had an advantage in that I was already a Microsoft employee, meaning I already had a track record being a program manager. Plus, despite what you might think, expertise in aviation or experience using or developing for Flight Simulator doesn’t really count for very much when it comes time to evaluate candidates for a full time position. You see, everyone in full time positions at Microsoft is considered to be a good “Microsoft hire”, meaning they possess the talents to excel at the company over the long haul in any number of positions working on any number of teams. To put it another way, if Flight Sim were to disappear tomorrow I should have no trouble moving to Windows, Office, MSN, SQL Server or any other product team and be just as effective as I am (whatever level that might be <g>) on FS. This is true for all the common disciplines: developer, tester, program manager, product manager, and so on. True, some jobs, such as 3D artists don’t have the same flexibility but a FS artist should be able to easily transition to another game within MGS.
What this means for people outside the company is that the bar for getting a job offer is extremely high because you have to be able to operate beyond the initial position. To put it another way, even if you are the creator’s gift to aircraft design or the world’s most talently scenery developer, if you don’t have what it takes to transfer those talents to another team you aren’t going to make the cut. (There are other options, such as contract work, but I won’t go into them here.) Recently there was a very entertaining thread where the exact requirements for a position were debated. If you haven’t read it I would recommend it for a few chuckles–it certainly gave us a few. Seriously, another reason many people (even those already at Microsoft) don’t make the cut is that the full timers on staff aren’t really creating flight simulator products. Whaa? What I mean is that we spend most of our time creating the technology and engineering that yields a great, innovative platform. The actual content in the box is aimed at a broad user base and is something of a technology demonstrator. Anyone who knows our third-party community is aware that they are ones creating the truly masterful individual aircraft and scenery. So, when we hire for an aircraft artist, for example, we don’t really want the person who can create the best possible aircraft with the current technology. We want the person who will help us create the next generation of technology. In my experience those people are few and far between. The question is not, can you create AutoGen tiles that look better than anyone else’s but, instead, could you have developed the system (patent pending) for rendering them? You can use a construction analogy if you want. There are a lot of very talented home builders out there but we hire architrects, not builders. Are there architexts that can pick up a hammer and saw and fashion a house? Sure, but is that really what their job is?
One last thing I want to do is clear up some confusion about whether people work on multiple projects when they’re not working on FS. Apparently there are those who think when we ship a version of Flight Sim we go off and work on Excel or something. Eek! Could you imagine the chaos that would create? Yes, in theory we’re all capable of moving between teams but that’s usually only when we decide we’re ready for something new. No, the FS team is fairly static. When we ship one version we move on to the next. There are times when a few of us might switch between projects within the studio (for example the test team used to alternate between FS and CFS because they shipped in alternating years) but for the most part we strive to keep the teams intact. And that holds true for Microsoft in general. So, perhaps someday I’ll decide that what’s going to challenge me most and give me the best chance to grow is something in another part of Microsoft but for now it’s very challenged where I am (and have maybe even grown a little).