Question
What does it mean that the right level of abstraction depends on your purpose?
Quick Answer
Too detailed is as unhelpful as too abstract — match the level to your current need.
Too detailed is as unhelpful as too abstract — match the level to your current need.
Example: A senior engineer is debugging a production outage. She does not need the system architecture diagram that shows twelve microservices and their relationships — that is too abstract. She does not need the raw assembly instructions executing on the server CPU — that is too detailed. She needs the application logs from the specific service that is failing, the recent deployment diff, and the error stack trace. Her purpose — diagnosing a specific failure — determines the exact level of detail that will be useful. An hour later, when she writes the post-mortem for leadership, she shifts to the architecture diagram because her purpose has changed. Same system, same person, different purpose, different level.
Try this: Choose a domain you work in daily — your job, a creative project, a personal system. Write three descriptions of the same thing at three different levels of abstraction. First, write a one-sentence description so abstract that it could apply to many different domains (the superordinate level). Second, write a one-paragraph description at the level you would use to explain it to a peer (the basic level). Third, write a detailed description that captures specific mechanisms, steps, or components (the subordinate level). Now answer: which description would you use to explain your work to a stranger at a dinner party? Which would you use to onboard a new colleague? Which would you use to debug a specific problem? Notice that each question selected a different level — and that the selection was driven entirely by purpose, not by which description was most "correct."
Learn more in these lessons
- The right level of abstraction depends on your purpose
Too detailed is as unhelpful as too abstract — match the level to your current need.
Go beyond the answer
This topic is part of The Staff Engineer’s Thinking Infrastructure — a guided sequence of 20 lessons.
After completing this path you will be able to consciously choose your level of abstraction, build shared mental models across teams through ADRs and RFCs, make architecture decisions that persist beyond your involvement, structure your own time in an undefined role, and manage the invisible emotional load of technical leadership.
Start the path →