Roles on Software Teams

I currently work at a software startup and wear a lot of hats. Here are some of the hats I wear and some of the hats I interact with.

Product Manager

A product manager envisions new things to create.

  • Is either a stakeholder proxy or a direct stakeholder:
    • Stakeholder Proxy: Represents the desires of external stakeholders, such as customers. This is an outbound role.
    • Direct Stakeholder: Represents the desires of internal stakeholders, such as the engineering team. This is an inbound role.
  • Has an area of focus.
  • Discovers or envisions new items (within the stakeholder’s area of focus).
  • Prioritizes items (within the stakeholder’s area of focus).
  • Talks with the relevant Project Manager to get items scheduled.
  • Advocates for one’s items and area of focus.

Project Manager

A project manager schedules things to be created.

  • Knows what all the items in the backlog are.
    • Story: A particular small outcome that is meaningful.
    • Epic: A large outcome. Associated with a collection of Stories.
      • Specifying Epic: Generates new Stories.
      • Characterizing Epic: Groups together existing Stories.
    • Area of Focus: Typically a product. Sometimes a special initiative.
  • Knows, for each area of focus or important stakeholder, the relative priority of items.
    • Talks with Product Managers to obtain relative priorities.
  • Decides on the absolute priority of items, balancing different areas of focus and stakeholders.
  • Costs items (indirectly).
    • Talks with Engineers to obtain costs.
    • Negotiates with Engineers and Product Managers to obtain valuable features with reasonable time cost in a timely manner.
  • Schedules items to releases and assigns items to Engineers.
  • Monitors progress of items, looking for slippage.


An engineer directly creates new things.

  • Breaks down items to smaller items.
    • More commonly, breaks down a Story to Tasks (or “workitems”).
    • Less commonly, reclassifies a Story as an Epic and breaks the Epic down to Stories.
  • Costs items (directly).
    • Negotiates with Project Manager and/or Product Managers, perhaps splitting Stories or Epics across releases, to obtain valuable features and parts of features in a timely manner.
  • Completes stories by implementing the associated Tasks.
  • Is sufficiently skilled to do any Task required for the completion of Stories they are assigned.
  • Is familar enough with the business domain to be able to recognize and challenge specification errors.

There are several kinds of engineers, which vary based on skillset:

Software Engineer (Full-Stack)

  • Skilled in:
    • Frontend application logic. UI implementation.
    • Backend application logic. Abstraction design.
    • Data(base) schema design.
    • Data(base) administration and operations.
  • Produces:
    • Software. Code commits.

UX Engineer

  • Skilled in:
    • Interaction design and usability.
    • Graphic design. UI design.
  • May also be skilled in:
    • UI implementation.
  • Produces:
    • UI wireframes, both high-fidelity and low-fidelity.
    • Use cases. Scenarios. Interaction designs. Given-When-Then specifications.

Content Engineer

Produces content for the business domain. Skills vary depending on what the domain is.

For example:

  • Curriculum Engineer - Designs and writes curriculum to teach kids.
  • Writer - Plans and writes long-form compositions such as technical documentation, manuals, blog posts, or books.


A salesperson finds specific prospects, introduces them to products created by engineering, and converts them to customers.

Sales activity helps to acquire customers.


A marketer creates marketing content that creates general awareness for products and product categories among a target audience that contains prospects.

Awareness in the target audience makes it easier for sales to convert individual prospects from the audience to customers.

Marketing activity helps to acquire customers.


A support person assists customers (and sometimes prospects) with operating products.

Support activity helps to retain customers.