Fundamentals of a Technical Program Manager
The role of a program manager, in some form, has been around for as long as humans have organized to accomplish a goal, and the Technical Program Manager (TPM) naturally followed as a result. The TPM plays a powerful role in any technical project or program and has carved its way into the tech industry culture as a mainstay position right alongside software and hardware developers, development managers, and product managers. Even with its ubiquitous role in the industry, the question of what a TPM is and how can we be effective practitioners of this kind is still asked on a daily basis. This book aims to correct that.
In this chapter, we’ll start by discussing how the TPM role became what it is today. We’ll do this by exploring the roots of the TPM, the generalized program manager role, and the skills and traits that we share. We’ll round this out by exploring the basic requirements that are specific to our specialization – the systems development life cycle.
With the fundamentals under our belt, we’ll explore the specific attributes that help a TPM thrive at their job. With a better understanding of the TPM, we can widen our perspective to look at the roles adjacent to the TPM to see how we complement one another and how we can fill in the gaps that our team needs us to fill.
Lastly, we’ll look into the industry to get a grasp of how the TPM role is defined holistically by exploring job postings, as well as interviews I conducted with fellow TPMs from various companies.
In this chapter, we will explore the fundamentals of the TPM with the following:
- Understanding the modern TPM
- Learning the fundamentals
- Exploring what makes a TPM thrive
- Comparing adjacent job families
- Exploring functional competencies across the industry