The trust problem that you already solved

By Garrett, : AI, Hot takes

A wooden filing cabinet with the top drawer open and multicoloured speech bubbles spilling out, on a textured pink background

Every developer who has spent time with AI coding tools carries the same low-grade anxiety. You ask the model to build something, it hands you back a file, and then you stare at it like a customs inspector wondering whether the suitcase has a false bottom. Line by line, function by function, you trace through the logic looking for the thing that will blow up in production at 2am on a Saturday. It is exhausting, and it is also, if you think about it for more than ten seconds, a problem you solved years ago in a completely different context.

Other people’s code

When you work at any company of reasonable size, you depend on services built by other teams. The payments team builds an API and the auth team builds an identity layer. You read their documentation, you call their endpoints, and you get on with your life. You do not clone their repository and audit every function before making your first request. You do not trace through their pagination logic line by line to confirm they handle off-by-one errors correctly. If you did, you would never ship anything, because you would be too busy reading other people’s merge histories.

The implicit contract is simple enough, and you have probably never thought twice about it. They are professionals who tested this, and if something breaks you will debug it together, but until that happens you trust the abstraction.

Nobody finds this arrangement controversial, because it is how software gets built at scale and has been for decades. The reason it works is not that the code behind those services is perfect. The code is often mediocre, occasionally horrifying, and periodically held together by a single engineer who left the company in 2019. It works because the output is predictable enough that you stop worrying. You call the endpoint, you get the right data back, the pagination behaves as documented. You have done it enough times that the pattern holds. Your trust is built on accumulated evidence, not on a leap of faith.

The same problem wearing different clothes

When a model generates code for you, the anxiety is real but the underlying structure is identical. You are receiving output from an opaque system that you did not build and cannot fully inspect. The question is whether the output behaves correctly, not whether you can trace every computational step that produced it.

The discomfort comes from the fact that the opaque system is a language model rather than a team of engineers in a Slack channel. With the engineering team, you have social accountability, a shared codebase, probably a service-level agreement, and the knowledge that their manager will hear about it if their API starts returning garbage. With a language model, you have none of those guardrails. The system is probabilistic, it does not understand the code it writes (in any conventional sense of “understand”), and there is no one to page when it hallucinates a database column that does not exist.

All of which is true, and all of which matters less than you think once the model reaches a certain threshold of reliability.

Reliability is the only thing that earns trust

Opus 4.5 was the first model that cleared the bar for me. After enough rounds of asking it to build specific, well-scoped things and watching it produce correct, unexciting, completely functional output, the anxiety started to loosen. Ask it to build a JSON API that queries a database table, paginates the results, and returns them in a predictable format, and it just does it, not in a way that makes you want to write a LinkedIn post about the future of software but in the way a competent colleague does it, which is to say correctly and without drama.

That pattern of repeated correct output is exactly the same mechanism that made you comfortable calling the payments team’s API without reading their source code. You did it once, and it worked; then you did it a hundred times, and it kept working; eventually, you stopped thinking about it. The trust was not granted; it was earned through boring repetition.

The boundary matters, though, and it is worth being precise about where you draw it. I trust the model for classes of problems where I have seen it perform reliably, things like pagination, CRUD endpoints, data transformation, and standard API patterns. For these, the output is predictable enough that line-by-line review is a poor use of my time. If I asked it to design a distributed consensus algorithm or implement a custom encryption scheme, I would read every character, because I have not built up the same evidence base for those tasks.

The review question is really a resource allocation question

Treating every line of AI-generated code with equal suspicion is neither rigorous nor wasteful. It is the equivalent of cloning every internal team’s repo before calling their service, or taste-testing every ingredient before eating at a restaurant. Some level of trust delegation is required for anyone who wants to ship anything faster than geological timescales.

The useful question is not “should I trust AI output” but “for which specific tasks has this model earned my trust?” That framing turns a vague philosophical anxiety into a practical calibration exercise. You build a mental map of the reliability frontier, the boundary between problems the model handles reliably and problems where you need to stay close to the code, and you update that map as the models improve.

Right now, for well-scoped, well-understood programming tasks, the frontier is further out than most developers have internalized. People are still auditing boilerplate that a competent model handles flawlessly, because the idea of trusting a machine to write correct code still feels transgressive. It felt transgressive to trust a remote team’s undocumented API, too, the first time you did it. Then it became Tuesday.

