The protein tortilla test
Send someone to buy high-protein tortillas. You say "high protein, around 10 grams each is great." That is the going rate, and most land right about there on the shelf. They grab a pack, done. Off the shelf, ready to use, no drama.
Now demand exactly 11.8 grams
Watch what happens. They shrug, decide 11.8 was not a real requirement, and hand you the standard pack anyway. Maybe that is fine. Maybe it quietly was not. Or they take you literally, and since no shelf tortilla hits that number, they build a factory for yours and send you the bill.
Your specs work the same way
"Users can reset their password from their phone" is the around-10-grams request, the off-the-shelf kind any developer fills. "Build it as a React hook calling this exact endpoint, storing the token this way" is the 11.8-gram version: a constraint nobody needed, or a custom factory for something already on the shelf.
You can build almost anything now
If you cannot code, AI just handed you a superpower. You can spec a whole product over a weekend. That is genuinely great, and it opened a fresh trap: it has never been easier to walk into your agency with a full set of build instructions.
The trap is precision aimed at the wrong thing
These days clients show up with the whole recipe: "I want this, here is exactly how to build it, use this library, structure it this way." The instinct is good. But precision aimed at the how, instead of the what, quietly makes your project slower, pricier, and more fragile.
What this post is about
Working with an agency can feel like ordering food in a language you do not speak. You know what you want on the plate, you are just not sure how to ask. This series closes that gap. Another post covers filing a bug your agency acts on fast. This one is about how much of the how to keep.

Hand over the recipe and one of two things happens
When your how-to instructions hit a developer's desk, neither outcome is good. They either follow every line to the letter, or quietly decide which lines to ignore. Both cost you.
They follow every line
Every "do it this way" becomes a hard constraint, including the ones you never cared about and only added because you read they were best practice. Developers cannot tell your must-haves from your maybes, so all of it hardens into requirements. The work slows and tangles.
Or they quietly ignore it
They drop the parts that look optional and build what they think you meant. Sometimes that lands. Often it does not, and you find out while staring at something wrong, with no clean way to point at where it went sideways.
The fix: say what, not how
Tell your agency what you want to achieve. The functionality. The behavior. What should happen when a user taps the button. Then leave the how to them. Choosing the library, the pattern, and the structure is exactly what a good partner does for a living.
Trust is the whole point
If you trust them enough to build your product, trust them to make those calls. If you do not trust them that far, the problem is not your spec. It is your partner.
The one time to say how: consistency
There is a real exception. If the new thing has to live next to systems you already own, and those were built a certain way, say so. That is the how instruction that earns its place, because it keeps your whole platform coherent.
The ten-website rule
You already run ten sites, all in PHP, and you are adding an eleventh. Now it is smart to ask for PHP too. Not because PHP is better, but because the day you hire someone to maintain it all, you want PHP developers, not a zoo of specialists for eleven stacks.
No stack preference? Do not invent one
Pick an agency you trust and let them build in what they do best. For most small and mid-size sites, it honestly does not matter much. Nearly every modern stack does what the others do, and the differences engineers argue about online rarely show up in your product.
Strong preference? Take it to the right shop
If you really want .NET or Java, that is fine, but act on it at the right moment: hire an agency known for that stack. Want everything in .NET? Find a .NET shop. Set on Java? Find a Java shop.
There is no single best stack
The giants disagree. Facebook was built on PHP.1 Microsoft built its ecosystem on .NET.2 Netflix runs its massive backend on Java.3 If one stack were truly best, the others would have died out. There is no best, only trade-offs, and a good partner picks the fit.
Never send a .NET shop to build Java
Nobody says no to money. Ask a .NET shop for a Java app and they will not turn you away. They smile, sign the contract, then subcontract to a stranger or scramble to hire Java developers they did not have yesterday.
That is a seat you never want
Now you are paying a shop out of its depth to manage people it just met, on its least confident ground. That is exactly the spot to avoid. If you care about the stack, hire for the stack.
The whole series in one line
Be crystal clear about the what. Be generous about the how.
References
Footnotes
-
Wikipedia. "HipHop for PHP" ↩
-
Microsoft Learn. ".NET Managed languages strategy" ↩
-
InfoQ. "How Netflix Really Uses Java" ↩