The Road to Pernition: Into the Weeds

I’ve never met anyone who loves pulling weeds. I’ve met plenty of people who love to garden. Some people enjoy the design, the selection of what to grow. Others enjoy watching the transformation as plants travel through their phases. There are those who live for the fruit, flowers or vegetables. Some of us love the full battle, except weeding.

The more articles I read about the evolution of context management and integration, the deeper the focus on the capturing, indexing and re-surfacing data to drive verifiable outputs, the more I wonder about the weeding. I’m glad to see a new class of developer productivity roles emerge. Roles focused on moving agentic work into the realm of spec transpiler with deterministic validation of inputs and outputs. The increased focus on capturing transitory context to be injected into future system enhancements. But I worry about the weeding.

A densely planted garden bed with orange calendula and white daisies intermingled with grasses and weeds

In Intensive Planting, the goal is to maximize the crop output from a given space. Techniques include inter-planting, succession planting and vertical gardening. For myself I’d add just cramming the plants together. I like the contrasts that occur when two very different plants contend for the same space. There’s the bonus that weeds have less open space to claim and there’s the risk that weeds will intermingle, making them impossible to remove without damaging something else.

A challenge for me in the agentic development space is that I can evolve my thinking, my process and my outputs so quickly that I don’t fully explore the what’s and why’s of a failure. There’s no After Action Review, no 5 Whys - I just toss the session, restart with what I think is a better context flow and go.

But the weeding. Moreover, how do I know what the weeds are? When I’ve talked about this with others I get two distinct points of view. Don’t sweat the weeds, the model will sift out things that aren’t relevant - they’re like typos in a spec or prompt vs. the argument that you should spend time every evening, and then again in the morning pulling out unwanted foliage; it might be quick to regenerate an errant session, but it’s annoying to have a failure in the flow where you have to walk back up the pipe to see where things went wrong.

An argument I’ve been making for a bit is that we’re heading towards a workday where half the day is spent in high-volume output, and half is spent in process optimization. In larger tech companies where there are teams that can own large parts of the agentic harness, some of that optimization may be handled, but even there I think we’ll need individual engineers to do some weeding. In the long run we may be able to write further loops to pull our weeds, but for now we likely need to disentangle them ourselves.