Why many engineers work very hard — yet create very little leverage
There is a common misconception in our industry:
Writing more code equals creating more value.
In practice, the opposite is often true.
Many engineers work extremely hard:
- shipping many features
- fixing many bugs
- handling many tickets
- staying busy all the time
But after one or two years:
- the system is not more stable
- the team is not faster
- and they themselves are not any less busy
The problem is not a lack of skill.
The problem is that they are doing work with very little leverage.
What does “leverage” mean in software engineering?
Leverage is not:
- a new framework
- a new tool
- a “fancy” design pattern
In software engineering, leverage means:
A small change
that creates a large and lasting impact over time.
The opposite is also true:
- a lot of effort
- small impact
- short-lived results
→ this is low-leverage work.
Two engineers, the same 8 hours — very different outcomes
Engineer A
- Fixes bugs case by case
- Adds more
if/else - Closes the ticket and moves on
The system:
- remains fragile
- the same bugs return in different forms
Engineer B
- Notices the bugs come from unclear boundaries
- Consolidates logic into one place
- Writes tests for behavior, not individual cases
They may write fewer lines of code.
But:
- bugs decrease
- the code becomes easier to reason about
- others are less afraid to change it
👉 B creates leverage. A does not.
Leverage is not about “doing more” — it’s about working in the right place
Some examples of high-leverage work in practice:
1. Clarifying ownership boundaries
A single change:
- clearly defines which service owns an end-to-end flow
- removes “this is not our responsibility” areas
Results:
- faster debugging
- shorter incidents
- less tension within the team
👉 Very little code. Very high leverage.
2. Simplifying flows instead of optimizing steps
You can:
- optimize a query from 120ms to 80ms (low leverage)
- or remove an unnecessary step entirely (high leverage)
Many performance problems:
- are not caused by algorithms
- but by redundant or overly complex flows
3. Deleting code instead of writing more
Deleting:
- unused abstractions
- layers that only forward calls
- configuration nobody understands
This is high leverage because it:
- reduces cognitive load
- reduces the bug surface
- lowers maintenance cost
👉 But it requires technical courage, which is why it’s rare.
4. Writing tests in the right places
High test coverage alone is not leverage.
Leverage comes from:
- testing critical behavior
- testing what must never break
- testing at boundaries
One well-placed test can:
- prevent ten future bugs
- save dozens of hours of debugging
Things that look “very technical” but have low leverage
1. Early micro-optimizations
- caching too early
- async-ifying too early
- tuning without data
A lot of work.
Low leverage, because:
- the problem may not exist yet
- or it exists somewhere else
2. Abstraction for the sake of “cleanliness”
As discussed in the previous article:
- the wrong abstraction creates negative leverage
- because it slows everything down
3. Complex tooling before the team is ready
Sophisticated CI/CD.
Full observability.
But:
- no one truly understands it
- no one wants to maintain it
Leverage: zero.
A powerful question to evaluate leverage
In my team, when we consider doing something, we often ask:
“Will this still provide value in 6–12 months?”
If the answer is:
- “It just helps us finish this sprint”
→ low leverage
If the answer is:
- “It makes future changes cheaper”
→ high leverage
Leverage changes as your role changes
Junior engineers
Leverage comes from:
- writing correct code
- not breaking the system
Senior engineers
Leverage comes from:
- reducing complexity
- protecting critical logic
- helping others write better code
Leads / Architects
Leverage comes from:
- placing boundaries correctly
- clarifying ownership
- reducing the number of hard decisions teams face every day
The higher you go, the less leverage is tied to lines of code.
Conclusion
If you are always busy but the system is not getting better,
you are likely doing low-leverage work.
Leverage does not come from:
- working faster
- working more
- making things more complex
It comes from:
Doing things that make future work cheaper.
A principle I always keep in mind:
If a change does not reduce future cost,
it is rarely leverage.
Personal note
This article is not encouraging people to “do less.”
It is simply a reminder:
In software engineering,
value does not come from effort —
it comes from leverage.