The good news is that this means the things that were most valuable to speed up engineering two years ago
are still the things that are most valuable to speed them up today.
Of course, the harness will miss things, but so will human reviewers, and most areas
are relatively safe to make changes. Of course, there are some higher risk areas, where
this doesn’t hold true.
By effectively capturing these distinctions properly, we can go much faster without
introducing risk.
High judgment individuals can
wander across a company doing remarkable things, but at some point they do get hemmed in by lack of domain context,
which is why durable teams are the fundamental building block, even in this era.
Your team and company can only benefit from this increased pace of execution if you can make durable decisions
quickly, and those decisions are good. This is the primary reason, in my opinion, why the average CTO role has
necessarily become substantially more technical and less bureaucratic than a year ago
Pretty much every PR is written by harnesses now, at least in the first pass
Relatedly, I’ve been wondering why LLMs are so bad at writing tests. On asking around a bit, I’m told that this is because the capabilities that LLMs have come out of people building RL environments which allow models to improve at tasks, sometimes in a generalizable way and sometimes not.
OLTP such as the RDBMS like Postgres and MySQL use row-based storage engines. OLAP, such as Clickhouse, cloud data warehouse and the lakehouse use column-based storage.
HTAP is a hybrid workload system: one system -> both transactional and analytical workloads. The HTAP system therefore has specialized storage and specialized query engine to stitch together the row-based and columnar data.
Within a week, Swami Sivasubramanian, our VP of Agentic AI, saw the prototype and gave the team his full support. Three engineers joined. By the second week, they had a software development manager and a few more engineers, reaching a roughly even split between science and engineering. They were deliberate about not scaling too fast. Each person who was brought on was selected because they had a specific skill, and they had to adapt to a culture that was a complete departure from how the broader organization operated. They were expected to own a problem and deliver with autonomy, and ownership meant the same thing it has always meant at Amazon: you build it, you own it.
Writing is still as important as ever, and it should be you doing the writing, not your AI. Writing forces you to think clearly and confront gaps in your logic.
Obviously that is powerful and I cannot deny that it sounds appealing. But
giving in to that idea, particularly with less and less human oversight means
accepting that we may no longer understand the whole system in the same way. We
treat it, we monitor it, we stabilize it, but we do not necessarily comprehend
it.
Your understanding still rots if you allow it. The faster the loop ships code you did not write, the bigger the gap between what exists and what you actually get. That’s comprehension debt and a smooth loop just makes it grow faster unless you read what the loop made.
And the comfortable posture is the dangerous one. When the loop runs itself its very tempting to stop having an opinion and just take whatever it gives back. I called that cognitive surrender.
The flip side: we now have 76% more PRs to review. We’re learning where to apply human judgment — auto-merging what’s safe, focusing review where it matters most — and rethinking how we plan and prioritize as the bottleneck moves from coding to decision-making.
The first wave of AI products is about access: can the agent use the tools we already use? The next wave is about representation: is the tool itself built around a source of truth an agent can safely inspect, modify, and reason about?
When an engineer prompts a model, reviews the result for a few minutes, and merges it, they are no longer acting as the author of the code. They are acting as something closer to a reviewer, architect, and integrator.
And one natural reaction is to say: fine, we will rely more on tests. But AI writes tests too. If the same system generates both the implementation and the tests, those tests may only validate the model’s own assumptions. They become another generated artifact, not necessarily an independent safety net
Reliability is not achieved through perfect code. It is achieved through systems that tolerate imperfect code.
The best engineers probably won’t be the fastest coders. They’ll be the people who design systems that remain safe even when the code inside them is imperfect. That future looks a lot like SRE. Not because engineers stopped caring about quality, but because the only way to manage infinite code is to build systems that can survive it.
I like to distinguish agentic programming from Vibe Coding. With vibe coding humans don’t look at the code,
indeed they forget that it even exists, while with agentic programming they are
concerned with the code, often giving it detailed review. Agentic programming
is also distinct from using LLMs as a sophisticated code completion mechanism,
where LLMs participate in writing code inside an IDE environment.
This shift in the nature of programming raises extensive questions about
what kinds of activities programmers need in the future and what skills we
require. At this point harness engineering, focusing on working on the
guides and sensors around the LLM seem central. Additionally this raises the
importance of programmers understanding the domain they are working with,
collaborating with users and customers to iteratively define and build their
product.