This is Part 3 in a series of reflections on AI over the past couple of years (Part 1: Skepticism, Part 2: Fatigue). Presented as my thoughts and emotions, YMMV.
Oh, joyous toy #
Summer 2021, I was toying around with the OG technical preview for GitHub Copilot.
I pulled my coworker, Brad, into a Slack huddle, as I often did when I found something shiny. I liked working with Brad. He was pragmatic and would humor my delusions. I'd rant to him about whatever was on my mind, and he would nod along until I felt heard. Then, we'd both go back to writing Next.js and GraphQL and pretending things were ok. Everyone should have a Brad.11 If you are a Brad, thank you.
I remember that huddle, the awe at the awkward-but-functional autocomplete Copilot spat out to Leetcode problems we threw at it. I remember Brad mostly not saying anything. A lot of "...huh."
Not a good sign from Brad--he's supposed to bring me back down.
Back then the UX was... dodgy? Make comment, hit tab, get code. In the eternal words of Ryan Lockwood (Streets 1:12), what a rush.
Brad and I (innocently) joked about how maybe kids wouldn't have to learn to code anymore! Just press tab, ha ha. That made me remember how I wrote my first programs: flailing around in DOS, frustrated, my dad consoling me... "no, no, that's how it's supposed to feel."
And he was right. That is how it's supposed to feel. The challenge prepended the reward. It came slowly, a nice drippity droppity of dopamine that kept me coming back for decades.
Conversely, Copilot was all rush, minimal flailing. But is that it? Obviously I think not, otherwise I wouldn't be writing this. Much of AI discourse is polarizing. Give me sweet nuance!
In this essay, I'll present some of my current thoughts on the nuance:
- hand coding (+ thinking via writing, planning, communicating) still matters, maybe more than ever
- agentic engineering is powerful and easy to misuse
- there is a middle ground that is worth exploring
The pendulum #
Over the past 5 years (??? seriously how has it been that long) of using AI, I have swung on the pro-anti AI pendulum back and forth, back and forth. I have drunk and administered the kool-aid. I have also been a staunch critic. I have questioned my relationship to AI, the ethics surrounding it, and its impact on the environment, society, and communities. Big, scary existential questions.22 I know I'm going to play into the trope, but I've been an ethical vegan for going on two decades. I can't die on every hill, but the ones I do die on I try to take seriously.
I have feverishly run agents well into the night. I have also sworn off AI for weeks at a time, citing burnout symptoms and apathy.
What kept pulling me back, every time, was latency, particularly low latency. Latency is a funny word. I'm going to say it a lot, so let me be precise about it.
latency (n.): from the Latin latere, "to lie hidden." The delay between stimulus and response.
I have a thought, some intent, a bit of info, and I'm waiting on a response. Literally, it's the stretch where the answer is still hidden. Fitting, because the costs of low latency tend to lie hidden, too.
Latency is two-faced. Low latency is what made Copilot feel like a slot machine. Low latency is also what makes a lab instrument useful. You try something crazy, see the result, adjust, try again. Same idea, different connotation.
At the start of this year, I ran a structured experiment on myself and wrote up what I found. tldr: with heavy AI use, I started more low-value things and finished fewer. I shipped more and was ambivalent about what I shipped.33 Oh! It isn't just me. There's industry-scale data on this now too, and I'll get to some of it. But this essay is mostly about feelings.
So like any good burnt out dad, I took some time off. When I came back, I tried to use AI more intentionally. AI allowed in dayjob. No random side projects. Hand-coding katas. That felt sustainable.
Done coding with AI #
Then, midsummer, the pendulum swung again.
I was sitting on my back porch eating lunch and watching YouTube when I came across an innocuous video titled "I'm done coding with AI" by Brett Codes.
Brett describes a journey similar to mine, back and forth on the pendulum. He expresses issues he has had with it, some I agree with more than others. What got me, though, was how he didn't feel his experience with AI was aligning with his values. Brett values integrity, something I cherish in my work these days.
Maybe it was my general annoyance at the results I was seeing, maybe the midsummer Ohio sun hitting me just right, but Brett's uncut monologue resonated.
I stopped using AI for three weeks after that. I turned it off in Zed, dropped my harnesses from my nix setup, hung up my tokens at work, and toggled it off in my search engines. I didn't go around criticizing people who got value from it--it felt like a personal decision.
However, during those weeks, I didn't feel the kind of uplifting energy that Brett did. I did feel better, enjoying the friction, the satisfaction of coding and problem solving by hand. I felt better not throwing tiny things at my clanker which didn't warrant clanking on, or shouldn't have been clanked in the first place.
But it didn't feel like all was somehow right in the world.
Part of the problem, I realized, is that I'm genuinely fascinated by the science and technology behind LLMs. I grew up in ye olde early 90s, young enough to be infatuated with the rapidly evolving digital world and early enough to have to figure most of it out myself.44 Or I'd ask my dad, to mixed success. He was the epitome of the "are ya winning, son?" meme.
Part of me felt like I was rejecting my fascination in favor of some mushy idealized version of craftsmanship, wherein AI usage is binary and absolute. I think this is a trap.
One of my favorite quotes is from Anne Lamott's Bird by Bird:55 A book cleverly disguised as "writing advice" but is actually Anne explaining that in order to do that interesting thing you want to do you're going to creatively spiral into the abyss and come out with tentacles for eyes but it'llbeworthittrustmebro.
"I used to think that paired opposites were a given, that love was the opposite of hate, right the opposite of wrong. But now I think we sometimes buy into these concepts because it is so much easier to embrace absolutes than to suffer reality. I don't think anything is the opposite of love. Reality is unforgivingly complex."
Adam Grant makes a similar case in Think Again. He says when we argue about complex things, we tend to reduce them to neat little buckets, and the buckets isolate us from each other. When we add nuance, the convos often progresses.
"Use AI" or "don't use AI" is a pair of leaky buckets, a false, slightly damp dichotomy that smells of rust and mildew.
The smith and their anvil #
Craft, to me, is active. It implies process, direction, and intention. It's creating something in a way that puts your identity into the work, and in turn, the work imprints on your identity. The smith shapes the metal on the anvil, and over years of smithing, the anvil shapes the smith too.
I think AI is part of the anvil. A new, magical anvil that sometimes tells you useful things and sometimes throws up on your apron, which you have to then explain to your fellow smiths.66 I, uh, recognize the wee bit of irony in using the vestigial profession of blacksmithing as my analogy.
And so we have a dilemma. My biggest (personal) concerns are still skill atrophy and cognitive debt, the smith slowly degrading, producing homogenous longswords instead of anything interesting.
I love programming and building software, and I know (I measured!) that I grok what I'm building better when I'm primarily writing it by hand. I'm in it for the long haul.
However, and maybe it's the copium talking, but I'm not sure the answer is to throw out the anvils, rolling our eyes at our coworkers' vomit covered aprons, as self-gratifying as that may be. I think there's a way to use AI to improve the craft and hone the crafter, to expand what's possible without degrading the smith.
In practice, right now, that means a split.
I hand-write the code that is the craft, e.g. API design, the parts I need to understand deeply and be able to explain in a meeting, the parts I don't fully intuit. The parts that make me happy. I use AI for the instruments around the craft... the comparisons, the benchmarks, test generators, prototypes, approximate migrations, research where I don't care about the journey to the answer, where I'm not looking for the detour that might be on the way to the waterfall. Or where I just need to hold my nose and pump out some React components.
Latency, in practice #
I've recently been spending a lot of time with Datastar, a hypermedia framework that's making waves in some bleeding-edge corners of the frontend hivemind. When I build a feature, I can build it in Datastar and in React (or [insert competing technology]). I can safely ship the boring React one, keep my health insurance, get an approximation in my Datastar stack, and then measure, benchmark, and observe the two.
Okay? So what? I could do all of that without AI.
Yes, and... it's an investment! Often that investment is worth it, often it's a frustrating argument with stakeholders.
Building the same solution twice, the benchmarking suite, and still having time to do the quality analysis I want is a much harder sell to my boss. With a relatively trivial amount of effort 77 I want to stress my point is not to move quality engineering or analysis wholesale to AI. It's one example of high-leverage work that is (often) costly/ignored in an organization. It's still valuable to measure yourself and double check results! But I'm not going to parse thousands of lines of logs or unravel HAR files faster than an LLM. Useful skill, it's not the skill I'm interested in. YMMV., AI gives me the approximation, and I get hard numbers to inform an actual engineering decision. It's still work, but the latency is low enough that the possibility space for how I work has opened up.
It reminds me of a Bret Victor talk Inventing on Principle. In it he demonstrates how critical the feedback loop is for inventing. When you can see the result of a change immediately, solutions open up that you'd never consider if you were waiting minutes, hours, or days. He goes further, emphasizing that missed ideas are a kind of moral wrong, and encourages us to build interfaces that give us more control over faster feedback loops.
Generalizing, more control and faster feedback means higher quality and a bigger possibility space, which means novel solutions.
Consider performance engineering.88 See: measuring, the horror...
In the paradise that is product development, we like to pretend perf is a nice-to-have, something only Steve, our grizzled performance engineer, cares about. We picture him hunched over his flame graphs, shaking his balding head at no one in particular.
But Steve knows things. Steve has seen some proverbial shit. Steve knows latency is the difference between MapQuest and Google Maps. Between a working product and an incident.
And yet perf is fashionably left to the periphery of our industry, done only in large orgs with hallmark enterprise lethargy, after they're forced to pay attention to the "sudden" influx of user complaints on marginal devices. AI makes measurement (more) accessible, particularly to undisciplined orgs.
The benefit I'm seeing isn't some 2, 5, or 10x in development speed. It's that I can take the ideas in works like Cal Newport's Slow Productivity (Do Fewer Things, Work At A Natural Pace, Obsess Over Quality) and use AI strategically in service of them. Slow work, fast loop.
At least, that's the idea.
Across the industry, the loop seems to be heading the other way. DX's data puts the median throughput gain from AI at just under 8%, while the median pull request nearly doubled in size.99 DX tracks AI's impact across hundreds of engineering orgs. Note they sell developer productivity measurement and their customers skew toward orgs already investing in developer experience.The throughput number is from their study of 400+ orgs over 16 months. AI adoption up 65%, median PR throughput up just under 8%. The rest is from their Q2 2026 report. Developers report saving about 6 hours a week (up from about 3 a year earlier), yet the share of time spent on new work barely moved (57% to 58%). Median PR size went from roughly 42 to 72 lines. Their Developer Experience Index fell for the first time, from 67 to 65, dragged down by local iteration speed, incremental delivery, and review turnaround. Code maintainability rose 3.8% while change confidence fell 6.1%. On the bright side, documentation and onboarding improved, and smaller orgs (15 to 99 engineers) are pulling ahead of large ones. More code per change, slower reviews, longer loops.

