The Augmented Forest • Kent Beck• GOTO Copenhagen 2026
AI coding tools currently amplify burnout and technical debt by focusing on model token efficiency rather than human needs like struggle, connection, and competence.
Highlights
5 clips · 9 min of 51 min-
- Distributing prompts as tool seeds lets users recreate custom tools instantly.
- The tool automatically adapts to the specific context of the person running the prompt.
- This approach revives the Smalltalk spirit of building specialized tools in the moment.
-
- AI tools act as amplifiers, worsening scarcity mindsets in the desert while accelerating exploration in the forest.
- In a scarcity mindset, AI drives token minimization and anxiety-driven management.
- In an abundance mindset, AI fuels rapid learning and experimentation.
-
- Accepting every AI-suggested feature burns futures and optionality, making subsequent changes exponentially harder.
- Current tooling incentives deliver worse software faster rather than maintaining long-term software quality.
-
- Programming struggle is essential for human insight, competence, and satisfaction.
- Outsourcing all coding friction to an AI agent leaves developers with a hollow sense of accomplishment.
-
- Next-generation developer tools should automate tedious toil while actively preserving meaningful struggle.
- Tools need to surface difficult decision points and trade-offs rather than making programming completely effortless.
That’s all the highlights.
Questions this video answers
8 · every answer cites the moment it was said01 What are tool seeds and how do they work? 3 sources · 6:30
Tool seeds are compressed prompts capturing the dialogue used to build a custom tool with an AI. Instead of packaging and distributing traditional software binaries, you share the prompt, which instantly adapts to the recipient. This revives the Smalltalk tradition of building specialized tools on the fly.
02 How do AI coding tools act as an amplifier for team culture? 2 sources · 17:42
AI tools function purely as multipliers rather than neutral solutions, amplifying whatever is already happening in a team. If an organization operates under scarcity and burnout, the AI accelerates those negative traits. Conversely, a healthy, resource-rich environment uses the AI to explore variations and learn.
03 What distinguishes the desert attractor from the forest attractor? 3 sources · 14:34
The desert assumes constant scarcity of time, skills, and stability, making practices like paying down technical debt seem illogical. The forest operates on the assumption that there will be enough resources, encouraging developers to create resources for the next round. While the desert leads to burnout and fragility, the forest sustains long-term progress.
04 How does unrestrained AI code generation affect code optionality over time? 2 sources · 24:15
Pumping out features rapidly with AI burns through futures or optionality, making future modifications increasingly expensive. While traditional teams took years to reach an unchangeable state, AI tools can accelerate code to the same disastrous state in an afternoon. Preserving options requires intentional pauses to refactor and structure code for the next feature.
05 Why do current AI coding tools leave developers feeling unfulfilled? 3 sources · 35:16
Current AI tools focus heavily on model efficiency and token optimization while completely ignoring foundational human needs like competence and struggle. By outsourcing the problem-solving grind to the genie, developers miss out on the struggle required to achieve genuine insight. This leaves engineers with a hollow feeling of accomplishment at the end of the day.
06 What features should human-centric developer tools prioritize instead? 3 sources · 45:04
Human-centric tools should aim to automate routine toil while actively preserving meaningful struggle and surfacing difficult choices for developers. They should encourage learning throughout the day and promote human-to-human connection rather than isolating programmers in separate silos. Ultimately, tools should serve human growth and satisfaction rather than model token metrics.
07 How does AI tool usage impact developer connection and team collaboration? 3 sources · 38:00
Because AI lets individual developers move at extreme speeds, it encourages isolation where programmers work in separate repos without interacting. This creates a decaf version of connection where developers talk to multiple genies instead of collaborating with human peers. Good tools must counteract this by fostering genuine communication and shared context among team members.
08 How do tool makers' decisions impact developer mental health? 2 sources · 13:18
The relentless push for productivity and token efficiency creates an addictive cycle where developers feel pressured to prompt models around the clock, triggering severe burnout and mental health struggles. Tool builders need to take responsibility for these real-world consequences rather than treating user addiction as a success metric.
Section-by-section summary
5 parts
Tool seeds enable instant distribution of custom workflows
Instead of packaging complex software binaries, developers can share the specific prompt sequences used to build custom tools. This allows recipients to regenerate and instantly adapt the tool to their own needs in real time.
AI acts as an amplifier for existing team cultures
Software development organizations operate either in a scarcity desert or an abundance forest. AI acts as an amplifier that deepens anxiety and fear in desert environments while enabling rich learning and exploration in forest environments.
Unchecked AI generation burns long-term optionality
Accepting every feature suggestion from an AI agent rapidly degrades codebase maintainability. Teams can now reach the state of unchangeable legacy software in an afternoon instead of taking years.
Current AI tools ignore foundational human needs
The current generation of AI tools focuses entirely on model output and token metrics while ignoring human needs like competence, struggle, connection, and shared purpose.
Reorienting tools around human growth and connection
Future developer tools must be designed to promote human connection, automate mindless toil, and preserve the healthy struggles that lead to true insight and developer satisfaction.
n next · p previous clip · t highlights/full
< > slower/faster · / search what was said
-
Tool seeds1× · first 6:33
Instantly adaptable prompts that encode a workflow or tool creation dialogue for others to run.
-
Vibe coding2× · first 10:21
Programming entirely by prompting AI models without directly writing code.
-
The desert10× · first 4:00
An organizational attractor characterized by scarcity of time, stability, and skills.
-
The forest9× · first 4:00
An attractor where resources are assumed to be sufficient and actions create future resources.
-
Optionality4× · first 22:38
The flexibility to easily add future features, which gets burned through quick coding.
-
Extreme programming2× · first 29:34
A software development methodology focused on adaptability and good engineering practices.
-
Tidy first2× · first 0:52
A book and approach about software design and structure.
6,376 words · about 26 min to read
Thank you so much. It's uh great to be back. I was reminiscing about some of the uh Yao days in Arus uh which I went to several of those and uh everybody's still here. So thank you. Thank you all for uh staying to the end of the conference at least the beginning of the talk at the end of the conference. Uh we'll see how many people leave during the process but um uh yeah it's been an intense three days for me.
uh I did a workshop yesterday on uh on tidy first the book that I wrote that and uh about software design and I I've talked about it here in our earlier stages and I was pleased to discover when I was going over my notes that only only about a third of the material had gone obsolete in the year since I'd last done the workshop and I was when I started reviewing it I thought is any of this still relevant and the answer is yeah, some of it. Yes, definitely some of it. Um, but things have changed fast.
Um, I've been tracking the mood. I, this is my third keynote in a row, uh, at this conference two years ago. I remember standing on this stage and people were very worried about AI and their jobs. and I explained about Jivvon's paradox and how reducing prices increases the demand for a good um and I think I probably neglected to mention eventually reducing prices increases demand eventually and there's a certain amount of chaos in in between and I think as of last year people were really feeling that people were worried about their jobs there was kind of a feeling of panic kind of what's going to happen?
What's going to happen to me? And and a certain amount of despair like gh [snorts] there's nothing we can do. And I would say the mood this year in the conf the conversations I've had with various people the mood this year is uh hopeful is too strong a word but the mood is uh a little bit frustrated a little bit angry but also hey we're doing this thing and people still don't know where things are going I would say in general but that seems like progressed to me that especially the part about uh the anger um one of the lessons that I had to learn was that anger is a message that you send to yourself that says it's time to set a boundary and uh that's what I'll be talking about today is uh the
boundary that I think it's time to set with respect to these tools that have changed things so much. Don't get me wrong, I love programming with the genie. I'm also very frustrated at it, but and did I did I call it the genie last year? Does anybody remember? Yeah, because it grants your wishes, but it's not what you wanted when you asked.
So, I'm going to combine that message with uh a message that I delivered on this stage. I think it was no it has to be last year starts getting mixed up but that's okay. Uh about this distinction between the forest and the desert uh two attractors in the space of how all you could develop software. So I'm
Tool seeds enable instant distribution of custom workflows
going to put those together and and give you kind of a two two scenarios. Uh but before I do that, I want to tell you breaking news. This is the exciting stuff. Yesterday during the workshop, I discovered a new way to deliver software tools. I grew up in the small talk world and in the small talk world, people wrote tools to assist programming all the time. You weren't there wasn't here are the tool providers and here are the programmers and we should keep them rigidly separate. There was you'd have some problem and you'd build some specialized tool in the moment just to make your task easier and that kind of went by the wayside. Uh, but what I discovered is when I'm programming with a genie now, I build these kind of tools
all the time. And last week I was looking at some kind of messy code and I thought I'd like to visualize this. So I asked the genie to visualize the call graph a as a uh D3 force layout um style diagram. And so this is actually not the tool that I came up with. I went through a a dialogue with it and yesterday during the workshop I thought, you know what, I I'd like other people I showed this I showed my version of it off to people and I thought, well, I'd like to be able to distribute this, but oh, you know, packaging this up as a piece of software and generalizing it and all the bugs and the multi- language and other people are going to want
1 Highlight · Tool seeds: distributing prompts instead of code packages
different things. And I thought, wait a minute, I have a dialogue with the genie that resulted in this tool. Somebody else could go through the same dialogue. Or even better, I could condense the back and forth and back and forth that I had with the genie into a single prompt and give other people that. So I call this idea tool seeds. And it's the difference between delivering an apple seed to somebody and delivering an apple tree.
Usually, I mean, the whole whole time I've been building tools when I decided to distribute them, it's here's this package of software and and it's already put together and you just execute it. But now it's possible for me to take the prompt that resulted in that tool and hand the prompt to you. And the crazy thing about it is it's instantly adapted to the person who's copying it and using it.
And uh so I think this is it was one of these unexpected discoveries
that's maybe good enough that it it will take off. So here it is 24 hours old. Give it a try. Um this is there's a GitHub repo there. Uh if you there's one example this uh this call graph uh visualizer if you have others that you want to submit there please do but I'm always happy when I find unexpected consequences like that. Okay back to our regularly scheduled talk.
[sighs] First thing I'd like to point out is the tools as we have them today are not the tools as they're going to be in a year, in six months, in three months. And I think that's a very good thing because the current set of tools and the culture around it has ignored the fact that there's consequences for the way the tools are structured.
Um, Mark Andre recently uh h had a a quote where he he talked about how the the very best programmers are just programming all day every day and they're waking up in the middle of the night to prompt one more time and they're, you know, they get four hours of sleep a night and isn't this fantastic for a venture capitalist maybe, but I think this is just to me it's both dystopian and familiar.
I I remember the best moment of last year's presentation is when I mentioned 996 and I just got blank looks. Do you remember this? And I explained what 996 was and I got the biggest laugh of the entire presentation. 996 is uh uh working 9:00 am to 900 pm six days a week. And that's what it takes to be successful because our tools are so much more productive now than they used to be.
Oh man, it's just the logic is so hard so hard to track. But I said the that experience that that feeling of I have to keep feeding the genie is familiar. So the top is 2005. This is or 2025. My slipped two decades there. It happens.
2025. And um right here this week I was uh at a conference with Jean Kim and Steve Yagi and they got really excited about vibe coding and I had been on the fence, not a not a big fan, not even really experimenting.
And I thought, well, if those guys can do it, I can do it. So, sometimes that's the best that's the most motivational thing you can offer somebody else. Um, so they said, and then so this is Saturday right here. And I started vibe coding and I started trying projects that I'd had in the back of my head for sometimes decades.
is one of the things about getting more senior as an engineer. When you're junior, you kind of don't know what would be cool to build. And then as a senior, you know what would be cool to build. And then as like a staff engineer, you you know what would be cool to build, but you've you have some wisdom about what's just not worth it. And so if you spend a lot of time at that level, you collect these projects you'd really like to try, but [sighs] am I really going to figure out how to get the all the library versions lined up? So never mind. So I have this big library of projects in the back of my head that would be worth doing if they were easy to do.
So, what you see right after that is me coding my brains out. Me waking up in the middle of the night to feed one more prompt in. Me feeling like if I wasn't engaged every second of every day, I was missing out. Uh, what you also see there is a manic episode. I've been bipolar for ever and uh is usually manageable. Um but when it hits, it hits. And this is the manic episode and this is the depressive episode right afterwards.
Um stretching into March. Then I had a kick in the pants in uh in the towards the end of March and had another manic episode where I you know was just trying to program all the time and I had to deliberately stop and say no Saturday and Sunday I'm just not touching it. That's not good for me. if I wake up in the night, I'm not going to feed the genie one more prompt.
Um, and once I set those boundaries, then I was doing better after that. So the decisions that the toolmakers are making have real world irreversible consequences whether that's mental health um [clears throat] in all of its manifestations that doesn't just you don't just turn that off once it starts.
and being excited that people are completely addicted to your product uh is um more the province of drug dealers than it is of technologists and tool builders. So I would like people to recognize that the design of these tools has real consequences and the people building the tools should be prepared to take responsibility for that.
Okay. Um,
AI acts as an amplifier for existing team cultures
last year I talked about the forest and the desert. And this is the idea that there's a there's an attractor in the space of all possible styles of software development where you just assume there's not going to be enough anything. You assume scarcity. There won't be enough time.
There won't be enough stability. There won't be enough skills. There won't be enough people. There won't be enough connection with domain experts and how can we possibly adapt to this and still get something done. This is not a porative. I'm not saying people living in the desert are bad. It's amazing that they can accomplish anything at all and people manage even though even through uh that kind of of sense of scarcity. But it's not the only possible attractor. There's another attractor that my uh oldest child Beth named the forest.
And in the forest, the assumption is that there's going to be enough. Now, the forest is not a safe place. There's still predators. There's still thorns. You can still die in the forest. But the one thing you know is there will be enough resources. And so in the forest you work in such a way that you create more resources for the next goound.
So things like refactoring or let me say let me say it this way an activity like paying down technical debt in the desert makes no sense because we don't have enough time anyway for the features we want. So why would we pay down technical debt and get fewer features? It makes no sense in the desert. In the forest, of course you pay down technical debt.
um there's going to be enough time so you pay down technical debt so you make faster progress so there is enough time and that distinction you know I I think last year I went into much more detail about this distinction between forest and then the desert but that distinction is really stark and you you can choose organizations choose how they're going to act sometimes You can have a little bit of forest. You have an oasis in the midst of a desert, which is satisfying to the people who occupy it, but it's also not a stable
2 Highlight · AI as an amplifier of organizational culture
long-term situation. It's very difficult to keep a forest going in the mid midst of a desert. So now we introduce a third element. Now we have the genie. And what I observe is the genie is an amplifier. As soon as we have these uh an an AI based development tools involved, whatever was going wrong is going more wrong.
Whatever was going right is going more right. So in the desert you look at the genie and you say well uh there's not enough scarcity. We have to minimize the number of tokens or we have to take the people who aren't minimizing to who who are not using tokens and get rid of them because clearly they can't possibly be productive.
I I don't get the logic of that one either. But the genie amplifies that. The genie itself feeds back into the forest as well. So timelines are short. Now the timelines get even shorter, even more detached from the reality of progress. And uh whatever anxiety people were feeling, now they're feeling more anxiety. And there's clearly too many of them. So most of them are going to get fired, which is going to make them calm down and do a better job.
I'm still not getting this logic, but there it is. But the forest also is amplified by the genie. In the forest, you take advantage of the fact that certain things that were slow or uneconomic are current are now economic. You can try variations on ideas. Uh I
love using the genie to teach me things. I was that kid in in grade school with my hand up all the time. And that I I see another one at least. Does anyone other than Kent have a question? That's a phrase I heard a lot in school. So now, now I have this endlessly patient fairly creative, a mostly reliable, although I have to check it tutor about any topic that comes up. now can be a little bit difficult because I want to learn everything and new topics keep coming up and and I'm thinking uh what was the one yesterday? Oh, bird migration patterns. Sure. Why don't I need to know about bird migration
patterns? Oh, what was what was I just doing? I I can't remember. But it amplifies that feeling of, hey, uh, I don't know enough. Oh, I don't know enough about my project. In the desert, that's something to keep hidden and not tell anybody else cuz if they know, you don't know. You may be the one that gets tossed. In the forest, I don't know enough about bird migration patterns. So, I'll go find out about bird migration patterns. And the genie helps me to learn. Every once in a while, one of those weird pieces of information comes in extremely handy in in some kind of way that I wouldn't have predicted before.
The forest also amplifies being able to use the genie because you're not just trying to minimize uh your usage or maximize your usage. Neither of which make any sense. As engineers, we optimize, right? It's always a trade-off space. So, minimizing and maximizing neither strategy makes sense. But you can use the genie um and for novel things like that uh tool seed project.
So, this is where we are. We we have an amplifier. If we were making music before, we can make louder, better music. Now, I launched into this analogy without really thinking it through. So, bear with me. If we if what we were doing before didn't sound good, now it's just going to sound louder and not good. So, it's it's not there's not a veillance to the tool.
It'll amplify whatever it is that we're doing and whatever beliefs we bring in to the activities. Another uh thing that came up,
Unchecked AI generation burns long-term optionality
I think I talked about features and futures last year, but let me go through it quickly. This is a a way that I think about the difference what's lacking for one of the things that's lacking for me with the current set of tools and this is if we look about look at features on one axis what we see is we go fast at first and then slower and slower slower and slower and slower and slower and slower.
If you look on my GitHub, you'll see project project two, project three, project 4, new project, new project two. I never number the first one because that fir it's it's when I start a new project, I'm always sure I'm going to be able to complete it this time, but I go slower and slower and slower until I can't go anymore. And then I reset and start over and I start over and over and over. So where does that come from though? There's a hidden dimension to um development and that is the tidy first world. We called it optionality but here I'm calling it futures cuz futures and features and then you it's it's a little difficult but here's here's the
3 Highlight · AI accelerates the accumulation of technical debt
trajectory that the genie wants to do. Every time you implement a feature you burn some futures. You make it that much harder to add the next feature. You can burn faster and slower, but you're gonna burn a little bit more. But then the genie gives you the finger guns, says, "Okay, I finished that feature. Do you also want this?" And you say, "Sure, go ahead."
And then, "Sure, go ahead." And then sometimes it just does it without asking you, which always bothers me. And eventually we get down here where making changes even with a power tool has become prohibitively expensive. The genie can't fix one bug without introducing two more. One of the strange observations that I make about the I'm not going to say productivity because it's not let me I'll I'll I'll finish the thought and then we'll get back to productivity.
One of the observations I make is not that we get what we used to be getting only faster or cheaper. We're getting worse software faster. coming up with software at the same level of external quality seems to be beyond the genie's reach. And it's because it's not part of the objective function that the genie's trained on. It it wants plausible deniability.
Wants to be able to say, "Okay, boss, I'm done." And for you to say nothing in return. Okay, that's success. That could be because the genie had just done a really fantastic job and now you had more stable software, but it could also be because it produced so much crap that you just can't bear to look at it all. So that's that's the kind of natural trajectory. Now the progress we've made as software engineers is it used to take you teams of 10 or 100 10 years to get your software to the state where you just couldn't change anything. Now we can do the same thing in an afternoon.
So all right we can get to the same
disastrous state but the alternative is a trajectory like this. Yes, you do the same. There's no magic bullet here. But once you've finished that first feature, you have the option to look around and say, "Huh, what would have made that feature easier to add? What would make the next feature easier to add?" And then the next feature, and then again, you've got this gap.
The next one, and the next one, and the next one. And this is the trajectory. That red trajectory is the trajectory that I want to take in my projects. Uh when I'm an investor in a company, that's what I want to see. I don't want to see how fast we can get the first five features out. I want to see how much optionality people can preserve because options are more valuable as volatility goes up. And oh my goodness, is volatility going up.
So having more features and fewer options is actually a less valuable less economically valuable project than having lots of options and enough features to survive. So I apply this all the time. Once I saw this diagram, that's just how I think about it. Those vertical jumps though, [sighs] those vertical jumps are really hard to do in the desert.
Because you see there's no feature progress. So somebody comes and says, "Why are you wasting time on this?" I remember the first time I I did um contract programming on Wall Street. I explained my process and thorough and refactor this and test that and la. And the bond trader guy said, "Uh, well, how much sooner could you give it to me if you didn't do all that crap?"
And I said, "Well, it would take twice as long." So, he didn't like that answer but it wasn't my job to make him like the answer. It was my job to get him software. Then I ended up getting paid twice for that job. That's a long story. I'll get to that some best gig I ever saw. So these vertical jumps are hard to do in the desert in the forest. They're perfectly natural normal part of every day. You'll notice you don't put a lot of effort into the moving futures all at once. You do it a little bit at a time so that there's a regular rhythm of features going out.
And this has been a part of extreme programming since ever. I tell you what, relationship advice, saying I told you
Current AI tools ignore foundational human needs
so, is a real relationship buster. You should just avoid saying I told you so at all costs because it just doesn't help no matter how satisfying it feels. XP software development, agentic development, I'm biting my tongue.
But when people say, "You know what? We have to be close to our customers in ways we never have been before." I'm just like, [snorts] "Yeah, okay. You betcha." H So yeah, I thought this would have some emotional impact. I can remember the first time my friend Keith Adams told me about large language models and the fact that they could produce syntactically correct software.
I just I just thought that is ridiculous. This is this is before chat GPT hit. I just thought that's the that's the dumbest thing. This next token predictor can get parents to balance. Really? I don't I just don't believe it. The amazing thing is that this thing works. That we can get it to play tricks. That we can get it to actually do useful things that we didn't predict when we started that it would actually be able to do. We still can't tell you why, but we found this shiny object and we picked it up and we're we're looking at it. We're kind of waving it around.
and thinking, whoa, well, what else can it do? And what else can it do? And what else can it do? The focus in so far in the uh building tools around large language models. The focus has been on what can this model do because we didn't know. And what I have to say today is that's enough.
Too long we have focused on what we can do for the model. How can we change programming so the model can do a little bit better at producing worse software for less money? too long that's been the focus. And so what I'm calling for now is uh a change to a focus on human needs.
Take something like um let me find my notes. Oh yeah, I wanted to tell this I want to tell this story. You know the uh juuh just add egg story. So cake mixes came out, instant cake mixes came out and they didn't sell very well. You just add water and you stir them up and people weren't buying and people weren't buying and people weren't buying and they're like, "Well, what's like why why aren't people buying?" So they went and interviewed a bunch of the purchasers and said or the the people who weren't purchasing and said, "Well, what what what's the problem? You know, it's a faster way to get a cake. Less mess, more less variability, you get a cake.
Why wouldn't you want to do that?" And the answer was, it doesn't feel like making a cake anymore. So they took the powdered egg out of the cake mix and put on the instructions, whip up one egg and add it to the cake batter. And that caused sales to skyrocket because suddenly it felt like making a cake again.
So this is a classic story in uh in the history of marketing about how sometimes the problem isn't with the message. The problems how it feels to use a product. Preparing for this talk I said uh went and searched to see you know tell me more about this egg story like how did it really happen?
Sadly, it didn't actually happen that way. But it's too good a story not to tell. But I have to tell you, no, that's not what really happened. What really happened that caused cake mixes to take off was uh the introduction of frosting, instant frosting, cuz that felt so you'd bake this cake and then you'd frost it and that was a very individual thing.
And you know, so then classes about frosting and de cake decorating became popular and blah blah blah. And that's what caused instant cake mixes to take off. It wasn't the egg thing. But the egg thing is what's wrong with the current set of uh AI based programming tools.
Take a need, a human need like competence. People need to feel good at what they're doing, especially if it's your day job and it's something you're doing all day every day. You also need challenge. That's a separate issue that's also not addressed by the current set of AI based programming tools.
How do we get competence? How did we get competence? You know, in the before times two years ago, you you'd go through this sequence where there'd be a problem and then there'd be some struggle. Oh, what's going on? I have a bug. I don't know what it's I don't know what's going on. And then there'd be insight.
Ah, I see it. and then there'd be a solution and you get a little hit of the happy
4 Highlight · Outsourcing struggle leaves developers feeling hollow
brain juice that tells you, hey, you did a good job. The strug but the struggle was part of it. So what happens with the genie? With the genie, we outsourced all of this stuff. You identify a problem grind grind grind. finger guns fixed it for you boss but there was no struggle and without struggle there can be no victory. So, I come out of [clears throat] a day of using uh the genie feeling hollow, even if I accomplished a lot, because none of it was the kind of labor that gives me insight and satisfaction.
So take something else like another
human need like connection. Oops. We need to be connected with each other. To my fellow autists, I'm sorry. I apologize that this is true, but we need to be connected with other human beings. Yeah, but here we are.
Along comes the genie and now one person goes so fast they they can't possibly share a code base with another person. So we'll give each person their own little repo and make sure that they don't have to interact with other people. Now we'll give them a we'll give them a decaf version of connection. You'll have a bunch of genies, not just one. You'll have a bunch of genies and you'll interact with them. And we'll make up for the fact that it's not actual human connection by giving you so many genies that you don't even notice that they're not human anymore.
But where's where is this that sense of connection between people? It it's not part of that agentic process. Um the the ideal this dark factory idea almost said a different word the dark factory you just set it up going and it makes all the software and you don't have to do anything. You don't have to think about anything.
Where's the egg? There's there's nothing there's no nothing for me to do in that process. I don't want to be part of that process. I don't want to set up a dark factory and just come back 30 days later and a million dollars poorer to find the software kind of finished and kind of working. It doesn't meet my needs as a human being.
take another human needlike purpose. If we're all working together on some software, it's easy to remind ourselves. It's not e it's possible to remind ourselves. We can set up our team to remind ourselves of why we're doing this and why we're doing it together and why that's worth it.
But if you go off in a corner and and this is this is why I despise the the Jira ticket abstraction already is I I don't have a sense of purpose if I just fill out tickets until they're good enough that I can pass it off to the QA department. Like why am I even doing this? Why is this worth more than Why is this worth one of my even one of my limited seconds on the planet?
Once I started listing these, I could keep going and keep going and keep going. all of the human needs which are go completely unmet in an augmented development world given the current range of tools and so I say enough it's cool that the genie can do all the cool things that it can do and it's time to reorient that towards the needs of human beings because software is by people and for people.
Now, maybe that makes me a fuddy duddy. Maybe software really is by agents for agents and I don't even need to look at it. But I I look at the decisions made by the genie now and I say, "No, this is not good enough. The the results aren't good enough. They're cheap, but they're not good enough. I still have a place if if I'm going to be involved in this process of building software.
I want a tool that's biased towards my needs and not simply towards its needs. I can understand how we got here, but it's time little homework. This is a wonderful, wonderful book. You'll never board another airplane the same way again. In a good way.
Uh the the description of flat rivets is riveting. Sorry. Uh you know, originally planes were were built with rivets, but the rivets aren't aerodynamic, so they had to have the rivets be flat, but if the rivets are flat, then they just people die. So the process of figuring out flat rivets took years and started with the engineers before it went to the scientists.
That's part of the message of this as we're building new things. We're not It's not that we're lacking some theory. It's that the engineers have got to get to engineering and then the scientists can come up with explanations for why the things that worked worked and why the things that didn't work worked didn't didn't work.
Anyway, a fun book. side side note, but you know what I'm calling for, what I'm
Reorienting tools around human growth and connection
preparing to um put my time into is going to need a process that'll develop new capabilities that we can't really explain yet, but that focus on human needs. So, what's this? What is this going to look like?
I want a tool that promotes human connection. Oh, it's interesting that you're working on this. Uh uh Fred made some changes to this last week and would probably like to talk with you about it. Okay, that's helpful. Now I have a reason to talk to Fred that I didn't have before. uh connection with users.
Yesterday I had the 10,000th conversation about how having users actual domain experts involved in development is just too expensive and if you had the luxury of that and uh I think the genie though can be a vehicle for human connection with the actual users with investors with managers and I want tools that help that
5 Highlight · Designing AI tools to automate toil while preserving struggle
the tool should automate toil every time it says can I change directories to blah blah [sighs] I just think this is wrong. This is not a leveraged decision for me to make. At first, at first those stupid little questiony prompts at whatever level, at first it made me want to just stare at that one session and then it pissed me off.
So, what would tools look like that were attempting to automate toil at the same time that they preserved struggle? I don't want a tool that makes programming dead easy. I want a tool that surfaces actual difficult decisions that I can make and gives me the assistance to make those decisions wisely and then communicate them to the people who need to hear about them.
Now, I realize those two principles are kind of in conflict. How do you know what's toil and what's struggle in this beneficial way? Boohoo. If this was easy, regular people could do it. This is going to be difficult. Um, I'd like a tool that surface surfaces choices.
I try ridiculously
that's choices. There we go. My handwriting is getting shaky. Um, I I try ridiculously ambitious projects like let's build small talk over from scratch and see what happens. In the process, the genie is making too many decisions for me. It's not helpful.
I would like choice points where I could reasonably weigh in or I might learn something. I would like the genie to surface those and say, "Okay, well, here we are and we're deciding what file format blah blah blah blah blah blah blah blah." Okay. Hm. What's the tradeoffs? Let's build some prototypes. Make the decision like that. Now, I've learned something.
I understand more about the the software that I'm building and given the current state of of the decisions the genie makes I'm going to get better results at the same time. I want a tool and again this is not an exhaustive list. I want a tool that encourages learning. Currently, I can get the genie to help me learn.
Okay, I'm operating in Rust. What is up arrow colon colon open curly brace? What does that mean? Oh, well that's a blah blah blah blah. Well, what is that? Uh back and forth and back and forth. I can learn when I'm programming with the genie, but I have to I have to uh deliberately um in stop the process that it wants to take and have it teach me things and then I'll I'll go ahead and say, "Okay, make me a flash card for that and quiz me on this seven days from now." And that kind of thing.
Imagine I I'm assuming most everybody's using LLMs for for development now. Um that feeling at the end of the day of genie wrestling for me it's a mixed bag. I'm a I'm happy at all I've been able to accomplish.
I've been frustrated along the way. But I also feel hollow. The things that made my job both valuable and enjoyable, those things have been taken away from me. I want them back. Take that feeling of hollow accomplishment. Yeah, I I guess I got a lot done with imagine a day you spent a day with a tool that promoted human connection.
that automated away the actual toil that helped me through the struggles to insight to solution that gave me choices that I could contribute to and learn from and that helped me learn throughout the day. Imagine using that tool for an entire day. How's that going to feel at the end of the day?
A feeling of satisfaction, a feeling of purpose, of belonging to something larger than I am, a feeling that I've actually my efforts have contributed to accomplishments and progress. That's the feeling that I want from the tools that I use dayto-day. [sighs] And we can do it, but we're going to have to do it. Somebody's going to have to do it. somebody else than the people who get paid more when we use more tokens.
Thank you very much for your time and attention. I appreciate it.


