fbpx
Career advice Interview preparation Tech Careers

What are the differences between Product Managers, Program Managers, Engineering Managers and Marketing Managers?

Disclosure: This post contains affiliate links. If you click through and make a purchase, Iโ€™ll earn a commission, at no additional cost to you. Read my full disclosure here.

Disclosure: This post might contain affiliate links. If you click through and make a purchase, Iโ€™ll earn a commission, at no additional cost to you. Read my full disclosure here.

The majority of the employees in most high-tech companies are Software Engineers. Their goal is clear: write the code for the product(s) that their companies ship. However, many Software Engineers are unclear about the differences between lots of other career ladders that they engage with. The goal of this post is to explain what are the differences between Product Managers, Program Managers, Engineering Managers and Marketing Managers.

The content is based on my work experience as a Product Manager, a Technical Program Manager and a Software Engineer in Microsoft, Amazon and Google, as well as information from my professional network in other high-tech companies.

In this post I want to answer 3 questions:

  1. What are the differences between Product Managers, Program Managers, Engineering Managers and Marketing Managers?
  2. Is it better for Software Engineers to stay in their career path or to switch to one of the other paths?
  3. How does the compensation for each career ladder compare to each other?
Product Manager

Product Manager (PM) and Product Manager – Technical (PMT)

The Product Manager is responsible for the product vision and strategy.

