Should you be a product manager or software engineer?

Guides
Exponent TeamExponent TeamLast updated

This excerpt is from an interview with Stephen Cognetta, a former Google PM.

Are you trying to decide between being a product manager or a software engineer?

Fresh out of graduation, I could pick between product management and software engineering.

Before I joined the APM program at Google, I spoke to numerous people in both fields across various companies. The experience was outstanding.

Although I am satisfied with my choice of product management, I realize now that I didn't fully grasp the responsibilities of these roles. I've compiled this guide to assist those facing a similar decision in making a well-informed career choice.

This PM interview guide accompanies Exponent's product management interview course, which 25,000+ senior product managers and APMs trust to ace their interviews.

Sneak peek:
- Watch a Google PM answer, “What’s your favorite product?”
- Watch a Google PM answer, “How can Airbnb increase bookings?”
- Watch a Meta PM answer, “Design Facebook Movies.

Job Responsibilities

Taking on more responsibility can lead to accelerated learning and compound benefits, especially early in your career.

Your role directly impacts the level and type of responsibility you'll assume. Keep this in mind when choosing your first job.

Product managers are tasked with:

  • Understanding user needs,
  • Establishing the product roadmap,
  • Collaborating with engineering and design teams to deliver features.

The success or failure of the product ultimately falls on your shoulders.

As an engineer, including at the junior level, your job involves building and delivering software, which could be user-focused products or back-end infrastructure.

You're held accountable for the quality and speed of your output and your code's scalability, performance, and reliability.

Product managers often have a hand in crucial business decisions, and their work affects numerous others in the organization, so they're likely to shoulder more responsibility early on.

As an engineer, your sphere of responsibility extends beyond you and your code once you step into roles like tech lead, engineering manager, or technical program manager.

Engineers prioritize acquiring skills and becoming proficient, while product management can feel more like a baptism by fire.

Day-to-day Responsibilities

The day-to-day tasks of a PM and an engineer differ significantly.

In this example, Google is hiring for a senior PM with 5 years of experience juggling stakeholder needs.

PMs collaborate with stakeholders in design, engineering, sales, legal, marketing, and business development.

Their role is two-fold: strategy and execution.

The strategy involves:

  • Identifying opportunities,
  • Prioritizing features,
  • Selling a vision to stakeholders.

Execution includes writing product specifications, working with engineering and design to build features, and managing the launch process.

PMs also measure outcomes and adjust strategies based on user feedback.

Engineers primarily collaborate with other engineers and work with product and design teams. Their contributions consist of writing, debugging, and shipping code.

They design solutions for technical issues, review code, and identify processes to improve team efficiency. They ensure that the product is stable, scalable, and performant.

As a PM, you will spend a lot of time switching contexts, attending meetings, aligning people through presentations, and making decisions. You may also create mock-ups, engage with customers, or make minor code changes to progress projects.

Your role is to identify and alleviate potential roadblocks. You will dedicate more time to deep thinking, designing solutions, and writing quality code as an engineer. This changes as you progress to a tech lead or engineering manager, where you will engage more with people.

Learning Opportunities

PMs will learn how to:

  • Think about product strategy and roadmap
  • Make product decisions and tradeoffs
  • Talk to customers and analyze data to identify user needs
  • Align stakeholders
  • Manage a launch process, evaluate product success, and respond to feedback

Engineers will learn how to:

  • Design and implement technical solutions to problems
  • Develop expertise in engineering stacks, programming languages, and technical concepts
  • Adopt best practices and processes for an engineering team
  • Mentor other engineers through code reviews and design critiques

PM vs Engineering

Choose product management if:

  • You want to focus on the "what" and "why" of product delivery
  • You're eager to learn how to make product decisions and guide a team toward effective execution
  • You're comfortable spending time aligning people and influencing others to complete tasks
  • You aim to cultivate a variety of skills rather than focusing solely on deep technical expertise

Choose engineering if:

  • You're keen on addressing the "how" of product delivery
  • You enjoy coding and want to write code
  • Your main goal is to enhance your technical skills
  • You prefer a higher degree of independence in your work, especially early in your career

The responsibilities of both roles can greatly differ based on your company and team.

For instance, a machine learning engineer might focus on tuning parameters while an iOS engineer works on delivering user-friendly features despite both being software engineers.

Similarly, a product manager for a billion-user product might run hundreds of experiments and collaborate with analysts to understand data.

Conversely, a startup product manager might focus on go-to-market strategies, growth hacking, distribution strategies, and resource management for product launches.

Explo, a Y Combinator startup, hired a product manager who could wear many hats.

You can always transition between the two roles later.

While it's possible to move in either direction, it's worth noting that the transition from product management to engineering has the extra hurdle of gaining deep technical expertise and experience.

Keep in mind that careers aren’t linear. It’s ok to explore and discover what you enjoy working on daily.

If you’re undecided, pick the job that would make you happier, which motivates you to bring your best self to work every day and accelerate your learning rate.

The choice here depends on your current skill set, the kind of work you find fulfilling, and the areas where you want to grow.

Hopefully, you pick the right job and have a blast doing it!

Notes:

  • I’ve only ever been a Product Manager at Google, though I believe my job description is largely true of most other companies.
  • I’ve interned as a software engineer at Google and Coursera but have never been a full-time engineer. Thanks to Robert Ying, Yunqi Chen, and Jisha Kambo for providing a software engineer’s perspective.

Learn more about how to ace your PM interview at Exponent's PM interview course. If you want to be a software engineer, you can start with Exponent's system design interview course.

Learn everything you need to ace your software engineering interviews.

Exponent is the fastest-growing tech interview prep platform. Get free interview guides, insider tips, and courses.

Create your free account