Since last blog focused on how awesome Seattle is, this one will (hopefully) stay focused on the more technical aspects of my summer.
First off, Microsoft makes a billion things. The most known about products include Office (word, excel, exchange, etc), Visual Studio (word for programmers), Bing (making a comeback), Windows (Win8 coming soon!!!), Windows Phone (my new one is super sweet… in love!), and the Interactive Entertainment Business which includes the fun stuff (Xbox, Xbox live, Kinect, games, etc).
So looking at this list… one of them obviously sounds cooler than the rest. I had the privilege of working on the Xbox Application Platform team. For you non-techies out there, the platform is the layer of abstraction between the hardware and the software, its closer to the operating systems level. I worked on test apps for the platform all summer but because of my non-disclosure agreement, that’s about all I can say.
However, I can talk about the Explorer program that I was a part of and what that included. The Explorer program is geared toward underrepresented students in the computer science field so our group included a lot of diversity and had a huge representation of women. We made up 87 of the total 1700 interns at MS this summer.. the biggest group MS has ever had. Through this program, we got to “explore” (ha) the roles of program manager, developer, and developer in test. Based on my summer, I have formed my own definition of each of these roles… extremely biased though.
The PM is a more social role, (though they sit in meetings upon meetings) with a focus on peer to peer communication and is typically the brains behind a specific feature or product or user interface, etc. which they spend their time putting into documents (boooo). PM’s deal with ambiguity well and enjoy the big picture view.
The DEV is what you think of when you think of a professional computer scientist. It involves a lot of sitting behind a computer all day, the need for a good set of headphones, and a love of coding. To me, my progress was best measured during the DEV portion of my summer because I could list all the features I had implemented and continued to watch the feature come to life. DEV’s deal well with lists and tend to hone in on the details.
The SDET (tester) is a role I’d never even heard of before this summer. Basically the test is the catchall and has the final say to whether a product is ready for release. They are the last safety net and the user’s advocate to make sure that users will love the product. The entirety of my internship fell under the umbrella of test, as we were making test applications. This role, in my eyes, gives the most flexibility to the tester to decide what tests should be run, how to prioritize them, then how to make it happen. Something I didn’t realize was that testing a program wasn’t just making sure each method or function worked properly of that the feature did the basics of what it was supposed to. Besides functionality, it includes buckets like usability, security, environment, world readiness, stress tests, user interface, etc. If I push buttons in a crazy order will it break? If I use this app for 35 hours is everything going to work? If the title is now 300 characters, what does the screen look like? Are buttons centered? Do I need instructions? Can someone of all ages play? Can someone with disabilities still use this product? Does it support Chinese characters? Does the Internet speed affect the feature? Are parental controls necessary and/or supported?
These were the kind of questions that have to be considered and this became the role I enjoyed the most. I found it stimulating and challenging while still giving me the freedom to create with code. In fact, I will actually be returning to Microsoft next summer (most likely with the Xbox team) as a SDET, so I will get to test all summer! I’m super excited to be returning both to my team and to Seattle and fortunate to have an offer in hand instead of job-hunting this year. Please feel free to comment/email with any questions and I’ll do my best to share what I am allowed to share.