The difference between an engineer and a product manager

engineeringproduct-managementterminology

It seems nowadays all the develop teams have both software engineers and product manager. I am a newbie to the software industry and I wonder what is the difference?

  1. Is it necessary for a Product Manager to have a programming background?
  2. How to divide work between Engineers and Product Manager?

Best Answer

In my experience the best functioning teams do have a bit of skill overlap between the various roles in the lifecycle, to ensure that there's no "throwing over the wall" but a smooth transition between each stage.

During development of a product (or features/stories within a product), a product manager and engineer are aligned as majority owners of two stages, the definition (PM) and implementation (engineer).

  • Product manager — Product managers are essentially "feature designers" or if not designers, they are owners. Their input is customer/business requirements and their output is product specifications for engineers to work from.

    A product manager will typically do initial investigation for what features are needed (in a bigger group a business analyst will help with this step), then organize that into rough requirements and product proposals. At some point an engineer or architect may need to become involved to help the product manager know what is viable and adjust accordingly.

    After the spec is delivered, the product manager is often essentially the "product owner" in the Scrum process - the person responsible for defining "done" and accepting the final work.

    Once the product is finished, product managers might also be responsible for helping customer service, marketing, and even a sales department understand what has been developed and what the most attractive features are.

  • Engineer — As mentioned above, the engineer can be brought into the process early to help with the definition of the requirements. But the primary part of the engineer's job starts when the product specification is defined and approved for work. The engineer implements the software according to specification, as well as take any uncovered problems in the spec back to the product manager for consideration.

    Typically once the product is well under development, the product manager will step a bit into the background while engineers might be more involved in the QA process.

As far as overlap — as I mentioned there will be some back and forth between the PM and engineer. During this evolution any technical understanding the product manager has will help minimize the engineer's time needed, and the better the engineer understands the product needs the more helpful their advice will be.