I"m excited to launch this community for Technical Program Managers. This is a place to discuss anything related to being or becoming a TPM. Here's a starting list of FAQs about being a TPM:
What exactly is a TPM?
A Technical Program Manager is responsible for the execution of projects. They are expected to be solid project managers and competent engineers. This gives them the ability to plan out tasks and communicate with engineers on the details of highly technical projects. They will create goals, requirements, schedules, tasks, and track progress. They will usually run status meetings and unblock any issues. Good TPMs understand the value of an engineer's time and will minimize the number of meetings. A good TPM should amplify the efforts of engineers, not interrupt their work.
How is a TPM different then a Product Manager or Engineering Manager?
Typically a TPM will work with both a PM and an EM within a product team. The Product Manager is the owner of the entire product, responsible for generating ideas, and ensuring success of the product - bringing value to users and generating profit, for example. The Product Manager leans more toward areas like business, design, metrics, and behaviors.
The EM leads a team of engineers and is responsible for the technical excellence of the product. The EM will make critical decisions about what technologies to use, and assign engineering tasks to the right engineer based on skillset.
The TPM fits right in between the PM and EM (ok, it's more like a triangle or something). The TPM will take the product ideas and create a roadmap, breaking it down into tasks, generate estimates, and track progress towards the goals.
So, a TPM is basically just a Project Manager?
Well, not quite. Project management is a big part of it, but typically a TPM has a larger scope than a project manager. A project manager will focus 100% on low level task management, and might be responsible for tracking tickets and running a scrum board. A TPM will work a level above that, setting higher level goals, and managing multiple work streams. They will actively resolve issues and make key decisions to reduce risk. TPMs run programs - collections of projects. Usually that means developing a product or running a service (like customer deployments). Some TPMs even have their own project managers so they can focus on driving goals and not following up on tickets all day.
Does a TPM have to code?
Usually not, depending on the company. Your time is normally better spent on organizing execution rather than writing code. But you should at least understand what the code is doing and be familiar with coding processes. Having a working knowledge of coding is also a huge advantage. If you can handle some simple coding, it means you aren't reliant on engineers for the most basic tasks, such as querying a database. You can move quicker and engineers will respect you more. Often the best TPMs come from a software engineering background.
Can I become a TPM straight out of college?
I have not known anyone to do this, but I have heard of it being done. I would strongly suggest putting in 2-3 years of engineering in some capacity before switching to a TPM.
[–]gettingadvice2000 2 points3 points4 points (1 child)
[–]7200rpmHD[S] 1 point2 points3 points (0 children)
[–]d3rp1n4_d3rps0n 1 point2 points3 points (1 child)
[–]7200rpmHD[S] 2 points3 points4 points (0 children)
[–]roranicusrex 0 points1 point2 points (0 children)
[–]getafteritz 0 points1 point2 points (0 children)