Top 5 job characteristics

  1. Make the business case for the creation of a product (aka “Why should the company invest in the product?”). This includes:
    • Determining the target customers and prioritizing their use cases
    • Estimating the potential revenues and finding the optimal revenue streams
    • Analyzing the competitive space and finding competitive gaps
  2. Define how the customers will use the product (aka “What does the product look like?”
    • What features will be implemented?
      • Own the backlog and prioritize each feature
    • How does the User Interface (UI) and User Experience (UX) look like?
    • Define the user metrics, e.g. latency, throughput, etc
  3. Voice of the customer:
    • Understand how the customer will use the product
    • Prioritize the use cases that each release will cover
    • Simplify the user experience
    • Make tradeoffs regarding the implementation cost and time-to-market
  4. Mini-CEOs of their product
    • Responsible to optimize the metrics (awareness, usage, revenues, etc)
    • Final decision-makers for all product-related decisions
    • Collaborate with lots of teams, including engineering, marketing, legal, support, documentation, etc
    • Need to make sure that the product is staffed adequately
  5. Lead without authority
    • The level of their contribution depends on their leadership skills
    • None of the other people, who work in the product, report to the Product Manager
    • Product Managers don’t make any of the hiring decisions or staffing decisions

Job titles in high-tech companies

  • The title of the Product Manager (PM) exists in most high-tech companies, e.g. Google, Facebook, Apple and Amazon.
  • Amazon also has a new title, which is called “Product Manager – Technical (PM-T)”. This role is very similar with the PM role at Amazon, but has a few differences:
    • More involved in technical decisions (e.g. participating in technical meetings, contributing to the technical design of the product)
    • Higher total compensation (for more information check at the bottom of the post)
    • Exists only in Amazon Web Services (AWS) and Alexa
  • The closest role at Microsoft is called Program Manager. This role is a hybrid between a Product Manager and a Technical Program Manager.
    • Depending on the team, some Program Managers at Microsoft will be closer to Product Managers, whereas in other teams they will be closer to Technical Program Managers

Additional considerations for Software Engineers, who want to switch to PM

  1. Skills for great PMs are vastly different than those of a great Software Engineer
    • Great PMs are responsible to define the vision and strategy of their product
    • PMs don’t write any code and their value is not correlated on whether they can write good code or not
  2. It is very easy for new PMs to fall into the traps of their previous job
    • Always remember that your goal is to create successful products that are valued by customers
    • Don’t focus your time on designing the architecture or on finalizing the technical solution
    • Don’t spend a lot of time in technical meetings, where the technical decisions will be made
    • Don’t try to prove your value by participating in code reviews, implementing modules or writing design docs
  3. The PM job can sometimes feel lonely
    • Software Engineers are part of the engineering team. They all work together, know each other’s code, co-develop/co-design parts of the code, etc
    • The PM team consists of PMs, who work in very different projects that are not dependent on each other
    • Other PMs won’t know your product and will only be able to provide generic advice

How to Prepare for Product Manager Interviews?

If you are interviewing for PM positions, then you will find lots of great information in my PM interview preparation guide titled “How to Prepare for Product Manager (PM) Interviews“.

Is the MBA useful to get a Product Manager job?

The answer to this question depends on the company:

  1. Amazon: Yes, MBAs are highly preferable. Amazon is one of the largest recruiter of MBAs for PM jobs
  2. Google, Facebook: CS degree is critical. MBA helps a lot, but not mandatory. Both companies hire lots of MBAs for PM jobs
  3. Microsoft, Apple, Netflix: CS degree is critical. MBA doesn’t matter much
Technical Program Manager

Technical Program Manager (TPM), Program Manager (PgM) and Project Manager (PjM)

The Technical Program Manager is responsible for the project execution.

Top 5 job characteristics

  1. Develop the project plan
    • Collect the requirements from the Product Manager
    • Collaborate with the Technical Leads (TLs) and Architects, in order to break down the upcoming release into tasks
    • Determine the cost, the owner and the timelines for each task
    • Track all the timelines and update as needed
  2. Communicate with stakeholders
    • Identify all stakeholders that need to be engaged with the project
    • Make sure that all stakeholders are aware of the latest project status, e.g. via status reports, meetings, project website, etc
  3. Manage risks
    • Work with the engineering team to identify risks, characterize them based on impact and likelihood
    • Establish mitigation plans and owners
    • If a risk materializes, then communicate new status to stakeholders
  4. Track dependencies
    • Most projects with TPMs include multiple teams that have different priorities and deadlines
    • Ensure that all teams are committed to deliver the required work for the project
    • Monitor the work as it goes
    • Handle any changes in priorities from the dependent teams as the project progresses (e.g. if a developer leaves the team or if the team priorities change)
  5. Lead the technical design of the product
    • Work with the key Software Engineers that are involved in the team to finalize the design and capture it in the design doc
    • Make sure that the design includes aspects like scalability, accessibility, testability, etc
    • Work with the team to design the SLOs/SLIs for the product and verify that they map to the PM’s expectations
    • Ensure that all the interfaces between the dependent teams are signed off from all involved teams

Job titles in high-tech companies

  • The title of the Technical Program Manager (TPM) exists in most high-tech companies, e.g. Google, Facebook, Apple and Amazon.
  • Google also has a title called “Program Manager (PgM)”, which is similar, but has the following differences
    • Does not require as much technical depth (although there is a baseline technical knowledge that is needed)
    • Has lower total compensation (please see information towards the end of the post)
  • Other companies use the title Project Manager, which has a similar role to the PgM at Google

How to Prepare for Technical Program Manager Interviews?

If you are interviewing for TPM positions, then you will find lots of great information in my TPM interview preparation guide titled “How to Prepare for Technical Program Manager Interviews“.

Is the MBA useful to get a Technical Program Manager job?

No, it is not.

Is the PMP certification (Project Management Professional) useful to get a Technical Program Manager job?

PMP is useful to get some basic understanding of project management methodologies, however the TPM job is much more than that. As a result, high-tech companies do not value on the PMP certification that much. One of the reasons is that PMP is more waterfall-oriented, whereas high-tech companies are more agile. Also, the TPM job requires a lot of technical skills, which are not the focus of the PMP certification. Finally, the PMP does not cover the “soft skills” required for a TPM position, such as leading without authority, negotiations, etc.

Additional resources

Engineering Manager

Engineering Managers (EM) and Tech Lead Manager (TLM)

The Engineering Manager has two roles:

  1. People manager: Manage the engineering team
  2. Technical lead: Lead the technical design of the product

Top 6 job characteristics

  1. People manager: Manage the engineering team
    1. Hire the Software Engineers for the team
    2. Develop the team members and help them grow as Software Engineers
    3. Evaluate the performance of each team member during the performance review cycles
  2. Technical Lead: Lead the technical design of the product
    1. Lead the design of the product architecture
    2. Assign the tasks and areas of ownership for each Software Engineer
    3. Own the operational effort required to keep the service up and running

How to Prepare for Software Engineering Interviews?

If you are interviewing for Software Engineering positions, then you will find lots of great information in my Software Engineering interview preparation guide titled “How to Prepare for Software Engineering Interviews“.

Job titles in high-tech companies

  1. This role exists in all high-tech companies. Some companies use the title of Engineering Manager (e.g. Microsoft), others use Software Development Manager (e.g. Amazon), others use Tech Lead Manager
  2. Google has 3 related roles:
    1. Technical Lead Manager: both a people manager and also a technical lead for the team
    2. Engineering Manager: people manager for the engineering team, but not a technical lead
    3. Technical Lead: technical lead for the team, but not a people manager

Is the MBA useful to get an Engineering Manager job?

No, it is not.

Product Marketing Manager

Product Marketing Manager (PMM)

The Product Marketing Manager is responsible to communicate the product’s value proposition, the key features and the timelines to the marketplace. His main contact with the product is the Product Manager, but has very limited interactions with the engineering team and the TPM.

Top 3 job characteristics

  1. Define the market position
    1. Conduct competitor analysis, market research
    2. Collaborate with the sales team to understand the market
    3. Define how to position the product in the market
  2. Communicate the product benefits to the marketplace
    1. Present in conferences, webinars
    2. Communicate with customers
    3. Write blog posts and ads
  3. Own the go-to-market strategy
    1. Responsible to drive adoption
    2. Inform customers, partners and market influencers about the product positioning
    3. Inform the sales team with all the required information that will help them sell the product
    4. Define the marketing programs for demand generation

Is the MBA useful to get a Product Marketing Manager job?

Yes, all PMM jobs require a degree in Business Administration (Bachelor or MBA) or Marketing (Bachelor or Master’s).

Relative compensation

Relative compensation for PM, TPM, EM, PMM roles

The relative compensation varies between each company. The order (from top compensation to lowest compensation – assuming same level and performance) is shown below. As you go down the list with the roles for each company, there is 5-10% decrease in total compensation, assuming same level and same performance (e.g. the total compensation for a Technical Program Manager at Google is 5-10% higher than the total compensation of a Program Manager at Google).

  1. Amazon
    1. Software Development Manager and Software Engineer
    2. Technical Program Manager and Product Manager – Technical
    3. Product Manager
    4. Product Marketing Manager
  2. Google
    1. Technical Lead Manager, Engineering Manager, Software Engineer
    2. Product Manager
    3. Technical Program Manager
    4. Program Manager
    5. Product Marketing Manager
  3. Facebook
    1. Engineering Manager
    2. Software Engineer
    3. Product Manager
    4. Technical Program Manager
    5. Product Marketing Manager
  4. Microsoft
    1. Engineering Manager
    2. Software Engineer and Program Manager
    3. Product Marketing Manager

Additional information

Recommended Articles

3 Comments

  1. My broth is a a “program” manager in Michigan (automotive). I have wondered for some time now what that actually meant, so thanks! We could use more of these types of positions in hospitals, particularity product managers.

    Take care, Max

Leave a Reply

Your email address will not be published. Required fields are marked *