Every hard change
is two changes hiding as one.
First, the work
of shaping the code
so the change becomes easy.
Then the easy change itself.
We skip the first part.
We reach into a tangle
and try to force the new thing in,
and we call the struggle
"the task."
It wasn't the task.
It was the tax
for never doing the first change.
So flip the order.
Before you add the feature,
refactor until adding it
is almost boring.
Move the code.
Untangle the knot.
Make room.
Then drop the new thing
into the space you made.
The best engineers
don't fight the codebase.
They prepare it,
then make the change
that now costs nothing.
Make the change easy.
Then make the easy change.
– Serguey Asael Shinder
Top comments (0)