← All thinkingCustom SoftwareFeb 20266 min

How to choose a software development partner in St. Louis

Hourly billing is a trap. Full-stack overpromises are another. Here's the difference between a code shop and an engineering partner, and how to tell which you're hiring.

Choosing a software development partner in St. Louis is where most operator projects go wrong before a single line of code gets written. The evaluation is easy to fake and hard to verify.

The hourly billing trap is the first filter. A shop that quotes by the hour has an incentive structure pointed at more hours. The longer the project takes, the more they make. That incentive doesn't align with shipping fast, scoping tight, or writing maintainable code. Run flat-rate shops. The incentives align.

The full-stack overpromise is the second. Every shop in town claims they do mobile, web, AI, blockchain, and everything else. A 12-person shop cannot be great at six platforms. They're great at one or two and marginal at the rest. Ask which platform they'd bet their reputation on. The honest answer narrows the list.

There are two types of dev partners in this market.

Code shops. They take a spec and build it. They don't argue with architecture decisions. They don't push back on scope. They ship what you asked for, even when what you asked for is wrong. Useful if you already have a CTO or technical co-founder. Dangerous if you don't.

Engineering partners. They push back. They redesign scope before quoting it. They tell you when your idea is a subscription, not a custom build. They ship fewer projects and charge more per project because the work is upstream of the code, in the scoping and architecture.

How to evaluate a partner, with five questions that separate the two.

Show me something you built that broke, and how you fixed it. A code shop can't answer this. They don't operate what they ship. An engineering partner has a story, because they've been on call for their builds.

Who makes architecture decisions on my project. If the answer is 'our team,' ask for the named engineer. If the answer is 'whoever is available,' keep shopping. Architecture decisions compound for the life of the system.

How do you handle scope changes. Engineering partners quote change requests in writing before touching the code. Code shops bill time-and-materials and surprise you at invoice time.

Can you show me production systems you've built. Not a portfolio page. A URL running in production with real users, and ideally the operator's contact info.

What happens after launch. Monitoring, uptime, emergency response, iteration. If the answer is 'we can quote maintenance separately,' that's fine. If there's no story at all, that's a shop that disappears on launch day.

Why local matters for software development: the shops that live in your metro have reputational skin in the game. The ones that don't, don't. It's that simple. In a city the size of St. Louis, bad work costs a shop their pipeline inside 18 months. That pressure is a feature.

What the studio brings: flat-rate quoting on productized systems, custom engagements scoped in phases, and named engineers who stay on the project from kickoff through year three. We ship, we operate, we iterate.

— Joshua Black / Michai MediaNext piece →