with-agents

David Ondrej Podcast — selected agentic engineering conversations

“Forget Loops, build a Software Factory instead” – Dexter Horthy

Six curated interviews on software factories, agent environments, review, and harness design

A manually reviewed selection from the David Ondrej Podcast featuring Armin Ronacher, Dexter Horthy, Thorsten Ball, Matt Pocock, Kun, and Magnus Müller. The conversations examine how agentic engineering shifts attention from code generation toward product judgment, architecture, working environments, context, orchestration, verification, and small adaptable harnesses. Practitioner observations and forecasts are not controlled findings.

David Ondrej 2 of 6
In this collection Browse 6 summaries 2 of 6

Dex Horthy explains why an effective software factory is not a contest to run more agents or spend more tokens. The useful goal is faster delivery of maintainable value, with humans applying product and engineering judgment before generated code makes the expensive decisions.

Key Points Covered

  • Code generation moves the bottleneck rather than removing it: Agents can turn queued work into changes in minutes or hours and can automate parts of incident triage, testing, and review. Establishing that a change works now and will remain understandable, however, is still slower than generating it 01:36–07:08(opens in a new tab).
  • HumanLayer's lights-off experiment failed on an issue the agents could not resolve: After the team stopped reading most generated code, repeated prompts and model reviews failed to diagnose a product bug. Humans then had to recover their understanding while working through accumulated low-quality code, leading Horthy to reject fully unread code for maintainable products 07:58–10:56(opens in a new tab).
  • Keep humans responsible for the product's logic: The host suggests that line-by-line reading is not the only way to stay in control, but someone must still understand product behavior, API contracts, onboarding, cancellation, and other consequential flows 10:56–11:56(opens in a new tab).
  • Start with the user problem and a measurable outcome: Horthy's first checkpoint asks what problem the feature solves and how success will be observed. Experiments give agents measurable feedback, while a launch-style explanation and HTML mockups force clarity about user value and behavior before coding starts 10:56–14:36(opens in a new tab).
  • Review architecture and program design before implementation: His workflow moves from the product definition to service boundaries, endpoints, tables, queries, call stacks, file locations, types, method signatures, and tests. These compact artifacts let humans challenge consequential choices before hundreds or thousands of generated lines anchor the session to one approach 14:36–19:21(opens in a new tab).
  • Match the rigor to the product stage: Horthy says this process may be overkill for a pre-product-market-fit startup that still needs to discover what customers will pay for. He frames it for established teams—roughly five or more engineers—with paying users and a need to keep the product maintainable 16:15–17:19(opens in a new tab).
  • Build vertical slices that can be checked early: Models tend to implement horizontal layers—database, service, API, then front end—leaving nothing testable until a large change is complete. Horthy instead recommends a thin end-to-end path first, followed by business logic and edge cases, so humans and tools can verify and redirect the work incrementally 19:21–21:16(opens in a new tab).
  • Passing a coding benchmark does not demonstrate maintainability: SWE-bench-style evaluation rewards solving a known problem without adequately penalizing poor design. The cost of bad architecture often appears weeks or months later, while benchmark tasks usually reveal the whole problem up front rather than testing whether a codebase stays easy to change across an unknown sequence of features 22:13–27:07(opens in a new tab).
  • Better evaluation adds more kinds of evidence: Horthy points to checks for functional equivalence, repository-specific quality rules, and tests that must fail against the pre-change code. These mechanisms raise the floor, but he treats model-based quality review as an incomplete substitute for experienced human judgment 27:07–30:52(opens in a new tab).
  • Put durable context where agents already work: The host describes storing ADRs and external-system facts as repository files. Horthy agrees and explains how HumanLayer keeps plans on disk and uses hooks to synchronize team comments or fetch current issues, preserving model attention for reasoning 32:40–36:23(opens in a new tab).
  • Context engineering is selective, not token maximalist: Horthy defines the aim as giving the model the correct, complete, and smallest practical context. Larger windows and better compaction make exact thresholds less important, so the operational rule is to notice degraded work, consolidate useful state, and restart when needed 35:25–43:12(opens in a new tab).
  • Optimize the delivery bottleneck, not agent utilization: Drawing on factory theory, Horthy argues that maximizing every station creates work in progress without increasing throughput. If code review is the bottleneck, adding coding agents or exhausting a token allowance does not deliver value faster; the relevant measure is value reaching users 43:12–48:58(opens in a new tab).

Full video: https://www.youtube.com/watch?v=xgkjtF89-44(opens in a new tab)

Search

Search field guides and resources across the site.

    Keyboard shortcuts

    Press ? to open this guide (usually Shift + /). Close it before using other site shortcuts.

    Show keyboard shortcuts
    ?
    Search site
    Ctrl + K
    Close the current dialog or menu
    Esc

    Site shortcuts are ignored while typing. Browser and extension shortcuts may take priority.