# Product Thinking [[Product Design]] [[Software Engineering]] [[Product Management]] [[2022-06-21]] Product thinking is what I call framing problems to be solved in terms of a product for users. Starting from the needs of people that will interact with or benefit from what needs to be built, derive the actual system. It is easy to be fooled by words when doing this. For example, it is easy to be fooled by "3D Printer" as a description of the product, when really the product is something like "turn CAD files into printed models", or ever more broadly, "enable engineers to prototype faster". Properly understanding the product allows for very bold, very effective decisions in [[Software Architecture]] and [[Project Management]]. It is for example very easy to clearly prioritize important features that seem almost trivial to build, and defer (or even drop) complicated features that are only marginally of use to the user. A good understanding of the product is required to properly decompose the problem into primitives. If a requirement is missed, this will almost always lead to the wrong decomposition, which then results in much pain trying to "overlay" a new requirement on top of a set of primitives. For example, [[Error Handling]]. ## Books - [[NOTES - BOOK - Deploy Empathy - Michele Hansen]] - [[BOOK - Continuous Discovery Habits - Teresa Torres]] ## Articles I wrote a bit about this in: - [[20220506 - Worse UX for a better product how to think in outcomes]] ## Quotes - [[QUOTE - Gergely Orosz - The majority of jobs do not hire you to write the highest quality code]] ## Links - [The Product-Minded Software Engineer - The Pragmatic Engineer](https://blog.pragmaticengineer.com/the-product-minded-engineer/) From an article about [[Software Documentation]] writing as [[Product thinking]] and [[Project thinking]]: - [Write better docs with a product thinking mindset | This is important.](https://thisisimportant.net/2022/07/25/write-better-docs-with-a-product-thinking-mindset/) - [[QUOTE - Shreyas Doshi - Product thinking is about motivations, conceiving solutions, simulating their effects]]