What is Synthesis Coding?
Synthesis coding is the hands-on craft of building production-grade software through disciplined human-AI collaboration. The human provides architectural authority, judgment, and quality standards. The AI provides execution speed, pattern recognition, and tireless consistency. Together, they produce results neither could achieve alone.
Synthesis coding is the software development discipline within synthesis engineering, the broader practice of systematic human-AI collaboration for complex work.
The practice emerged as teams developed systematic approaches to AI-assisted development. Code remains the durable source of truth—artifacts that can be versioned, reviewed, tested, and debugged at 2 AM when something breaks. Synthesis coding provides vocabulary and methodology for this rigorous approach.
The terminology and methodology are released under CC0 (public domain) for unrestricted use.
Four Principles
The practice rests on four foundational principles that distinguish it from ad-hoc AI usage:
Human Architectural Authority
Humans make strategic architectural decisions—technology stack, system boundaries, security models, integration patterns. AI implements within those constraints rather than inventing architecture. Complex software requires consistent architectural vision that persists across months or years; AI operates conversation by conversation.
Systematic Quality Standards
The same rigor applies to AI-generated code as human-written code. Code review, comprehensive testing, security analysis, performance validation. AI helps achieve these standards more thoroughly and systematically, but the standards themselves don't relax because AI was involved.
Active System Understanding
Engineers maintain deep understanding of system architecture and implementation while leveraging AI for rapid development. If you cannot debug the code at 2 AM when it fails in production, either you need to understand it better or it needs to be simpler. This prevents the dangerous failure mode of systems nobody comprehends.
Iterative Context Building
AI effectiveness compounds when context accumulates systematically. Architectural decisions documented, patterns established, conventions clarified. Each session builds on the previous. Teams that invest in context preservation see dramatically increasing returns over time.
How It's Different
Synthesis coding is distinct from both "vibe coding" and "agentic coding":
| Approach | Human Role | AI Role | Best For |
|---|---|---|---|
| Vibe Coding | Minimal oversight | Generates everything | Experiments, learning, throwaway code |
| Agentic Coding | Sets goal, steps away | Operates autonomously | Well-defined, bounded tasks |
| Synthesis Coding | Directs, reviews, approves | Executes under supervision | Production systems, complex codebases |
Key Distinctions
vs. Vibe Coding: Vibe coding is "just let AI write it"—great for rapid experiments and personal tools, but production systems need architectural coherence, security, team comprehension, and long-term maintainability. Synthesis coding maintains these standards while still leveraging AI's speed.
vs. Agentic Coding: Agentic approaches emphasize AI autonomy—set a goal and let AI figure it out. Synthesis coding keeps humans in the loop because production code requires judgment calls AI can't make: architectural trade-offs, security decisions, performance implications, and accountability for what ships.
The same developer might use all three approaches in a single day. The skill is recognizing which approach fits each task.
Reference Articles
Browse All →The methodology is documented across a series of articles covering theory, organizational frameworks, and technical implementation:
-
Synthesis Engineering: The Professional Practice Emerging in AI-Assisted Development
Why the most effective engineering organizations are developing systematic approaches that go beyond vibe coding — and why this practice needs a name This blog post is for CTOs, Engineering Leaders, Technical Executives. I've also written it be accessible to non-technical readers. I've had the same
-
The Synthesis Engineering Framework: How Organizations Build Production Software with AI
From individual practice to organizational capability: a systematic approach to human-AI collaboration in professional software development This blog post is for Engineering Leaders, CTOs, and Product Managers. In my previous article, I introduced Synthesis Coding (a.k.a. Synthesis Engineering) — th
-
Synthesis Coding with Claude Code: Technical Implementation and Workflows
A hands-on guide to practicing Synthesis Coding (a.k.a. Synthesis Engineering) with concrete examples, real workflows, and lessons from production systems I wrote this blog post for Software Engineers, Architects, and Technical Leads. This one is code-heavy and implementation-focused. In the first t
-
Seventeen years ago, I built a tool for the open Web. This weekend, I modernized it using Synthesis Coding with Claude Code AI
In 2008, I released a WordPress plugin called Blogroll Links. The plugin displayed lists of links on WordPress pages using a shortcode. But the idea behind it was more ambitious than the implementation might suggest. I built Blogroll Links because I believed people should control their own online pr
-
Vibe Coding and Synthesis Coding: Two Complementary Approaches
Why the conversation isn't about which approach is better — it's about knowing when to use each This blog post is for software engineers, engineering leaders, and anyone interested in AI-assisted development. Since publishing my series on Synthesis Coding, I've received a recurring question: "How do