blog main page

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 →

JavaScript to Angular Easy Migration Guide: Part 3 - Building the Final Angular Version with Signals, Forms, Routing, and Quality Rules

In the previous parts, we first established the mindset shift behind Angular and TypeScript, and then redesigned the original plain JavaScript app into a cleaner Angular architecture with clear responsibilities and state boundaries. In this final part, we bring that design to life by building the full Angular version of the Task Board using modern Angular practices such as standalone components, signals, computed state, reactive forms, and routing. We will also go beyond implementation details and cover important quality concerns such as template discipline, project structure, edge-state handling, performance habits, security-aware UI practices, and testing strategy, so that the result feels like a complete and professional migration guide rather than just a code conversion exercise.

Read more →