AI Agents

Tools and Strategies for Agentic Development (Into the Hopper Podcast)

A conversation with Tim Hopper on spec-driven development, Beads for task tracking, and how AI agents have changed my planning habits.

Published January 12, 20262 min readFiled in January 2026
Tools and Strategies for Agentic Development (Into the Hopper Podcast)

It's been a busy week. I've been hard at work building an internal agent/LLM platform at Workhelix. But I was able to step away to have an introspective conversation with Tim Hopper on his Into the Hopper Podcast. It was a great opportunity to reflect on my use of spec-driven development, Steve Yegge's Beads for tracking tasks while using coding agents, and my work and research into managing agent memory. I took some time this weekend to share some of the code snippets and ideas I use every day in the Code and Tools section of this site.

Tim and I discussed how AI has changed our work patterns. We often hear that coding agents and GenAI are instilling bad habits in software engineers. To my surprise, I've actually become a much more intentional planner with agents. Pre-agents, I would be told I had to plan out every step thoroughly, yet beyond the architecture, I hesitated to over-specify my projects.

With agentic development, that's no longer the case. Agents have pushed me to become a firm believer in spec-driven development—the idea that larger projects should have a thorough architecture doc, a tasks doc fully breaking down different epics into atomic tasks, and thorough session logging. This shift has made me a much more intentional coder, and I believe my work has benefited from it.

Here's an example of my spec-driven workflow using Beads. See more in Code and Tools.

Bash
1# Create tasks with dependencies
2bd create "T1: Project Structure" -t task -p 0 -d "Set up package structure" --json
3bd create "T2: Core Client" -t task -p 1 -d "Implement client class" --json
4bd dep add <T2-id> <T1-id> --type blocks
5
6# Find ready work and claim it
7bd ready
8bd update <id> --status in_progress
9
10# Close and sync
11bd close <id> --reason implemented
12bd sync -m "Close T1: Project Structure"

One thing I'm curious about, with the advent of agentic coding, is how the complexity, maturity, or elegance of codebases is shifting. I haven't seen much research into this subject, but I intend to speak to other veteran software engineers to see if they've also improved some of their habits.

If any of these subjects interest you, I've embedded Tim's podcast below.

Published January 12, 20262 min read5 topics

No audio version is available for this post yet.

Related reading

Move to the adjacent posts in the archive.

Newer post

Our Language Hasn't Caught Up to the Technology

Writing chapter one of my O'Reilly book on Agent Memory, I keep tripping over how we talk about these systems. The words we choose don't just describe what we're building—they shape it. And the metaphor of 'memory' is too weak, not too strong.

April 20, 20262 min read