Developers like to build things. That’s the job, after all.
But the best ones I know are just as good at not building.
They ask what’s really needed. What already exists. What happens if we do nothing.
It sounds passive. It’s not. Choosing not to write code is often the most active decision a developer can make.
Every new line comes with a cost:
It needs to be tested. Documented. Maintained. Understood by someone who didn’t write it.
The more you add, the more you inherit. And not just technically — every abstraction becomes a tiny bet on how the future will unfold.
That’s why the most useful code isn’t always the cleverest. It’s often the bit you quietly avoided.
Not building a custom component because the native one was enough.
Not adding a new config file because one line in the README did the job.
Not reaching for a framework when HTML and CSS would have been fine.
That’s not laziness. That’s judgment.
We’re not here to write the most code. We’re here to solve the right problem — with the smallest, clearest solution that works.
Sometimes that means building.
Sometimes it means deleting.
And sometimes it just means stopping for a minute, and asking: “Do we really need this?”
That’s still building. Just more quietly.