What does a Technical Program Manager do?
Depending on who you ask, you will likely get wildly different answers to the question of “what does a technical program manager do?” Generally speaking, technical program managers (or TPMs) start their careers as software engineers until they come to a fork in the road and have to decide whether they want to focus on working with people or code. If they are more people-oriented they often convert to a technical program manager role, whereas if they prefer to code they will most likely remain a software engineers or potentially become a software architect.
Typically, what are a technical program manager’s responsibilities?
- Technical program managers are in charge of handling all aspects of one to many technical projects for their organization
- TPMs often work the full life-cycle of projects from idea generation through deployment and optimize the full release value stream
- TPMs are responsible for initiating programs, driving delivery to completion, and providing support in case issues arise
- TPMs will often negotiate scope and timelines with technical dependencies that have to make changes to support the launch of a product
- TPMs typically work with companies that have adopted or are adopting modern technologies, such as SOA (service oriented architecture) and microservices
- TPMs can help establish the technologies, tools, and processes that can move an organization towards Continuous Integration and Deployment and a DevOps operating model.
- TPMs are often involved in non-functional aspects of software delivery such as application telemetry, performance, reliability, resilience, security, and compliance.
What is a popular misconception about what technical program managers do?
There’s a tendency for folks to gravitate toward extremes when conceptualizing technical program managers. For instance, they’re often described as either always participating in coding or not at all. The truth is there is a spectrum of technical depth among TPMs, and this oftentimes varies by project and client. Some projects require a leader with just enough technical depth to understand technology architecture and trade-offs. Other projects support deeply technical products that require in-depth understanding of architecture, logging, configuration, and yes, code. There’s always a middle ground as well and it’s important that the consulting provider ask detailed questions to understand the need and provide the right person for a technical program manager role.
What are some universal truths about technical program managers?
Even though there can be quite a bit of variance across companies when it comes to a technical program manager’s role, there are several universal truths that you should be cognizant of:
- The biggest differentiator between TPMs and other project management-related roles is that they can operate independently of engineers to let coders code. They bring enough technical depth and understanding that they don’t need to waste an engineers’ time by bringing them into meetings to describe a solution. The TPM already has the technical depth to do this which is more than a traditional project manager can do in most cases.
- Technical program managers dive deep to solve problems. This could mean digging into code, data, logs, system documentation and design, etc.
- Technical program managers are continual learners in tech and strive to discover new approaches to solving complex problems
- Technical program managers engage in architecture conversations and peer around corners to help teams understand the implications of design decisions.
At AIM Consulting, this is what we do. Regardless of role (agile coach, PM, TPM, etc.), our Delivery Leadership practitioners dive deep, are continual learners, and engage in architecture conversations. Are you interested in learning more about we can do for your organization? Tell us about your challenge.