Discipline #
In the words of Brad, "...huh."
I'm figuring it out. It's hard. It isn't an all-in acceptance of AI doing everything, which I'm still staunchly critical of, nor is it an outright rejection of the potential value of AI as part of my workflow.
Using AI well requires extraordinary discipline, and I'm positive the conversation isn't as simple as I might want it to be.
Not everything should be built. Just because you can, doesn't mean you should. Every time I reach for an agent, the question is whether the result will feed my understanding. Will it shape me the way I want to be shaped?1010 This goes double for art and anything creative. Using AI is pressing the easy button, and if the act is the point, offloading it robs you of exactly that. Brandon Sanderson says it best in this talk: "We are the art." Is this vomit on my apron or sweat?
Values #
Which brings me back to Brett, and to integrity.
I said abstaining felt like a personal decision. I've been vegan for a while, and I've reached for that as the comparison. Here's a technology with real costs to the environment and to communities, built by labs that hand-wave the legal and ethical questions. Why not abstain, the way I do with animal products?
Is it a fair comparison?
Veganism, at least as it applies to non-human animals, feels more cut and dry to me. Look inside a factory farm and you either hold that reality at arm's length, or you acknowledge it and abstain. (It isn't actually that simple either, as many will point out, but you get what I mean.) AI doesn't resolve that cleanly, at least not for me. It's one of Lamott's false paired opposites.
I would like to see a world where AI is used and built responsibly and we don't plummet head first into enshittification or worse. My gut is that means getting more involved, rather than putting my head in the sand and scoffing at the juniors DeStRoYiNg programming.

