惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
V
V2EX
量子位
Last Week in AI
Last Week in AI
Jina AI
Jina AI
博客园 - 【当耐特】
爱范儿
爱范儿
宝玉的分享
宝玉的分享
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
有赞技术团队
有赞技术团队
小众软件
小众软件
IT之家
IT之家
博客园_首页
博客园 - 聂微东
S
SegmentFault 最新的问题
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗

Software Design: Tidy First?

Reject Change, Sometimes Baking a Model Busy is Short Volatility Speculative Short Volatility & Neglectful Short Volatility Canon 3X: Explore/Expand/Extract How Do You Know That? Long Vol: What is Volatility? Long Volatility Development The Beginnings of an Idea: XP is Long Volatility When Complaints Are Good News Air Traffic Control The Cost YAGNI Was Never About Why So Literal? Smalltalk Genie Hey, N00b, We Didn't Hire You to Complete Tasks A Learning System Made of Learning Parts You Don't Get to Create Anything Trust Factory Genie Lessons from Genie Sessions: Prose as a Programming Language Scope Is The Steering Wheel Itchy Brain Thinkies World Congress II: May 20, 2026 Thinkie: Wider Scope Thoughts, Not Thinking? Did We Do This to Ourselves? Adaptive Radix Tree Genie Sessions: Run, Right, and Fast for the Adaptive Radix Tree Unstick Your Stuck Thinking Genie Lessons: Nobody Wants Agents Passing Tests Bore Me
Genie Tarpit
Kent Beck · 2026-04-29 · via Software Design: Tidy First?

Genies give you code that’s a degraded facsimile of the mediocre code it trained on. How can we get the genie to give us valuable code?

“Valuable” lives on 2 axes:

  • Features—what the code does now.

  • Futures—what we can get the code to do once we learn the lessons of this set of features.

As an engineer I am constantly juggling these two dimensions so I wanted a way to visualize them. On the features axis software either works or it doesn’t (more or less) & the region of working is rather small.

(Note that this puts features on the opposite axis from where it appears on Features Versus Futures. I tried it both ways & I like the layout best with the axes this way.)

The other axis is flexibility—can we make changes that:

  • Work as expected

  • Don’t break anything that was already there.

I’ve called this “optionality” or “futures” recently. Still looking for the right words.

Flexibility/optionality/futures has a wider operating range than whether the software works or not. You can skimp of flexibility for a while & not really feel it.

Where was development in ancient times, you know, six months ago? Well, you had some teams who had high standards for the behavior of the system—tests, frequent integration, observability, zero defect tolerance, retrospectives. They also had high standards on flexibility—readable code, mutual comprehension (pairing, mobbing, thorough reviews).

Treating the two axes as orthogonal is simplistic. If you have fewer interruptions from defects you have (or can choose to have) more time to invest in flexibility. Also, if you have flexibility you are more likely to create features that work.

Most teams weren’t in the upper right. Instead, they muddled along with mostly-working software that was quite difficult to change. (We can talk later about why folks would choose to stay in this region when they could be further up & to the right.)

Here’s what I’ve observed—genies naturally live down & to the left of muddling. The “plausible deniability” task orientation of the genie leaves it claiming success even though the code doesn’t work at all. And complexity piles on complexity until even the genie can’t pretend to make progress any more.

You probably saw this one coming—nobody knows. Does the model need to be trained on better code? Trained on good commits? Better harnesses? Tests? Which tests? When? Better prompting? Or grasp the nettle of the Bitter Lesson & let the model develop it’s own style of development, even if it turns out to be incomprehensible to us rapidly-obsolescing humans?

Awareness is the first step. Where are you? Where do you want to be?

This quarter’s newsletter is brought to you in partnership with WorkOS.

WorkOS is the infrastructure B2B and AI-native companies use to sell to enterprise. It covers everything enterprise security requires: SSO, SCIM, RBAC, Audit Logs, AI governance, and more. Engineering teams ship it in days. Trusted by 2,000+ fast-growing companies, including OpenAI, Anthropic, Cursor, and Vercel.

Find Out More