Field notes by David Hayes

What I’ve learned building systems people depend on.

I write about architecture, distributed systems, modernization, and technical leadership. The examples come from systems I have built, teams I have led, and lessons production makes impossible to ignore.

AI-native engineering

AI is changing how I build and raising the bar for engineering.

I use coding agents to explore faster, automate mechanical work, and expand what teams can deliver. My writing focuses on turning that leverage into reliable production software through better architecture, evidence, and human judgment.

Explore my writing on AI

AI Works Best When Engineers Lead

AI gives engineers more reach when people set purpose, direct the work, exercise judgment, and own what happens next.

12 min read

Deep technical series

Follow the decisions, not just the result

Long-form, code-backed guides that trace architectural decisions from constraints and tradeoffs through implementation and operations.

Domain-Driven Design in TypeScript

Learn strategic and tactical Domain-Driven Design by working through one non-trivial enterprise SaaS onboarding domain in TypeScript. The case study is the teaching vehicle; DDD is the subject.

Architecture Is a Team Sport

Software architecture as technical system design — boundaries, data, contracts, failure, rollout — practiced through leadership, communication, and collaboration aimed at measurable business goals.

Topics

Latest

Recent posts

Browse all posts by topic