Skip to content
Cogitate
Go back

A couple of notes on some software development topics.

| Björn Roberg, GPT-5.1 Edit page

I recently re-read https://chriskiehl.com/article/thoughts-after-6-years and wanted to recontextualize some of the thoughts listed there from a 2026 standpoint.

1. “Software architecture matters probably more than anything else”

In 2026 this is more true, not less, specifically because of agentic tooling.

Why it matters more now

Agentic tools (code-generation agents, refactoring bots, AI test writers, etc.) are very good at:

They are still weak at:

In other words: they are very strong on implementation detail, still mediocre on architecture.

So the original point:

A shitty implementation of a good abstraction causes no net harm to the code base. A bad abstraction or missing layer causes everything to rot.

is even sharper now:

Relevance in a 2026 workflow

  1. Architects / senior devs become “system designers for humans + agents”
    • Define clear module/service boundaries, contracts, and data shapes.
    • Make these explicit (docs, ADRs, architecture diagrams) so agents can be prompted against them.
  2. Architecture decisions must be promptable
    • If your architecture can’t be explained as a small set of simple rules and invariants that an agent can follow, it’s probably too fuzzy.
  3. Guardrails > scaffolding
    • Use agents for scaffolding and implementation, but keep humans in charge of:
      • Domain modeling
      • Cross‑cutting concerns (auth, observability, data lineage)
      • Evolution paths (how this system changes when requirements change)

Net: Strong architecture is now a force multiplier for agentic tools; weak architecture is a rapid‑complexity generator.


2. “Typed languages are better when you’re working on a team of people with various experience levels”

With AI tools heavily in the loop, this got a new dimension: static types help both juniors and agents behave safely.

Why this still (and more) holds

Types now serve three key roles:

  1. Specification for humans

    • Same as before: they document expectations, catch obvious errors, and help IDEs provide better navigation and refactors.
  2. Specification for agents

    • Agents use types as ground truth about:
      • What can be passed where
      • What a function promises to return
      • What states are legal vs illegal
    • A well‑typed API makes it much harder for an agent to generate obviously wrong code, especially in large unfamiliar codebases.
  3. Safety net for fast iteration

    • 2026 workflows often look like:
      1. Ask an agent to generate or refactor a chunk of code.
      2. Run tests + static analysis.
      3. Fix what breaks.
    • Strong typing greatly reduces the “silent wrongness” slice of failures and surfaces mistakes earlier.

Specific 2026 considerations

So the 2026 twist could be phrased as:

Typed languages aren’t just better for mixed‑experience humans; they’re better for mixed teams of humans plus agents.


3. “Monoliths are pretty good in most circumstances; micro‑services require justification”

Agentic tooling doesn’t change the fundamentals of system decomposition, but it amplifies the cost of complexity. Monolith‑first is arguably an even stronger heuristic now.

Why monoliths age well with agents

  1. Single codebase = better agent context

    • Agents are context‑limited. A well‑structured monolith:
      • Gives them a coherent picture of the domain.
      • Reduces cross‑repo / cross‑service cognitive overhead.
    • It’s easier to ask: “Find all the places we enforce this business rule” when everything is in one codebase.
  2. Easier to refactor with AI help

    • Large, type‑safe monolith + tests = perfect playground for:
      • Big mechanical refactors
      • Breaking modules apart internally
      • Gradually extracting services when justified
    • You can evolve towards services with agent assistance instead of guessing up front.
  3. Operational simplicity still wins

    • Microservices still bring:
      • Network partitions
      • Version skew
      • Observability overhead
      • Security and compliance complexity
    • Agents can help with infra code and runbooks, but they don’t remove the inherent distributed‑systems tax.

Microservices in the 2026 + agent era

Microservices are still justified for the classic reasons:

Agentic tools do not by themselves justify microservices. If anything, they push in the opposite direction:

A good 2026 rule of thumb, probably:

Start with a modular monolith, designed with clear internal boundaries that could become services later. Use agents to keep that monolith clean. Only split when you can point to a specific, measurable reason.


Edit page
Share this post on:

Previous Post
Cloud LLMs in prod...
Next Post
Using casq in CI