The rung we sawed off
The junior developer pipeline is collapsing, and the cause is not the thing everyone is blaming. Who is left when the greybeards retire.

The junior developer pipeline is collapsing, and the cause is not the thing everyone is blaming. Who is left when the greybeards retire.

An export-control directive suspended my AI assistant mid-task, which is a useful lesson in what you are actually depending on.

Building an AI dungeon master to test a Go chat client, and the bug that kept resurrecting a goblin the player had definitively killed.

Agentic AI gives senior engineers a lift and juniors a drag, which tempts firms to automate away the entry level entirely.

The cash prize for anything that looked like a finding was the accelerant, and AI only made plausible-looking reports free to produce.

A lowest-common-denominator AI interface throws away what each provider is good at. When to route through an abstraction and when to drop below it.

Five AI providers behind one Go interface, including one that shells out to a locally authenticated CLI for networks that allow no API calls.

Persisting an AI conversation in Go: snapshot the messages, prompt and tool metadata, and deliberately never the handlers or the API token.

Generate-and-hope does not work for codegen. Handing the draft to a repair agent with a fixed toolset that has to make build, test and lint pass.

Stop parsing an LLM's prose with regular expressions. Derive a JSON schema from your Go or Rust type so the schema and the type cannot drift.
