Estimates, clients and process

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

Why I do not give a fixed price before discovery

A fixed price before discovery sounds convenient, but in custom development it often hides the real risks: integrations, roles, data, workflows, and acceptance criteria.

Why I Keep a 'Never Again' List Between Projects

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.

Boring stack is a brave call

Three months ago a developer messaged me: "You're still writing PHP? Isn't that a waste of your time?"

How I spot a difficult client before the project starts

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.

No, I Don't Scale. That's the Point.

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.

I stopped interviewing developers. Here's what I do instead.

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.

Tech debt in plain money: how I talk refactoring to non-technical clients

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."

I publish a blog, but I build my audience on LinkedIn. Here's why.

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?