The shift is not about developing blind faith in AI systems. It is about recognizing that you already have a framework for trusting opaque systems that produce predictable output, and that the same framework applies here. The model is not your colleague, and it is not going to send you a passive-aggressive Slack message when you file a bug report. But for the subset of tasks where the evidence supports it, the mechanics of trust are the same ones you have been using your entire career.

You just have to notice that you already know how to do this.

More from the blog

  • A thick rope fraying and snapping apart mid-air as if losing a tug of war, with a teal arrow pointing one way and a small rocket flying the other, on a yellow background.

    Foomers vs doomers: skilled incompetence and the AI tug of war

    By Iain, : AI, Process, Hot takes

    foom-er, noun, an ironic malapropism playing on doomerism (AGI fatalists) and FOMO (hustle bros), used to describe techno-optimists. Reflects the onomatopoeic "slowly, then all at once" nature of exponential growth: “AI go foom.”A speaker at one of the many AI conferences that have sprung up like garments on your "clothes chair" (not clean, but not dirty enough to wash) describes the miracles of agent-assisted coding. Year-long rewrites finished in a fortnight, backlogs cleared, and hard problems dissolved by brilliant prompting and clever code harnesses. The audience of true believers laps i…

  • A businessman in a suit descends by a red-and-white parachute while typing on a laptop mid-air, drifting toward a small office building, on a pink background.

    Forward Deployed Engineers: AI’s hired guns

    By Iain, : AI, Strategy, Hot takes

    > The last mile of AI deployment is a real person, sitting in your office, learning your business, writing your plumbing, and making things work reliably. That will remain human for the foreseeable future.Google Trends shows a 5,000% increase in searches for "AI forward-deployed engineer" over the past five years. The curve stays flat from 2021 through mid-2024, then turns vertical. [Indeed data reported by Business Insider](https://www.businessinsider.com/ai-forward-deployed-engineer-career-job-openings-tech-2026-5) shows postings for the role rising from 643 in April 2025 to 5,330 a year la…

  • A vintage mechanical sorting machine, cream cards each stamped with a person icon feeding in at the top and a chain of them spilling into a discard pile at the front, with an accepted and a rejected card icon to the side, on a green background.

    The sorting machine: recruitment’s race to the bottom

    By Iain, : AI, Hot takes

    > The sorting machine was built to cope with a genuine problem. Where it went wrong was in mistaking efficiency for effectiveness, in assuming that the ability to process resumes fast meant the ability to evaluate candidates well. The fix is not a smarter machine but a more modest one, paired with humans who are given the time, the tools, and the structured information to do what they were always better at.If you've been involved in any part of the recruitment process, the last 18 months have been dispiriting, to say the least. Hiring became a closed loop. Employers adopted applicant tracking…

  • A brass balance scale weighing a plume of smoke in one pan against a solid iron weight in the other, on a blue background

    Weighing smoke: why GEO dashboards are mostly useless

    By Iain, : Strategy, Process, Hot takes

    > The promise of a tool that gives you similar search visibility to the pre-agent world is understandably seductive. But before you eagerly hand over your cash for a platform, consider whether an afternoon's work a month might be a more cost-effective alternative.I recently wrote about [the GEO chimera](https://betterthangood.xyz/blog/geo-practice-versus-snake-oil/), the cottage industry promising to optimise your brand into AI answers. My argument was that the levers being sold mostly did not exist. Another part of the industry is selling gauges rather than levers. Estimates of the spend on …

  • A black bowler hat overflowing with a tangle of cables, plugs, and power strips, surrounded by floating app cards, on an orange background

    Another nice mess

    By Iain, : Strategy, AI

    Somewhere in your business right now, someone is assembling a picture that no single app can provide. It may be the project manager pulling hours from Harvest and budget data from the finance tool to assess whether the engagement is still viable. Maybe it's you on a Sunday, because what you need is not any one number from a system, but the pattern across three of them. The cloud gave small businesses access to the best software they had ever had, priced monthly and built for specific purposes. But twenty years of sensibly chosen apps have left the average small business with a patchwork data …

All blog posts