Architecting for AI Agents: A New Way to Think About Software Design

What happens when you stop designing systems for developers and start designing for intelligent AI agents instead? A look into the future of software architecture.

November 12, 2024 · Tolic Kukul

Abstraction Is Hard: Why Wrong Abstractions Are Worse Than No Abstractions

Creating good abstractions is one of the hardest parts of software development. Here’s why getting them wrong is so expensive and how to think about them better.

September 28, 2023 · Tolic Kukul

From Batch Processing to Event Streaming: A Paradigm Shift

Moving from batch jobs to an event-driven architecture wasn’t just a technical upgrade — it changed the way we thought about systems, risk, and ownership.

March 25, 2020 · Tolic Kukul

The Hidden Lifecycle Cost of Every Feature

Every feature has an ongoing cost that extends far beyond initial development. Understanding this total cost of ownership changes how we evaluate what to build.

March 1, 2019 · Tolic Kukul

Kokeshi vs Lego: Two Philosophies of Software Architecture

Software architectures fall into two categories: nested abstractions like Russian dolls, or composable pieces like Lego blocks. Understanding the difference changes how you build systems.

September 15, 2018 · Tolic Kukul

The Pragmatic Engineer's Manifesto: Beyond Hype, Toward Solutions

The Pragmatic Engineer’s Manifesto: Beyond Hype, Toward Solutions Software engineering is drowning in false signals. We optimize for the wrong metrics, test the wrong skills, and chase the wrong goals. The result? Systems that are complex but fragile, teams that are impressive but ineffective, and engineers who can recite algorithms but can’t solve real problems. It’s time for a different approach. When Answers Are Cheap, Questions Become Expensive Today, answers are cheaper than they’ve ever been. ChatGPT, Claude, and Stack Overflow can solve almost any technical problem in seconds. You can find tutorials, code examples, and step-by-step guides for virtually any programming task. ...

July 16, 2018 · Tolic Kukul

Why Legacy Software Design Sucks (And How to Prevent It)

Understanding why software becomes unmaintainable legacy code and practical strategies to prevent your systems from becoming the next developer nightmare.

August 5, 2017 · Tolic Kukul