My Summer as a Program Manager Intern at Microsoft

I’ve once again spent my summer in the Pacific Northwest, working as an intern for one of the top companies in the world – Microsoft. I embarked on a journey in a completely different role for me – despite the fact that I coded pretty much all my life (or, as much life as a 22-year old adult can have) and was a Software Design Engineer vendor all last year (feel free to read the post I wrote back then), I decided that I should become a Program Manager (or a PM). Not because I didn’t like coding or, but because I felt that over the years I developed not only a passion for writing software, but also for communication, planning and management. A PM role combines those perfectly, so once the time came for me to apply to for my next internship, I didn’t hesitate to check the PM role as the priority on the Microsoft Internship application form.

Interviews went well and I got the PM position in the Microsoft Office Division the same day, right after the interviews. I expected quite of a contrast compared to Developer Platform Evangelism, where I made my baby steps in the huge world that is known as the Redmond Campus. I had exactly zero connections in the Office division at the time, so I didn’t have anyone who could tell me from their experience – what is the culture like, what is the approach to tackling a variety of problems? Regardless, I was really excited and was ready to start working as soon as I landed in SeaTac.

I got to be a part of an amazing team that did remarkable work. All three months went by like a flash, but since I was dropped right into the epicenter of all the action, here are some of the highlights  (or, things that stuck with me) that might  be helpful to future interns from the perspective of a starting PM:

  1. Relationships matter. When it comes to getting things done, you need to know the right people that have the authority and ability to contribute to your work. Talk to your teammates – not just those in the same role, but everyone on the team. When I was just ramping up, I sent out 1:1 invites to pretty much everyone on the team to get to know them better, to see what they were working on and what are the most interesting parts of their job. I have not gotten a single rejection, and so through all my 3 months, I had the occasional 30 minute meeting with one of the developers, testers or program managers in their office, where I could ask almost any career-related question. That way, I found out more about my team than any PowerPoint slide deck could ever explain. That’s also a good way for people to remember who you are – not just some intern working in the office around the corner. More than that, one of the PM leads on my team is a motorcycle pro, and after a few conversations with him, I discovered that bikes is something I would like to know more about. So don’t be shy – get to know people you’re working with.
  2. Reach out. Microsoft is a very diverse company, with people coming from different backgrounds and different experiences. Don’t hesitate to reach out to them, even if they are way above you on the management chain. I remember that one of the opportunities I never got the chance to take was meeting Alex Kipman, the man who started ‘Project Natal’ (better known as Kinect nowadays). After talking to one of my coworkers at Microsoft about my thought of meeting the Director of Incubation at Xbox, I was advised to do the simplest thing one could possibly think of – just email him. That’s it. No formal introductions, just an email explaining why I want to meet him and what I want to get out of the meeting. A couple of days later, I was sitting in the lobby of one building talking to Alex – and once again, I learned a lot more than I would ever read in any interview or article. A lesson I learned from Charlie Kindel is that a good way to look at a problem is through the “What’s the worst that can happen and what do I have to lose?” lens. So let’s say you want to reach out to one of the top people. What’s the worst that can happen? Probably getting a rejection email. What do you have to lose? Nothing. That is, if you are smart about what you ask for and are not trying to waste people’s time. So go for it – meet people and learn, learn, learn. A lot of Microsoft employees are excited about talking to interns about their experiences.
  3. Effective communication is extremely important. Be clear, concise and to the point. Again, I’m back to the idea of not wasting people’s time. It’s shockingly easy to derail a conversation or an email thread if a person starts throwing too many issues in at once, so be aware of that and contact only the people that are either responsible for what you’re talking about, or can point you in the right direction. Stemming out of the ‘good communication’ stack is also the ability to present your ideas in an efficient manner. As a PM, I had the responsibility of writing several specifications, an area plan and on top of that – present all of those to the team. I loved doing it, but that is not enough – you need to not only know what to present, but also how. Learn from what your teammates are doing, pick up a couple of books and go through them on a weekend. It will pay-off in the long run.
  4. Don’t work in a silo. Or, as my manager called it, window shop before making any decisions. It is important to realize that what you’re working on is not impacting just you. Chances are, other features or parts of the project flow are in one or more ways affected by what you create. Pinpoint those possibilities early and talk to the people who are responsible for the respective areas. For example, if I am writing a specification for a car steering wheel, I would like to talk to the designer to make sure that it fits with the overall vision of the vehicle interior. I would also need to talk to the engineer that designs the steering wheel connectors that hook into the electronics (e.g. changing the radio volume or honk) to make sure that my design will allow for everything that’s needed. I could, of course, throw together a document that shows the fact that my steering wheel is the best possible idea since sliced bread, and leave it at that, but chances are this will not make a lot of people happy and all the design issues will be raised at some point. Plan accordingly and communicate with the individuals covering the adjacent or larger features.
  5. Attend intern events. There are plenty of those – some organized by University Recruiting, but even more are ran by interns themselves. Hiking? Why not. Have a few people chip in on gas and you will be going to explore Mount St. Helens, Goat Lake or the Olympic Peninsula. Do not, I repeat – DO NOT, waste time on weekends by playing Xbox (or PC, whatever your preference might be) inside all day. Get to know people, explore the neighborhood, get people together and try a new Korean restaurant, go see a movie or a live concert (for me there’s Paradiso. the Capitol Hill Block Party in Seattle and Paramount, that had some of the best shows). There’s always something to do and you should take advantage of that opportunity. And yes, the deadmau5 and Macklemore concert was amazing on every level. Thank you, Microsoft!
  6.  
  7. Read. One of the fantastic things I love about Microsoft is its library. I managed to read a dozen of books this past summer, that completely changed my views (The Power of Habit was, hands down, the most interesting one), and you should do the same.
  8. Focus on the success of your product and take pride in what you do. When I asked Kurt DelBene, the president of the Microsoft Office Division, as to what would define an exceptional Program Manager, this was his response. And indeed, every morning I was coming excited to work because I knew that my work will contribute to the success of the larger product. I was following my passion – it is an outstanding feeling when you realize just how much impact you really have.
  9. Unexpected things happen. Usually at the least expected time too. Be ready to change your plan and have a fallback scenario. “What can go wrong?” is a good question to ask yourself when you’re designing a feature, and once you have a list of possible issues, list the causes and think about a way to tackle those, so that at the end your work will continue, even when one of the foundation pillars failed.
  10. Be open to feedback. Ask for feedback. You can sit in your office all day, writing specs and presenting them, then going back to the office and carrying on with the work you’ll be doing. But that’s not really what your internship is about. You want to become better at what you do, learn from people who’ve been in the field for quite a while and adopt the best practices, avoiding the mistakes that maybe have already been tackled before. One of the habits that I have developed is constantly asking for feedback from my manager, my mentor and fellow PMs. How should I improve my presentation? What could have I done better? What potential issues do you see with my approach that I might be missing? Trust me, you want to know answers to those questions. Also, never be offended by direct feedback – your goal is to be exceptional at what you do, and the only way to do it is by ensuring that you are getting the least sugarcoated feedback. Expect it, and develop an action plan for yourself on how to act based on what you’ve learned.

 

