Thinking
Notes on product work, decision making and building software in teams
Short reflections on product work, decision making, and the dynamics of building software in teams.
After more than a decade working across engineering and product roles, I've developed a strong interest in how teams make decisions, navigate trade-offs, and deal with disagreement while building complex systems.
This section collects reflections, working notes and lessons learned along the way.
They evolve over time as ideas get refined and connected.
Notes
- The urgency of customer requests Not everything that feels urgent actually is. In product work, urgency is often created before it is understood, and reacting too quickly can lead to the wrong decisions.
- Product decisions are mostly trade-offs Product discussions often look like debates about the right solution. In reality they are usually debates about which trade-off a team is willing to accept.
- Most product disagreements come from missing information Product discussions often look like disagreements of opinion. In reality, teams are often missing the same piece of information.
- Waiting is one of the most underrated product decisions Product teams are often rewarded for shipping new things. But building something is not always progress. Sometimes the smartest decision is simply to wait.
- The real job of a Product Manager is managing disagreements Much of product work is about helping smart people who see the problem differently find a way forward.
- When should Machine Learning be used? Machine Learning should only be used when there is enough meaningful data available. Without the right data, a rule engine is often the smarter choice.