Why developers who think in business economics earn twice as much
I noticed something had changed when I stopped asking "how much does my work cost" and started asking "how much does my work cost the business."
How I price projects by risk instead of hours, run discovery before a fixed price, explain tech debt to clients in money and close a project as the engineer who owns the outcome.
18 articles
I noticed something had changed when I stopped asking "how much does my work cost" and started asking "how much does my work cost the business."
A fixed price before discovery sounds convenient, but in custom development it often hides the real risks: integrations, roles, data, workflows, and acceptance criteria.
People call me when things are already broken. The developer disappeared. The deadline is tomorrow. "Just a few tweaks" turned into "we have no idea what's happening anymore."
Last month I opened Google Analytics for three e-commerce projects I work with regularly. Google organic traffic: down 23% year over year. Not one project — all three. Different niches, different catalog sizes, different site ages. Same pattern.
The first thing I wrote in my new automation system wasn't a task. It was a STOP file and an Inbox/ folder.
For years I thought being a good developer meant doing what you were asked — and doing it well. Task comes in, I implement it. Client accepts, I move on. That's how most people work. That's how I worked. Then three things happened.
After every project I open the same note and add one line. Not "what went well" — that goes in the team retro. Just one thing: what I won't do on the next project.
Three months ago a developer messaged me: "You're still writing PHP? Isn't that a waste of your time?"
My most expensive project didn't cost me money.
Two years ago I took a project where the first call had three signals I already knew how to read. I took it anyway — the money was good and I told myself I'd manage. Four months later I was walking out of that project. Professionally, no drama. But I'd spent months on work I shouldn't have started.
Three years ago, every project estimate started the same way. Break it into tasks, assign story points, divide by velocity, call it a deadline.
People keep telling me to scale up. I work as an independent engineer, and I don't scale my practice into an agency. I nod, say nothing, and don't change a thing. Not because I'm lazy. Because I tried.
When a client asks "how much will this cost?", the instinct is to estimate hours. Multiply by rate. Add a 20% buffer. Send the number.
In 2020 I hired a developer who nailed the architecture explanation in the interview, answered every PHP question correctly, and impressed two people on the team. Four months later I let him go. Not because he was incompetent in the abstract — he just couldn't work in our actual context.
A project is done when the last commit hits prod. That's how juniors think about it.
Three times I explained refactoring by saying "architecture" — and three times I got a polite "sure, but let's ship features first." Then I changed one thing: instead of "architectural debt," I said "this component adds about 6 hours to every new delivery type we add. Last quarter that was 18 hours we didn't have to spend." The client said: "Okay, take a week."
Three weeks after launching ivanpin.com, I checked the traffic sources. LinkedIn sent orders of magnitude more visits than organic search. The site was three weeks old — that's normal. Young domains don't rank. But I kept thinking: what happens when indexing stabilizes?
Three years ago I could proudly show 40 closed tickets in a sprint. The client was still unhappy.