Making the career change from Engineer to PM
I have realized that many engineers who are on hands on coding roles, at some point of their career want to move on to Program/Technical Product Management roles to gain new experiences. However being in a core technical role sometimes, can even become an hindrance in convincing the hiring manager how you are suited for a flexible and ambiguous role like Program or Product Management. I wanted to share my insights and experiences on transitioning to the role of Program /Tech Product Management from Engineering (Developer/Test) mainly in the job search and interviewing perspective. Though I initially wrote this in the context of Microsoft (my current employer), I realized that this can be applied outside as well. Hence I am posting it public. This post is work in progress. Please feel free to suggest or add content to this, based on your own experiences while transitioning from a Developer or Test role to Program/ Product Management.
Resources and Books to read
Start with Reading up on these resources to get a baseline on what to expect during interviews and what people are looking for in the PM role
· This is a great blog post by Steven Sinofsky which first inspired me to make the change. This gives a good level set to prepare for Program management role.
· “Zen of PM” is a good read for Program Management roles in the context of Microsoft.
Both these posts can be found using a basic internet search.
· Making things Happen by Scott Berkun is a good book for Project Management concepts in Microsoft PM perspective.
· Cracking the PM interview by Gayle Lachman is a good book to prepare for Product/Program Manager interviews
Note: If you are reading this and have additional resources to share, please update it in the comments.
Different Types of PMs
1. Feature PM — Mostly focused on building new features in software
2. Customer PM- Does a lot of customer interfacing
3. Live site / Operations PM — More involved in running a service and handling support issues
4. Release PM- Pure project management role focused on releasing the product on time
5. Business PM — Mostly MBA’s working on business planning, licensing etc.
What Hiring Managers are looking for when you are Transitioning?
When you trying to make a role change from a core Individual Contributor role like Developer or Test to PM, the hiring Manager want to see some proof in past experience that can be leveraged for PM role. Showcase such things heavily in your Resume and in the Interviews.
1. Past experiences showcasing PM skills
2. Proof for Leading without authority
3. Why program or product management? Have a good answer for this
4. Proof for ability to Manage up
5. Past review related questions
6. Project management skills
7. Conflict resolution skills
Key areas to focus on
These are some observations I wanted to share with you based on my experience and what I have collected from others. You can develop on these qualities to come across on a very motivated candidate during interviews. Be clear on what value does a PM bring to the team
1. Pick some area in tech related to the PM job you are interviewing for and come across as someone really passionate about it. Interviewers love to see passion.
2. Show how you have been doing stuff outside current work, by doing side projects, training etc. on this passion of becoming a PM. This is perceived as initiative.
3. Share stories about how you dealt with ambiguity. Decisiveness is considered important character for PMs.
4. Show high energy level.
A PM looks into customer needs, competitive landscape, technological trends and businesses priorities, and from this cacophony we distill a clear and focused value proposition.
Seek Mentoring from Current PMs
Talk to as many people as possible, who are currently PMs to get more insights about the role and what them to be successful as a PM. The feedback they give will come in handy during your job search.
I talked many PMs through mutual contacts and that helped me greatly during the transition to have the right kind of expectation about the role, and what comes with it.
Do as many informational interviews as possible
Make best use of Informational interviews, attend as many as possible. This itself is like an interview practice. Many people will be willing to meet you at least once, even if you don’t qualify for the job:
· Do some homework, intranet, peer that works there, etc.
· Prepare context when asking questions. Ask multiple choice questions.
· Have your questions to be flexible (to accommodate more or less time)
· Try to get some of the feelings for the group dynamics.
Questions to ask the person you are meeting for Informational Interview
· What does a typical day look like for this position?
· What kinds of skills and experience do you expect candidates to have for this position and why?
· What are the typical career paths for someone in this position?
· What are the strengths and weaknesses of your current team?
· What are the successes that your team has faced recently? What challenges have you experienced?
· Who are your team’s customers? What are their expectations?
· What do people on this team do to continue their career and professional development? How does the group support them in that development?
· How would you describe your management style?
· Ask the hiring manager for his or her business plan, marketing plan, test plan, or product specification to familiarize yourself with the team’s goals and objectives.
· Research about the team business prior to the loop: problem, solutions, trends, scenarios. ACM papers, blogs, etc.
Sample set of PM Interview questions
You can get a good set of questions to prepare from the Resources I mentioned earlier, especially the book, Cracking the PM interview. The questions below are c an illustrative sample set to showcase the range of questions that are typically asked. These may be largely applicable for any tech company in the similar role.
For Design questions, Always Start with a WHY? And move to WHAT? And then probably HOW if you are asked. Mental Models are helpful.
Decide and Stick with a framework on how you want to break down the problem. This will show your structured thinking.
Prepare for mostly Design and soft skill related questions, but deep technical problems may be asked as part of the interview depending on the team and role. Be able to project that you can think about the big picture of the business/technology, competitors etc.
1. You have to a service upgrade, and many downstream client apps are dependent on you. How will you orchestrate this? Focus on cross group, conflict resolution
2. Design an elevator for 40 store building, p0-p1-Parking, 1–4 –business/restaurant, 4–16 office, 16–30 hotel, and 30–40 residents.
3. How will you add commerce features for Sports App?
Identify what’s the VP’s goals? Find if making money is the goal, maybe he just wants to break even, or he wants partners to make money (platform play). In App world, people don’t come back to bad app.
Be ready to be unpopular, have ability to take abstract technical problem and break it down.
4. Design a Spell checker web service and the client. Talk about data structure choices, design considerations.
5. How will you design a way to replace the servers in a co-location Availability Zone? That has 3 stacks of Availability servers, 1 Maintenance Zone within each Availability Zone (AZ), 4 AZs are collocated within 50 mile radius and use 2MW power.
6. Design a query mechanism for querying distributed data warehouse?
7. Talk about the operating a live service? Talk about different tenets of service engineering (Disaster recovery, live site focus etc.)
8. Estimate the market potential of a Cloud based media services offering? What high level scenarios would you support to increase the revenue?
9. Talk about how you would use data to make decisions for online service? Talk about how you would design UI to support add/delete/edit tables via web interface.
10.Talk about your favorite app in your Smart phone? What would you do to improve it?Why do you want to improve it?
11.Talk about how you would implement automated app certification in phone?
12.List the scenarios and prioritize the features for the s/w that goes into the lock (using card key) in hotels?
13.List set of scenarios and prioritize them for an online music startup company?
14.Design a feature for word processing software that automatically analyzes the content and provides intelligent context in the display.
15.What do we need to communicate to users when we put a service offline for maintenance?
16.Design a calculator support n digits in a smaller bit computer?
17.Talk about NLB (Network load Balancer) scenario in data center?
18.Talk about how you will integrate the UI control experience between Desktop and phone?
19.Design API to control a lawn mower via Smart phone?
20.Talk to me about a phone app that you developed? talk about the alternate designs that you considered? What would you do to make it better?
21.Talk about different algorithm for NLB?
22.Talk about how you will manage flurry of emails? You cannot go technically deep in PM role. Tell me your thoughts about it?
23.What do you need to ensure before on boarding customers to live service?
24.Estimate amount of time you will update outlook.com?
25.Talk about analytic s scenario that a company like Pandora will need to make their business decisions?
26.If you are project lead in charge of decommissioning old h/w from data center how would you approach it?
27.Talk to me about the plans you have to be successful in PM role? talk to me about the risks of switching to the PM role from Developer role?
28.Design a Notification service (service/api)
29.Design a Indexing service (service/api)
30.Design a Review/rating service that can be consumed by a client. Talk about data structure choices, design considerations and scaling out.
31.Design a system (client/service) that provides the list of verbs/adjectives in a document
32.How will you do optimization between search relevance and revenue.
33.Write algorithm to print the path between two nodes (ted , ned) in a graph, the adjacent nodes have at least 2 chars common. Input is ted, ned, output should be the path printed.
Note: If you are reading this document and have additional resources to share, please add it in the comment section.
Important Traps to avoid while Interviewing for PM role
· Avoid assumptions and explicitly mention them if you make some.
· Don’t Jump steps and focus on the solution before establishing and clarifying things such as target user, requirements, goals, metrics, etc.
· Assess impact of the problem given, to reinforce the problem or dismiss it.
· The solution should focus more on the software itself rather than “supplemental” aspects like community.
· Explain the thinking process behind the solution.
· Check the body language that tell hints such as you’re doing something wrong, you’re getting into too much details, stop and ask for feedback.
· The technical problem can be mixed with situation problem. The interviewer can “act” as a hard-to-negotiate person instead of asking about hard-to-negotiate people.
· Show how you’re able to learn from others and learn fast: E.g.. Found a Mentor when I had 6 months of Microsoft experience. Learnt Scrum on the fly to run a project.
· Senior PMs care more about the business strategy (how to make money out of this?) and communication with developers. Show case this aspect.
Other questions to think about
Focus on how you prioritize things and features, PMing is a lot about “Ruthless Prioritization” with constraints on scope, schedule and resources.
Most soft skill questions are situation based like, tell me about a time when a milestone was missed and how you handled it or: tell me about a time when you had to convince someone about a feature and how you went about it.
I keep getting this question what more will you think of especially for design questions? During PM interviews, is there any strategy on what worked for you to tell when you are giving up?
It might mean that the interviewer has something in mind and you might have to reach that point. One way is you could ask “Is there anything specific in your mind?) or “that’s all I could think of; do you think I am missing anything important?” (At this point you are forcing them to give the answer albeit diplomatically) or you can spend few quicker seconds raking your brain to get more interesting facts
These are some data I could compile during my transition to the PM role. There are many people who have made the transition from development or Test to the PM role and have enjoyed it. If you are considering the transition and are sure that your passion lies in Program / Product Management, do not wait for the right moment. Start right away with the preparation and informational interviews as practice makes perfect. All the very Best. Go forth and conquer :)!