Series: A Practitioner's Guide to AI-Assisted Development
Exploring how AI is reshaping software development — from the tools we use to the skills we need and the way we think about building software.
About This Series
(1 chapter)
AI is transforming software development at a pace that's hard to keep up with. It can feel overwhelming. This series is an attempt to make sense of it all: how AI changes what it means to be a developer, what skills matter now, and where things are heading. Each section explores a different facet of this evolution, grounded in practical experience rather than hype.
Part I: Working with Agents
(17 chapters)
AI coding agents are becoming everyday tools for developers. This section examines how to use these new tools.
- 1Code Is Cheap Now, And That Changes Everything
Coding agents have reduced the cost of producing code. The scarce work is increasingly defining systems: contracts, invariants, service levels, and verification.
- 2AI Is an Exoskeleton, Not a Coworker
One study found experienced developers were slower with AI while believing they were faster. The gap suggests an exoskeleton: useful amplification that still depends on human judgement.
- 3Your First Day With Claude Code
The setup checklist I wish I'd had on day one with Claude Code: isolation, terminal configuration, code intelligence, context monitoring, and what not to install.
- 4The One File That Makes or Breaks Your AI Workflow
Research suggests auto-generated context files can hurt agent performance. A short, human-curated CLAUDE.md works better when it contains only what the repository cannot explain.
- 5Building Agent Memory That Survives Between Sessions
Teresa Torres's three-layer context system and Patrick Zandl's claudecode-kb show how to preserve useful context between sessions without loading everything every time.
- 6Context Engineering: The Skill That Replaced Prompt Engineering
A prompt is only one part of what an agent sees. This four-layer framework covers instructions, context, intent, specifications, and when each belongs in the workflow.
- 7Building a Personal Brain OS for Your AI Agent
An agent does not need your entire knowledge base in every prompt. It needs a structure that reveals the right instructions, memories, and source material when the work calls for them.
- 8The Only Workflow That Works
AI agents amplify the engineering process around them. I compare three workflows that separate planning from execution, and explain where each is worth the ceremony.
- 9Declarative Development: Tests First, Code Second
Coding agents are good at iterating towards a result, provided we define that result independently. Tests, contracts, and feedback loops make it easier to detect when an implementation has drifted from our intent.
- 10Surviving the Context Window in Practice
A context window is a budget. These are the tactics I use to manage it: scope each session, write durable state to disk, isolate research, and clear between phases.
- 11The Great Agent Tooling Debate
MCP offers discovery and a standard interface; CLIs offer composability and familiar controls. I compare their costs and explain why my default is CLI-first, not CLI-only.
- 12Teaching Your Agent Standard Operating Procedures
Skills can encode Standard Operating Procedures without loading every instruction upfront. One activation experiment shows why descriptions, evals, and hooks still matter.
- 13How the Creator of Claude Code Actually Uses It
Boris Cherny's workflow is less exotic than its throughput suggests: plan first, run agents in parallel, give them reliable verification, and turn repeated work into shared tooling.
- 14Understanding Code You Didn't Write
Agents can produce working code faster than we can absorb it. Walkthroughs, executable examples, and interactive explanations help repay the cognitive debt before an unfamiliar system becomes our problem.
- 15Two Security Boundaries for AI-Assisted Development
A sandbox limits what an agent can damage while it works; it cannot tell you whether the resulting code is safe to ship. AI-assisted development needs separate controls for the runtime and the artefact.
- 16The SDLC Is Dead: What Replaces It
Agents do not abolish the work between an idea and a dependable production result. They compress its hand-offs into a tighter loop, moving the bottleneck from writing code to specifying, verifying and learning.
- 17Beyond Coding: Where Agents Are Useful
Coding agents work well because repositories provide structure, history and checks. The same tools can help elsewhere, provided we give those workflows equally clear inputs, narrow permissions and visible results.
Part II: Letting Go of Control
(5 chapters)
What changes when developers stop approving every action and start supervising autonomous work through specifications, constraints, and feedback loops.
- 1Letting Go Without Losing Control
The difficult step in agent-assisted development is not enabling an autonomy flag. It is replacing constant approval with constraints strong enough to deserve our trust.
- 2Specifications Are the Interface
When an agent writes the implementation, the specification becomes our main engineering interface. That makes ambiguity, premature detail, and untested assumptions more expensive than they first appear.
- 3Tests Are Backpressure
Faster code generation only helps when the rest of the system can reject bad work quickly. Tests, static checks, and CI provide the backpressure that makes greater agent autonomy sustainable.
- 4Stop Reviewing Every Line
Line-by-line review does not scale with agent output, but abandoning review is not the answer. A risk-based approach moves attention towards invariants, interfaces, dangerous changes, and evidence.
- 5The Agent Harness Is the Product
A capable model is only one component of a dependable coding agent. The harness decides what context it sees, which actions it can take, how it receives feedback, and when it must stop.
Part III: Multiple Agents
(5 chapters)
The operational shift from one coding agent to a fleet: decomposition, isolation, coordination, cost, and autonomous execution.
- 1From One Agent to Many
Adding a second agent is not a linear productivity upgrade. Work decomposition, review capacity, shared state, and cost all become coordination problems rather than prompting problems.
- 2Running Parallel Agents Without Collisions
Parallel agents need more than separate terminal tabs. Useful concurrency depends on task boundaries, isolated workspaces, explicit ownership, and an integration path designed before the agents start.
- 3How to Organise a Team of Agents
Agent teams can divide by task, role, or stage of work, but every extra communication path adds failure modes. The useful pattern is usually the smallest topology that matches the dependency graph.
- 4The Night Shift Is a Bounded Handoff
An overnight agent loop sounds like unattended productivity. In practice, the useful work happens before and after the run: bounded specifications, independent checks, forensic records, and a morning decision.
- 5From Agent Scripts to Orchestration Systems
A few shell scripts can coordinate a small fleet surprisingly well. Beyond that point, durable state, retries, routing, observability, and recovery turn the experiment into an orchestration system.
Part IV: Human Limits
(5 chapters)
What happens when manual coordination stops scaling and agent-assisted development becomes a problem in orchestration, verification, and organisational design.
- 1The Human Coordination Ceiling
A human can supervise several agents, but attention does not scale with token spend. Past a certain point, adding workers increases queues, conflicts, and missed failures faster than useful output.
- 2Building the Software Factory
Once agents produce most implementation code, the durable asset is the factory around them: specifications, tools, feedback, state, evaluation, and recovery. Building that factory is a different engineering job.
- 3When Formal Verification Becomes Practical
Formal methods have traditionally been expensive specialist work. If agents can help write specifications, proof harnesses, and models, the economics may change, but proof obligations and scope still need human judgement.
- 4What an AI-Native Organisation Looks Like
An AI-native organisation is not a conventional team with more licences. Its processes, review capacity, incentives, and ownership model have to change when implementation is no longer the scarce resource.
- 5The Matrix Moment, and the Limits of Automation
Agent fluency can make an implausible number of projects feel possible. The final skill is not learning to automate everything; it is deciding which possibilities deserve the cost, risk, and attention.
Appendices
(2 chapters)
Supplementary material, setup guides, and reference content that supports the main series without fitting neatly into a single part.
- 1Running AI Coding Agents on Hetzner
My starting point for a disposable Hetzner agent box: cloud-init hardening, Tailscale access, optional Cloudflare Tunnel, resource planning, and automation scripts.
- 2An Opinionated Starting Point for Claude Code Users
The Claude Code configuration I use bundles plugins, skills, CLI tools, and sandbox settings into one installer. Treat it as an opinionated starting point, not a universal setup.