*Note: This is a guest article by Todor Batchvarov for the Spotlight on MACH series. The writing is entirely his own. No edits, other than formatting, have been made.
You are about to make one of the most important decisions in your life. Choose a career. You are few months from graduation or a few years, you are visiting career fair at school and wondering what to do and where to make best use of your talents. That’s when it hits you… that advanced thermodynamic analysis with super power injection will be completely useless as there is no company that has an opening under “Super Thermodynamic Analyst.” You then start to wonder…well…what do I want to do? After taking a look at your options for either an internship or full-time position you see that there are plenty of positions that make use of the skill-set you develop in college and are not directly related to what you do, or sometimes it’s even hidden in the position and you don’t find out until you have asked the right questions or experience it for yourself.
Me, for instance, I have a degree in Computer Engineering…I’m the hardware guy… after figuring out I wanted to work for Microsoft, I started looking at positions, and of course… there are not many for Hardware. But I heard about this PM role. I said, well…what is a PM and what does one do? Is it someone who works the night shift or what? Well, a PM (which stands for Program Manager) is pretty much like Vanilla ice cream. What I mean by that is that most people like it, it’s key to some awesome food, and you can combine with pretty much anything—almonds, chocolate chips, sprinkles or any kind of topping. How does this play out for a PM? Well, I found out that at Microsoft a Program Manager can have different flavors, you can have a Feature PM, Customer PM, Technical PM, Security PM, Operations PM, just a PM, Portfolio PM and many more.
The name gives you an idea on what the PM focuses on but the responsibility of the role lies on your entire skill set. Some of the skills you need for the job include great communications skills, technical knowledge, business acumen, user centric design skills, open mindset to consider every possible scenario, engineering analysis, confidence, comfortable to work with ambiguity and of course passion and deep understanding of technology. You will be required to manage resources, not necessarily a team, as all developers and testers are your peers; but you guide them through the development lifecycle. As PM you manage the product, feature, process, engagement, or sale end-to-end. You have to make sure that all the parties are in agreement and talking to each other and everything gets delivered on time and as expected. That is one of the main responsibilities of the PM. At some point you become the face of the project you are driving, so understanding its nuts and bolts, being able to go into the code, or security review; customer request or hardware design is of most importance. Sometimes you will find yourself defending your feature as you need to make a case and defend why it is the most important part of the program that you are building; and of course, you need to make the decisions thinking on your audience. Being quick on your feet and presenting to tough audiences is also something that is likely to happen.
Reading all of the above, you are probably wondering, why should I take a PM role? Well, if you are in that weird spot where you have a great skill set but still want to talk to your customers and not just code-off, or maybe you feel comfortable driving towards project execution or have aims to being a People Manager, this is the place to start. In some cases, such as the Technical PM, you a find a perfect balance of still being technical but interface with people on a daily basis and continue gathering their requirements; this is the pretty much roll up your sleeves and dig in kind of role. In my time with Microsoft I’ve had about 4 different PM roles and I have learned a lot of different things and applied my knowledge in different ways. When I started working as a PM I wasn’t sure on what to expect, but now I know that there much more to consider during product development than just the code itself. There are many variables and you always need, as a PM, to be that voice on the back of everyone’s head and remind them of different aspects that might come along.
Having said all that, this is one position that really varies from team to team at Microsoft or any other corporation. The skills you acquire during college will be used, tested, and enhanced. So definitely keep this in mind when you are thinking about what you do with your career and remember that being a technical person does not necessarily confine you to a limited set of positions; there is a whole palette of flavors to choose from.