I am often asked a question who are TPMs, why do we need TPMs, why companies hire TPMs, is being a TPM a good career choice and what attributes and skills are required.
In this post I will try to answer these questions.
TPM are often times former engineers who posses an added skillset of managing complex programs that span multiple projects, teams or business units. TPMs lead all aspects of their programs from technical strategy to managing stakeholders, communication, resource allocation, and budget.
Great TPMs are leaders and force-multipliers who are able to zoom out to see a big picture and zoom in to take a closer look at a specific aspect of the program. TPMs are able to shield their teams from political aspects of the program delivery, identify risks, resolve blockers and dependencies, obtain alternate resources, while keeping everyone informed, motivated and focused on the mission.
Working on very complex software projects often involved many engineering teams across many parts of the organization. There are often tens or even hundreds of software engineers involved, who by the nature of the their job are laser focused on the features they are delivering. It is TPM’s job to steer these teams towards the vision of the program along the roadmap, while being ready to course correct and reprioritize if necessary. Managing the stakeholders including the leadership team, informing them of the program’s health and status is another critical aspect of TPMs responsibility.
If I had to summarize in a short sentence why the majority of large organizations have TPMs on their staff is to provide technical leadership and clarity in complex cross-organizational programs. In a large part TPMs own the program delivery. It makes the job of the leadership team so much simpler. If an executive level leader needs to know the status of a given program all that’s needed is a TPM as a point of contact vs 20 software engineers distributed throughout the globe. It also makes the job of software engineers easier since they can focus on writing awesome code instead of providing updates, and figuring out how their work is positioned on the critical path – it is TPM’s job to own that.
I think it is pretty obvious that TPMs will be an important piece in technology companies for many years to come. Great TPMs bring huge value. TPMs have an opportunity to demonstrate excellence in leadership and grow within the organization. I have seen many TPMs reaching VP levels in companies like Facebook, Google, Salesforce and many others. I believe TPM is an excellent career choice.
The path to becoming a TPM, however, is not as straight-forward as it is for other well known fields. For instance, someone can go to school, bootcamp or educate themselves in the area of Software Engineering through hours of dedicated practice and become well prepared in the craft to enter a field as an entree to mid level software engineer. The proficiency in the software engineering craft can be demonstrated through examples of written code or by solving problems during the interview.
Can an aspiring TPM do the same thing? I would say typically it is not the case. A lot of what it takes to be a successful TPM requires experience of leadership, of dealing with not only various technical problems but also people. Unless you spent some time on the battlefields, it’s just hard to learn.
However, if you have technical experience and skills, along with an ability and desire to communicate and lead, you can be an amazing TPM. In the next post I will elaborate on some useful suggestions from my own experience.