My name is Samvit Jain, and I am a freshman and prospective computer science major at Princeton. I am originally from Sammamish, Washington, and attended high school in the neighboring city of Redmond.
I spent a few days over Intersession at the Redmond Microsoft campus shadowing Mr. Robin Giese, a Princeton alum from the Class of 2002 who is a Software Development Lead in the Operating Systems Group (OSG) at Microsoft.
Robin was an electrical engineering major with a passion for theater. He reportedly spent more time working backstage for various plays than in the E-quad while at Princeton. Robin has been working at Microsoft since his graduation (twelve years!)
Day 1: Monday, January 27, 2014
One of the first things that Robin told me about his work and life at Microsoft is the company’s basic organization. Essentially, each project at Microsoft has three task teams: program management (what should we do?), development (how should we do it?), and quality (does it work?). Robin is on the development team, and as the lead, is responsible for directing and working with six individual contributors.
His team is specifically involved with developing performance quality tools (think expanded version of Task Manager for internal and external use) to provide critical information about the performance of various applications, and the Windows OS itself. One such tool, the Windows Performance Analyzer, is used by thousands within Microsoft, and also by other companies such as Netflix and Valve who want to test the performance of their products on Microsoft’s OS.
After a morning of interesting conversations with Robin about his work at Microsoft, I followed Robin to a group “stand up.” All members of his team presented, in turn, a summary of what they had accomplished since their last such meeting. Overall, the environment was quite casual: jokes were exchanged, and humorous self-deprecation was common. According to Robin, these meetings are held three times a week. As some of his colleagues informed me, they are a good way to ensure everyone on the team is on the same page.
This meeting was followed by lunch at Microsoft’s excellent cafeteria downstairs. The food was wonderful and varied. To future Princeterns: I recommend the pizza. The afternoon was a quieter time. Robin returned to his office to settle down, respond to some emails, and converse with the occasional group member who dropped by with a technical question. I did not interact much with Robin during this period, but I noticed that he was definitely recognized by his colleagues as a leader and as a go-to person when unforeseen problems arose.
Robin mentioned that he believed in leadership by example. He spends three to four hours a week coding so that he remains entrenched in the technical aspects of the project, and can manage his individual contributors (ICs) in a more credible manner. As he put it, it’s hard to ask[RG1] someone to produce higher quality work or fix some issue if you aren’t actively involved in the coding yourself.
My final activity of the day was a meeting with Vibhor Bhatt, one of Robin’s colleagues involved in performance. This meeting came to be arranged when I mentioned to Robin that my interest in computer science as of now was of a more academic bent. Robin was quick to drop an email to Vibhor, who hails from academia, having recently received a PhD from Dartmouth in computer science.
I spoke with Vibhor for an hour or so that evening. He mentioned being passionate about mathematics and physics as an undergraduate, interests I could personally connect with. Vibhor’s desire to think deeply about algorithms from the comfort of his living room couch brought him to computer science graduate school at Dartmouth. His PhD thesis was on distributed computing and concurrent algorithms. In a nutshell, this is the study of how difficult computing tasks can be made tractable by splitting the work on to multiple computers running parallel to each other.
I asked Vibhor why he chose a product group at Microsoft over a career in academia, or a more theoretical sector of industry such as Microsoft Research. He mentioned the pressure to produce publications that scientists are often subject to and a desire to see whether the solutions he proved in theory could actually be implemented in practice.nnThis desire for real-world validation took him from Dartmouth to a small start-up to Microsoft. His work here boils down to reducing the time taken by various tasks on the OS, a challenge that lies at the core of algorithmic study.
Vibhor had an interesting perspective on the perennial question many software engineers often face: whether to join a start-up or a larger company. He mentioned that start-ups often have shorter-term priorities than large companies because immediate revenue is so important to them. His own experience in a very small company was that the employees were chasing goals that could bring them payoff in the next six months or so, leaving little time for more “risky” endeavors. This was surprising to me, since the stereotype is that startups are synonymous with passionate pursuit of one’s ideas and active courtship of risk. Vibhor feels he has more time at Microsoft to think about problems that may not have an immediate impact on the company because the environment at Microsoft is stable. This, in turn, means more flexibility about which projects to pursue, and a tolerance for ideas with a longer timeline.
Day 2: Wednesday, January 29, 2014
My second day at Microsoft consisted entirely of meetings with Robin’s colleagues. I first met with Chell, who had an interesting story about how she ended up at Microsoft. Chell is an individual contributor on the program management team. She mentioned originally dabbling in computer science in a college early entrance program and then during her first years at the University of Washington—largely because of what her parents did and wanted her to do. Finding that she did not like to code, Chell ended up majoring in International Relations, and graduated from the University of Washington with a B.A. However, she has been able to combine her desire to interact with people with her passion for technology by becoming a product manager at Microsoft. In her work, she has the ability to influence technical aspects of a project, while also exercise leadership and feel the thrill of accomplishment that comes from getting people together to build a successful product.
My second meeting was with Lalithra, a Princeton alum (!) from the Class of 2010. Unlike for Chell, computer science was a fairly obvious choice for Lalithra. Ever since he took COS 126 in his first semester at Princeton, a class he described as “fun and easy” for him, he never looked back. Lalithra was hired by Microsoft after his graduation for a group he knew nothing about but is now settled as a product manager and individual contributor (a peer to Chell) and really does enjoy his work.
After my conversation with Lalithra, I followed Robin to a meeting of about twelve company employees in a larger conference room. It was interesting to see the group dynamic here. One individual at a more senior level at the company led most of the discussion. He drew diagrams on a whiteboard, and occasionally others participated by asking questions and comments from a few others present. About half of the people in the room remained completely silent during the meeting. Robin and I discussed this meeting over lunch the next hour. He used this time to teach me about the importance of positive body language, and being mindful of the phrases one uses as you interact with others in a meeting.
My final meeting of the day was with Charles, who described his work in great detail, and mentioned how his University of Waterloo education, which involved six required internships before graduation, prepared him well for a career at Microsoft. Charles’ recommendations for me included looking to industry or industry/academia collaborations because “anything you want to do in computer science is being done in industry, by say, Google, Amazon, or Microsoft,” and to do lots of internships.
From my second day at Microsoft, I learned that in the “real world,” even microcosms—such as a small team in a large software company—are odd amalgamations of wildly different types of people, bringing with them their own backgrounds, and their own dearly held beliefs, biases, and convictions. Most of these people are graceful about giving advice: they recognize that their perspective is one of many.
Another observation I have made, as I consider my own career and the paths taken by the individuals I met during my Princeternship, is that most of the decisions we make in life are based on hopelessly incomplete information. Specifically, when people decide on majors and careers, rarely does this involve a solid understanding of the alternatives available to them. Many options are ruled out based on stereotypes and hearsay, and glancing impressions. But somehow, the results of this haphazard decision-making turn out to be not as disastrous as one would expect.
Day 3: Friday, January 31, 2014
On my final day, I met with a software engineer who is relatively new to Microsoft in the morning, Juan, who recently received a PhD in optimization and artificial intelligence. I mentioned my interest in mathematics, which led us to discuss an interesting graph theoretic problem relating to user navigation between product features. His passion for computer science and its applications to his current work was both clear and contagious.
In this building, I met with Tom, who is the group manager for a newly forming data sciences team at Microsoft. My conversation with Tom was one of the highlights of my Princeternship experience. His demeanor was enthusiastic and welcoming, and he spoke broadly about many interesting things—the need to balance technical pursuits with an involvement and appreciation for the humanities (a sentiment that Robin, too, expressed many times), the exciting applications of statistics and machine learning, and his own path to Microsoft. What especially resonated with me was Tom’s open-mindedness. He suggested that an interesting avenue for my interest in mathematics and problem solving could be data sciences, explaining a challenge that Microsoft hopes to tackle: use statistical insights from past product releases to develop technology that users will love.
I came into this Princeternship with little idea of what to expect. I thought I’d shake a few hands, hear some people talk about their work, and “make some connections” (I use quotes to express my old cynicism regarding this oft-repeated phrase).
What I actually got to see and learn were many invaluable, simple things. I witnessed adults interact in the work place at length for the first time (they laughed when I used the term “adults”). I met with many people who really do love what they do (or just some really good actors), and this was a comforting sight to see. I saw the dynamics of friendly banter and casual conversation, small meetings and conference proceedings. I noticed the fragility and imperfection of team environments. I heard hackers talk passionately about their caches and run-time tools. And I got to eat some really good pizza.
It is hard to overstate Robin’s hospitality. He entertained for me hours on end, led me around campus, arranged meetings for me, and otherwise put up with me for three long days. One moment that stands out in my memory occurred on Friday. I had sent him an email the previous night about groups at Microsoft that I might like to intern in, and the next day, I noticed him carefully going through my message and addressing each part of my email—every possible area I had mentioned. This is but one example of the thought he gave to my interests over the three days, just one demonstration of the excellent host he was.
Thank you to Robin and all of the amazing people I met with over my three days at Microsoft for a wonderful Princeternship experience.