blog main page

Understanding AI Agents Through Microservices Concepts: Using familiar microservices concepts to understand agent systems without confusing the two

For software engineers familiar with microservices, AI agents can seem like an entirely new architectural world, filled with unfamiliar concepts such as tools, context, memory, planning, grounding, and behavioral evaluation. Yet many of the engineering concerns behind agent systems, including clear responsibilities, well-defined interfaces, coordination, state management, permissions, resilience, and observability, have familiar counterparts in distributed software architecture. The key is knowing where those comparisons are useful and where they break down, since agents interpret goals and choose actions in ways traditional services do not. This article uses microservices as a learning bridge to explain the core concepts of agent development, helping experienced engineers build on what they already know while understanding what must be learned on its own.

Read more →

Your Markdown Files Are Part of Your Architecture Now

As AI-native development becomes part of everyday software work, the Markdown files that guide coding agents are no longer just documentation. They are part of the system that shapes how code is generated, refactored, tested, and reviewed. Poorly organized instructions can create conflicting guidance, unnecessary context, slower workflows, and less trustworthy results, while a well-structured guidance layer can help agents make better decisions with the right information at the right time. This article explores the most common mistakes teams make when organizing AI guidance files and offers a practical approach for turning scattered Markdown into a clear, maintainable instruction architecture.

Read more →

How I Try to Stay in Control When Coding with AI Agents - A Personal Experience

AI coding agents are making software development faster than ever, but speed creates a new challenge: what happens when the AI can produce changes faster than a developer can fully understand and review them? As these tools become more capable, responsible AI-assisted development is no longer just about generating better code. It is about maintaining control, limiting scope, demanding evidence, and knowing when to stop. In this article, I explore the idea of AI development “overrun,” the different forms it can take, and a simple practical loop for keeping human understanding and ownership at the center of AI-assisted software development.

Read more →

The Shifting Values of Software: How Every Generation Corrects the Previous One, and Sometimes Goes Too Far

Software has never evolved in a straight line. From process-heavy development and Agile to DevOps, microservices, data-driven culture, and now AI, each major movement has emerged to solve a genuine problem. Yet the ideas that begin as useful corrections can become harmful when taken too far. This article explores how the software industry repeatedly swings between competing values such as speed and quality, flexibility and discipline, automation and responsibility, and why the most important skill for today’s technology professionals is not simply following the latest trend, but developing the judgment to understand when a good idea has gone too far. Read the full article to explore what decades of software evolution can teach us about making better decisions in the age of AI.

Read more →