How to Pick an AI Coding Tool in 2026: A Framework, Not a Ranking
Five decision dimensions for choosing AI coding tools, an honest take on the four I've used, and a deliberately short list of the ones I'm watching but haven't tried.
Writing
A running log of what I'm learning — mostly about architecture, AI in engineering workflows, and the quiet trade-offs that shape real systems.
Five decision dimensions for choosing AI coding tools, an honest take on the four I've used, and a deliberately short list of the ones I'm watching but haven't tried.
The architecture decisions that come up most often in Java backend work. Event-driven vs request-response, CQRS, hexagonal, when to split a microservice, REST vs gRPC vs GraphQL, ADRs.
A specific list of things I check when an AI generates a class skeleton, before letting it produce the implementation. The 5-minute step that saves the most time downstream.
The five-step loop I'd default to when generating code with AI: read, spec, skeleton, review, layered generation. The step engineers skip most often is the one with the highest leverage.
What an Architecture Decision Record is, when to write one, the format I'd default to, and a worked example for a non-trivial decision.
What records do well, where they get awkward, and the patterns I'd use for compact constructor validation, copy-with-changes, and the JPA boundary.
The Java patterns I'd reach for first when modernising a Spring Boot codebase. Records, sealed types, virtual threads, structured concurrency, with the trade-offs that come with each.
What each Resilience4j pattern does, when to use it, the default configuration that's a reasonable starting point, and why decorator order matters.
The short list of Spring Boot 4 features that earn their migration cost: HTTP Service Clients, virtual thread integration, API versioning, JSpecify null-safety, RestTestClient.
The short list of what I'd wire into a Java service before it reaches production. OpenTelemetry, Micrometer business metrics, JFR, Resilience4j, and the operational chops that don't fit in code samples.
How interface-based HTTP clients work in Spring Boot 4, when to use them, and how to wire retries, timeouts, and tests around them.
How junior Java developers should level up in 2026. What AI commoditizes, what stays critical, and the new skills that separate someone replaceable from someone valuable.
Without Serena, Claude reads files one by one like someone reading a book without a table of contents. With Serena, Claude navigates the codebase semantically, saving 60–80% of tokens.
Skills and Agents are two extensibility mechanisms in Claude Code that are often mistaken for the same thing. The difference is fundamental, and choosing wrong means the wrong tool for the wrong job.
Garbage in, garbage out. AI output quality is directly proportional to the quality of the spec you provide. These are 4 different spec scenarios and how to approach each.
A full context window = increasingly inaccurate responses. Here are 5 token efficiency strategies we use for long working sessions on production codebases.
Why I chose Astro + GitHub Pages, and what I sacrificed with that decision. An architecture note at small scale.
A case study on using n8n to standardize and automate CSV data exchange flows via SFTP with robust error handling.
How DOKU deploys n8n on Alibaba Cloud Container Service (ACK) using Queue Mode architecture, managed services, and custom images for internal needs.