At the end of the day, the internship is what you make of it. There is no book or blueprint that will guide you through it for 100% of the way. Will you make mistakes? Probably. But what you learn from those mistakes is what will make you a valuable employee at the end. Be active, be eager to learn and realize that your impact matters.

This August, I have accepted a return offer and will be coming back to Microsoft in 2014 as a full-time Program Manager, which I am really excited about – these are great times and I am happy to apply my knowledge and skills towards changing the world. If there is one last thing that I’d say – apply for a Microsoft internship. It is truly a life-changing experience.

FallFury is now in the Windows Store

With the full tutorial series and the PDF eBook, it would only be logical that the next step in the FallFury story would be releasing the game in the Windows Store. Today, I am happy to announce that my first big game development project successfully passed certification and is now available in most of the locations worldwide in the Windows Store.

clip_image010[6]

You can download it here.

It is a project that I am constantly improving, so more levels and items will be added. Feel free to review the game and give me some feedback on how the overall gameplay experience can be better.

FallFury eBook Available

Almost a week ago, my FallFury series (building a hybrid Windows Store XAML/DirectX/C++ game) was released on Channel9. 12 articles and associated videos is a lot to go through, and you might not always have an active internet connection.

That’s why Brian Peek tackled the task of creating a PDF version of the series, and he did a fantastic job at it. 130 pages of content that will help you get started with creating games for Windows Store.

Download Here