Resolve #
It's not much of a conclusion, but this is where I'm at. I'm committed to staying introspective, calling a spade a spade, looking for data, and keeping an open mind.
I reserve the right to change my mind. Right now, I feel conflicted and curious.
Conflicted because of the packaging around AI, the obsession with commoditizing it, and the shaky societal impacts looming as we plunge into a technology on the heels of seeing the destruction social media has wrought. Because of the environmental and community impacts, and the general blasé hand-waving of frontier labs at the legal and ethical dilemmas being raised.
Curious because I, perhaps naively, am optimistic about what responsible, disciplined use of LLMs for building could look like: use that doesn't delegate away the satisfaction or lead to burnout and apathy. Use that doesn't glaze over 10,000 lines of code and rubber stamp it.
Thank you, Dad.
-
If you are a Brad, thank you. ↩
-
I know I'm going to play into the trope, but I've been an ethical vegan for going on two decades. I can't die on every hill, but the ones I do die on I try to take seriously. ↩
-
Oh! It isn't just me. There's industry-scale data on this now too, and I'll get to some of it. But this essay is mostly about feelings. ↩
-
Or I'd ask my dad, to mixed success. He was the epitome of the "are ya winning, son?" meme. ↩
-
A book cleverly disguised as "writing advice" but is actually Anne explaining that in order to do that interesting thing you want to do you're going to creatively spiral into the abyss and come out with tentacles for eyes but it'llbeworthittrustmebro. ↩
-
I, uh, recognize the wee bit of irony in using the vestigial profession of blacksmithing as my analogy. ↩
-
I want to stress my point is not to move quality engineering or analysis wholesale to AI. It's one example of high-leverage work that is (often) costly/ignored in an organization. It's still valuable to measure yourself and double check results! But I'm not going to parse thousands of lines of logs or unravel HAR files faster than an LLM. Useful skill, it's not the skill I'm interested in. YMMV. ↩
-
See: measuring, the horror... ↩
-
DX tracks AI's impact across hundreds of engineering orgs. Note they sell developer productivity measurement and their customers skew toward orgs already investing in developer experience.
The throughput number is from their study of 400+ orgs over 16 months. AI adoption up 65%, median PR throughput up just under 8%. The rest is from their Q2 2026 report. Developers report saving about 6 hours a week (up from about 3 a year earlier), yet the share of time spent on new work barely moved (57% to 58%). Median PR size went from roughly 42 to 72 lines. Their Developer Experience Index fell for the first time, from 67 to 65, dragged down by local iteration speed, incremental delivery, and review turnaround. Code maintainability rose 3.8% while change confidence fell 6.1%. On the bright side, documentation and onboarding improved, and smaller orgs (15 to 99 engineers) are pulling ahead of large ones. ↩
-
This goes double for art and anything creative. Using AI is pressing the easy button, and if the act is the point, offloading it robs you of exactly that. Brandon Sanderson says it best in this talk: "We are the art." ↩