Tag

#opinion

12 articles: Journal.

← All tags

  1. Your Architecture Decisions Rot Because Nothing Runs Them

    An architecture decision written in a wiki is a wish. The boundaries you can't enforce are the ones that quietly erode — until the diagram stops matching the code. Make the rule executable

  2. AI Didn't Remove the Bottleneck — It Moved It

    Cheap code production doesn't raise throughput if review, integration, and verification can't keep up. The bottleneck just moves downstream — and that's where the work now is

  3. Schema Evolution: Changing a Contract Without Breaking It

    A message's data shape is a contract across services you can't change atomically. The rule: additive is safe, a breaking change needs a new identity — and consumers upgrade first

  4. Can You Ship Vibe-Coded Software to Production?

    Vibe coding lowers the cost of a first version, not the cost of being wrong. That bill arrives in production, not at build time — and it depends on whose hands shipped it.

  5. Layered Architecture or Clean Architecture?

    Why the classic layered structure is enough for most projects while we drown in abstraction layers, and when Clean Architecture actually pays off.

  6. The Production Cost of "Just-in-Case" Code

    Applying YAGNI in practice: the price of adding flexibility you don't need today, repaid daily in maintenance, readability, and bug surface

  7. When I Move to Microservices

    The measured signals that justify moving from a monolith to a distributed architecture — and the common false reasons that say it's still too early

  8. Gitflow or GitHub Flow? How I Choose

    Practical criteria for picking a branching strategy by product model, version count, and deploy rhythm — and how each model breaks in the wrong place.

  9. When I Switch to Trunk-Based Development

    Why release branches break for high-frequency deploy teams and how much of trunk-based is really discipline — the thresholds I cross and the ones I don't

  10. Why I Start Projects With a Modular Monolith

    The case for drawing clean module boundaries inside a single deployable app before jumping to microservices — and when I stop doing it.

  11. Why I Prefer Boring Architecture

    The pragmatic case for choosing proven tools over chasing new technology. This is not cowardice, it is a budget decision.

  12. My AI-Assisted Engineering Workflow

    The seven rules I follow to use Claude Code and similar agents on production code with confidence — not a skeptic, a discipline manifesto