Also, remember that you can download the FallFury source code on the official project CodePlex page.

FallFury – now available on Channel9 Coding4Fun and CodePlex

If you follow this blog, you probably know that I spent the Summer of 2012 in Redmond, WA, working on the Channel9 Coding4Fun team. My project for that period was FallFury – a 2D game that was designed to demonstrate the capabilities of the Windows 8 (specifically, Windows Store) development platform when it comes to creating hybrid applications (C++/XAML/DirectX).

There is a total of 12 parts, both videos and articles (choose whichever you method you like to learn more). You can find those here:

First Summer Working at Microsoft

This summer I got an awesome opportunity, thanks to Dan Fernandez, Jeff Sandquist and Clint Rutkas – I worked as a vendor/intern on the Channel9 Coding4Fun team. Now, if you are not aware of what Channel9 is about, then you are totally missing out on a portal dedicated to everything Microsoft (with a focus on dev tech), so check it out.

At this point, I am not going to go into detail about the project I was working on, but I would like to highlight some important points learned during this period. Obviously, this list is nowhere close to being complete – I tried to focus more on the social aspect of the job. It definitely was one-of-a-kind experience, in a one-of-a-kind team. What I wrote below is just a small part of everything amazing that I experienced in Building 40 and outside of it. The points might be useful for perspective students who consider interning at Microsoft.

Network. And once again – network. From the very first day in the office, I realized that one of the most important things to do is to get to know the people around you. There are so many interesting things they can tell and show you. That way I met such awesome Microsoft employees as Mark DeFalco, Josh Allen, Steven Salazar, Arthur Yasinski and Geoff Knutzen. Your adventure starts in the office, make the most out of it!

Learn outside your area. So you know people. Wouldn’t it be great to also learn more about the work they do? Ask them questions, be curious. Even if it their development stack is not closely related to yours, you can learn so much simply by talking about the work done on tools and services that you might already be using.

Events are you opportunity. If you get a chance to go to an event, such as TechEd, make sure that, once again, you talk to people. Ask them questions about their work there and how it affects what your team does. Usually, I found out that the work developers and organizers do is much more complicated than what it seems from the outside, with points that I, as a developer, neglected to realize. Special thanks in this context go to Denise Begley and Jeannine Wisniewski – thanks to you I am now aware how event planning and logistics work on a much lower level. Also thanks to Larry Larsen and Golnaz Alibeigi for showing how video work becomes art during “peace” and “war” times.

Stuck looking at a piece of code? There is probably someone in the hallway that can help. While working on whatever I was working, I did hit roadblocks, and that’s where I could just go to Charles Torre or Mike Sampson to get a quick “here is how it might actually work” review. Brian Peek and Rick Barraza were also very helpful with their insights on the internal and external design. Forums come last, attempt to solve problems with in-person communication first.

Do go to after-work events with your team. There were often little “offlines” with Duncan Mackenzie and the rest of the team. It was a chance to see what’s going on outside work and what are some opportunities and places to discover around the Seattle area (when I had some free time, obviously). Same applies to team lunches. Spoiler alert: Mark, you get on this list too with Lucky Strike.

Discover Microsoft outside your building. That is, go and talk to people in other divisions, go to Microsoft events, visit the Microsoft gym and the surrounding areas.  Getting around on campus is fairly easy with the existing shuttle system. If not – you always have the option of a bus (public transportation is pretty well organized in the Seattle area).

Meet other interns. They will probably be in your apartment building, or in the next building on campus. Each of them has their own story on how they got to work at Microsoft and it’s always interesting to hear about their experiences and work.

Microsoft offers free coffee and soda/juices at work, so why not drink those? This is probably one of the most well-known perks, but regardless – it is a great addition to an already creative work environment. I wish I stacked all those coffee cups to see how much I drank. Maybe I need to write an app for that.

Do stuff outside Microsoft. Burning out might be your ultimate productivity killer, and if you are not pressed by a deadline, discover Seattle, the mountains and the lakes. Visit landmarks, take pictures, go kart racing and make/meet friends – there are plenty of opportunities in the area.

If the team makes fun (in good spirit) of what you do, you are probably doing good.

Bottom line: Microsoft builds a very social environment, take advantage of that. I love it.

Stay tuned and keep checking Channel9. Time for me to get back to college and work on more awesome things. Until next time!