Levels of Abstraction and Product Management
In computer science, there’s low level languages and high level languages. A low level language like assembly code deals with concepts such as storing and accessing bits of information in registers. A simple multiplication operation takes multiple lines of assembly code.
A high level language like C++ abstracts concepts such as register manipulation away from the developer. They can code a multiplication operation in one line without understanding what goes on under the hood.
As a product manager, I don’t need to know every detail from engineering, sales, or marketing. I need to operate on a level of abstraction for each department so I know what’s necessary.
For example, for engineering I don’t need to know the minute details of how one microservices communicate with eachother. Similarily, for sales I don’t need to know the status of every deal. These can be abstracted away from me.
The challenge of product management is understanding when you are operating on a level of abstraction that’s too low or too high.