I feel his pain. I am more towards the opposite end of the spectrum [1]. I program to get things done. Usually, I don’t like programming. It’s too focused on one thing. Sometimes I like it though, precisely because it’s focused on one thing. But I love the things you can imagine and build with it. So for me, LLMs are amazing because I get to be an idea guy when I want but sometimes I can go deep, also when I want. I’ve kept up too, so I have the experience backing it up.
With that said, when I read this blog post. I feel the author’s pain. And it’s the first time that I emotionally get what the other side of the programming spectrum feels what it has lost. I feel sad about it. And because of it, I will also wonder about ways of bringing it back.
[1] not fully though. Something I can love coding by hand for months.
IMO assisted coding (auto complete style) has more flow state than the old days of getting stuck on obscure bugs (as satisfying as those were to crack).
Full agent coding however is the complete opposite, you’re in constant damage control of a junior who moves fast and breaks everything. They’ve got better but still do dumb mistakes.
lot of engineers are discovering firsthand what it’s like to manage a team of eager but useless employees. Not fun at all
> IMO assisted coding (auto complete style) has more flow
I find this impossible to wrap my head around. Any time I autocomplete more than a single line, my flow is destroyed when I have to review what was just autocompleted. The only way I could remain in "flow" in this circumstance would be if I didn't review the code... I'm not ready to trust the LLMs that much yet
Everyone is talking about the agents part. I'm going to praise this post for describing it very clearly that some people, from a young age, don't need phases, growing up, trying things, figuring out, exploring the world, finding themselves.
Some people are just born something (engineers, in this case), and they're that something for life.
I always have a hard time explaining to "normal people" that such life is not boring at all, in fact, I can't remember a single time in my life where I was actually "bored".
People are blown away when I tell them that, in the last 6 months, my job of coding has changed entirely, and that I now write very little code, but instead manage agents who write it. It is still engineering, and I still very much care what that code is, it's interfaces, how it interacts with the world, how it is tested, etc. etc., but it has taken me a while to get used to the idea of me not writing the code. I'm still not sure how I feel about it, although I am getting more done, and it has helped me keep better focus on "the big picture". That is tough to do when your day is spent in the weeds.
I don't code (well, I write scripts for my own personal use and use Emacs), but I follow with interest these reports from software developers. Why? Because my profession is similar screen- and keyboard-based intellectual work, and what has come for devs will probably come for many other careers.
Ditto. I programmed for 30 years with Underworld on. Listening to the beginning of Juanita/Kiteless instantly drops me into flow state. And it no longer fits if I am using an agent. I appear to be almost the same age as the writer of the post; just a little older. And I got that grocery store job.
So I am working on a personal OpenBSD-related project. I have no idea if it will ever see the light of day. It scratches an itch and I am having fun doing it, and I don’t use AI. It’s forcing me to read man pages carefully and OpenBSD source code (side note: the lack of comments in their code is almost a “fuck you”).
Programming with Claude is still engineering. It is like designing a bridge, which remains engineering even when a worker pours the concrete instead of you.
In the past we were forced to pour the concrete ourselves. I understand how many of us enjoyed the sound and the smell of the concrete being poured. Myself, I’m happy to never get my hands dirty again, and focus on the actual engineering.
Thanks for this perspective. Do we really miss typing ascii characters into an editor? That seems to me the least consequential and least interesting part of building software systems. Always has been.
Dare I say those stuck on nostalgia for pressing keys are demonstrating that they cared more about their own personal experience than about the outcome of their work? Now that coding is automated, we have to elevate our ambitions.
Ironically, Phish's music emerges from egoless expression (to paraphrase keyboardist Page McConnell). Giving up your own personal stake in the process is literally what brings something as beautiful as Phish's music into existence. We need to do the same with our software; give up the notion that "our" code is meaningful.
I think concentrating on the physical act of typing on the keyboard is maybe taking it a little too far. The author of the OP talks more about holding a lot of the problem in their head and entering a "flow" state where they figure out a solution.
Most of my interaction with AI models and agents is still mediated by a keyboard and still requires a lot of "typing ascii characters". ;-)
> Do we really miss typing ascii characters into an editor?
Yes.
> Dare I say those stuck on nostalgia for pressing keys are demonstrating that they cared more about their own personal experience than about the outcome of their work
I care about the outcome, which is why I don't trust it to a fucking LLM made by people that will jack up the price to use their models the moment they think they have the market captured
lmao, I think I read it here and then I proceeded to think I came up with it myself. I’m a fraud. (I put “concrete” into the search field and found it)
I was with you until the last three words. Craftsmanship in writing code is also “actual engineering”, it’s just not the engineering that people will pay a human to do now.
Chemical engineer here - I look at this similar to how a lot of professional engineers work, drafting gets passed off to eng techs, pfds get passed off to eng techs... The "actual engineering" is in the ideas, the applications, the reviews, and most importantly the final accountability.
Watch out, before you know it Claude is the one doing the engineering! If there's a problem, unraveling that snarl will be a decent amount of focused work that may even require people being in some sort of "flow" state. ;-)
Yeah honestly. I could easily architect the thing out but coding it is so boring. I love this new paradigm and sometimes the LLM even suggests a better architecture!
Reading this, I felt a familiar kind of sadness.
I have also felt some version of this recently: the sense of loss, and the question of whether I am still a “real programmer” if I am no longer writing code in the same way. There is a strange grief in letting go of a skill that once gave you pride.
But when I think about it from the author’s position, I may actually have been lucky.
For this person, writing code may have been a way of life. In my case, I only started doing field work and using AI relatively recently, so I was able to adapt faster than I expected.
If your whole way of life changes, the shock must be much greater.
In contrast, I had no real status or social position to protect, so perhaps it was easier for me to let go. If I had tried to compete fairly and directly, I could not have beaten the experience and accumulated skill of veteran programmers.
Of course, my ability to write code was something I was somewhat proud of. Giving it up was painful, and it brought regret and a sense of inferiority. But at the same time, I also find myself thinking: “Was I really supposed to fight against veterans like this?”
Recently, this feels very similar to Durkheim’s concept of anomie. While reading this, I kept thinking about categories such as conformity, innovation, ritualism, retreatism, and rebellion. There are many points here that make me think.
If, in the future, coding changes again from today’s agent-based coding into some other form, what will happen to me then? By observing how senior programmers are reacting now, perhaps I can draw my own conclusions and prepare for that moment.
Right now, agent-based coding that depends on specific companies is dominant. But I think the current price of agentic coding is too cheap. At some point, when it becomes more expensive, local LLMs may become mainstream. If that happens, damaged or weakened code-writing ability may become necessary again.
So the question is: how should I prepare for that?
I understand that commercial companies want to get as much value out of each developer as possible, I understand that managers want work to complete as quickly as possible. I can see why they are so excited about LLM tooling and the current increase in output.
This post makes a good point: managing LLM models isn't really the same thing as thinking hard about a particular problem, solving that problem and then concretizing it in code. If the work becomes managing models, I think we're going to see a pretty stark divergence between what people enjoy about developing software today and what the job is requiring. I'm not yet convinced LLM tooling will stick but, if it does, it makes me wonder what kind of person will be doing software development. Maybe some of same people and they find something else to enjoy about the job but I bet a lot of a different kind of person.
Personally, I am very uncomfortable with the idea that all software development might be mediated by LLM tooling and, as a consequence, require payment to a large corporate entity like Anthropic or Google. Hopefully some open source projects will remain open to accepting PRs from people, like the author of the OP, who enjoy working in that "flow" state. I enjoy writing software as a hobby (as well as at my job) but it looks like the hobby might become a larger source of personal fulfillment.
> I'm not yet convinced LLM tooling will stick but, if it does, it makes me wonder what kind of person will be doing software development. Maybe some of same people and they find something else to enjoy about the job but I bet a lot of a different kind of person.
TBH, I've often felt like a weirdo who enjoys "the wrong things" about software engineering.
Our dormitory had two roommates, science majors, who always listened to rock music while studying. If their door was closed and you could hear music, they were lost in thought.
I never could study to music and much preferred studying in a quiet carrel in the university library.
We’re a long way from figuring out how to get flow state with agents. Maybe some sort of less stonerish upper-based master of the universe overseeing 100s of agents manic state.
I think there’d be a lot of demand from long time engineers that loved working in flow state to build tooling that encouraged flow. I think tokens/s needs to get like 10x faster first, because you’re going to be heading into a world where you are receiving very soft and non-distracting suggestions, probably at the periphery of your consciousness. Most will be thrown away.
I can kind of imagine a UI for this. I might experiment a little building something, but it will be by telling some agents to build it.. :)
The thing about flow state is that it is about being deeply focused on one thing. I’m not sure that orchestrating hundreds of agents will help—it’s not really about “CPU load”, at least, not for me.
I HAVE found another way to achieve flow state. Hand tool woodworking. Especially planing. There’s something about the rhythm of the tool, combined with the awareness of what the tool is doing, that makes the rest of the world evaporate, just like when coding. I could see myself doing that instead. Sadly there is even less call for slow woodworking than there is for slow coding.
> We’re a long way from figuring out how to get flow state with agents
its been the opposite for me. being able to create things with almost zero friction has lead me to have to slow down for my own sanity at times. I've had to setup "handcoding time" as a way to keep me touching virtual grass lest I completely lose myself building stuff at all hours.
literally thinking of taking up Haskell just to have a language that forces me to slow down and think in my off hours.
Yeah I agree — I don’t think I said what I’ve experienced very well — there is a different sort of state you can get in during a large multiagent session. But to me it’s more manic, not ‘smooth’ or peaceful. On a good day hand coding I will often feel groggy coming out of it, possibly subverbal, like I’ve recruited most of my brain to doing one thing for some time. I’ve never had a job that I could do that in, but I imagine the subset of engineers that do are pretty happy.
Tokens don’t matter if you have any slow deterministic processes. The bottleneck is already on testing infrastructure in the work I do. Screenshot tests are slow. Enormous codebases are slow. We have whole teams devoted to speeding these things up, so all I can do is get the agent to call the minimum set of commands necessary to check their latest iteration. This of course flies right in the face of the mountains of slow commands the harness tells it to use, resulting in chaos.
Long agent runs make such a difference. We focus a lot on new models and long context, but the bigger impact is in automatic verification.
I've been leaning in more on e2e test suites. They are slow, brittle and inefficient. But that's almost a feature. I can step away and come back an hour later, and use that time to think about bigger problems.
For me it’s the dead. Most days I’d listen to one or two shows from today in history on relisten.net/today.
I’m sysadmin not a dev but I also feel that managing an agent is a fundamentally different feeling than performing admin work like I used to. I used to build bridges out of software. I would learn how they work down to the nuts and bolts, and use them to make robust and occasionally clever solutions for our needs. Over time i was getting better at bash and powershell and regex and automating little tasks.
Gaining knowledge about kubernetes and building images and helm charts was some of the most fun I’ve had professionally. I found enjoyment and value in learning those things and enjoy knowing them for their own sake, much in the same way I enjoy being able to recite mechanics and knowledge about vanilla wow from memory. The knowledge is its own pursuit and obtaining it was fun and fulfilling.
Using AI is nothing like that. It’s not “fun” to me in any way. I don’t learn bash and powershell and templating. I don’t get to enjoy simple wins. AI does those all those for me.
I’m thinking of becoming an electrician. I can’t imagine babysitting an ai for another 30 years.
I completely understand the active/passive difference but I have a question for you that I think especially applies to sysadmin: isn't the knowledge you have and your continual learning just as important if what you're essentially doing now is using an LLM to help you find problems, propose solutions, and test the solutions?
Maybe it's even more important since you've gone from crafting your own solutions to reviewing the viablity of solutions from the LLM which occasionally are going to introduce new ideas, do things in a similar but slightly different way to how you would, or even be subtly wrong in ways that also exercise your ability to adapt and learn and nudge it in the right direction instead.
I don't really understand how the alternative could be true, in the sense of your knowledge not being relevant, as that would imply a couple of things that don't seem true as of now: that LLMs always produce optimal solutions in any given scenario, and (as a corollary) that sysadmin is entirely automated apart from some sort of thin beurocratic human approval/deployment layer.
In my experience so far I've found sysadmin type stuff to actually be what LLMs help me the least with, excluding text-in-text-out scripts, precisely because the setup often has to be so custom to the system, there's loads of side effects that are hard to communicate to the LLM so it oversimplifies and gets things wrong often.
So hopefully you can understand the implied challenge behind the question. I'm not saying your feeling of it being less fun is invalid. But I'm really curious about what you said specifically about the fun of applying knowledge and learning having been diminished. What do I have wrong?
> The jams are built for one continuous arc of attention. The work is staccato.
Couldn't agree more. I'm personally okay with how engineering is changing. At the end of the day, the code is a means to an end for me. That said, the "queue" aspect of how software development is headed is so real. It's a different way of working, and I find the biggest challenge is staying engaged and tuned in while you might have agents take 30 seconds here, 2 minutes there, 5 minutes there, etc. It's easy to get distracted when waiting.
This is a brilliant, obscure, high-fidelity indicator that speaks volumes (pun? pun intended) about the change and—critically—casts the change in unambiguous relief.
Programming does not exist or, rather, programming doesn't pay. Whatever this is—vibe coding, agentic software development—it's a new and different discipline, and it may be the only game in town [citation needed].
It's not even been a particularly gradual change. It's been a stark, totalizing turnover in the last 18 months. I don't know how long this era will last (maybe we'll discover a new sort of operational scurvy, and this movement will be mocked and scorned as a ludicrously anemic fad) but it'll leave a distinct layer of discoloration in the geological record.
I've never really been into Phish. Lately, I've been vibing out to the hyperactive chiptune groups Anamanaguchi and Toby Fox. Justice also makes my playlist, alongside more pathos-laden groups like The Glitch Mob and Moderat.
Hell, once I get this teams-of-teams jj-and-weave harness firmly in hand, I can pop into Agent-of-Empires and drop the needle on some Al Hirt—Music to Watch [Pulls] By.
FWIW my workflow is hours of intense research and design being constantly interrupted by agents finishing/choking on the last plan my previous research produced.
I think this fits well with Phish's isolated monoculture. I also started listening to Phish in the early 90s and have only seen 30 shows or so. Every time I go to a run it is very comfortable. There have been times I havn't seen them for a a good chunk of a decade and the shows feel the same. Eventhough jams have been part of their much of their history variation in musical style hasn't been. That leads to homoginization that makes for great vibe music.
I was about to argue with "Old timey", but yeah, I guess any band that has existed for over 40 years is old timey. I've been a fan since '96. I guess we're all old now.
Am I the only one who doesn't get either side of this?
AI still sucks pretty bad at writing code. The only people I've ever known to need a "flow" state to write code are junior devs.
Everyone else is used to constant interruptions and has been through every layer of abstraction many many times. This is why those with experience find it so tempting to say this job can be automated away, but they forget how many gotchas there are, how they crop up, and how brittle all this crap always was. AI is actively making this problem worse.
With that said, when I read this blog post. I feel the author’s pain. And it’s the first time that I emotionally get what the other side of the programming spectrum feels what it has lost. I feel sad about it. And because of it, I will also wonder about ways of bringing it back.
[1] not fully though. Something I can love coding by hand for months.
Full agent coding however is the complete opposite, you’re in constant damage control of a junior who moves fast and breaks everything. They’ve got better but still do dumb mistakes.
lot of engineers are discovering firsthand what it’s like to manage a team of eager but useless employees. Not fun at all
I find this impossible to wrap my head around. Any time I autocomplete more than a single line, my flow is destroyed when I have to review what was just autocompleted. The only way I could remain in "flow" in this circumstance would be if I didn't review the code... I'm not ready to trust the LLMs that much yet
Some people are just born something (engineers, in this case), and they're that something for life.
I always have a hard time explaining to "normal people" that such life is not boring at all, in fact, I can't remember a single time in my life where I was actually "bored".
I’ve given up trying to get that feeling back at work.
We were lucky for 20 years, now if we want to do it for craft it’s time to contribute to OpenBSD or something — with phish on, not for money.
So I am working on a personal OpenBSD-related project. I have no idea if it will ever see the light of day. It scratches an itch and I am having fun doing it, and I don’t use AI. It’s forcing me to read man pages carefully and OpenBSD source code (side note: the lack of comments in their code is almost a “fuck you”).
I wonder if I should try out some Phish.
In the past we were forced to pour the concrete ourselves. I understand how many of us enjoyed the sound and the smell of the concrete being poured. Myself, I’m happy to never get my hands dirty again, and focus on the actual engineering.
Dare I say those stuck on nostalgia for pressing keys are demonstrating that they cared more about their own personal experience than about the outcome of their work? Now that coding is automated, we have to elevate our ambitions.
Ironically, Phish's music emerges from egoless expression (to paraphrase keyboardist Page McConnell). Giving up your own personal stake in the process is literally what brings something as beautiful as Phish's music into existence. We need to do the same with our software; give up the notion that "our" code is meaningful.
Most of my interaction with AI models and agents is still mediated by a keyboard and still requires a lot of "typing ascii characters". ;-)
Yes.
> Dare I say those stuck on nostalgia for pressing keys are demonstrating that they cared more about their own personal experience than about the outcome of their work
I care about the outcome, which is why I don't trust it to a fucking LLM made by people that will jack up the price to use their models the moment they think they have the market captured
Did I miss something?
"You're absolutely correct. I don't just need to exist-I need to justify why. It's like builders with concrete..."
https://news.ycombinator.com/item?id=47996022
I was with you until the last three words. Craftsmanship in writing code is also “actual engineering”, it’s just not the engineering that people will pay a human to do now.
But when I think about it from the author’s position, I may actually have been lucky. For this person, writing code may have been a way of life. In my case, I only started doing field work and using AI relatively recently, so I was able to adapt faster than I expected.
If your whole way of life changes, the shock must be much greater.
In contrast, I had no real status or social position to protect, so perhaps it was easier for me to let go. If I had tried to compete fairly and directly, I could not have beaten the experience and accumulated skill of veteran programmers.
Of course, my ability to write code was something I was somewhat proud of. Giving it up was painful, and it brought regret and a sense of inferiority. But at the same time, I also find myself thinking: “Was I really supposed to fight against veterans like this?”
Recently, this feels very similar to Durkheim’s concept of anomie. While reading this, I kept thinking about categories such as conformity, innovation, ritualism, retreatism, and rebellion. There are many points here that make me think.
If, in the future, coding changes again from today’s agent-based coding into some other form, what will happen to me then? By observing how senior programmers are reacting now, perhaps I can draw my own conclusions and prepare for that moment.
Right now, agent-based coding that depends on specific companies is dominant. But I think the current price of agentic coding is too cheap. At some point, when it becomes more expensive, local LLMs may become mainstream. If that happens, damaged or weakened code-writing ability may become necessary again.
So the question is: how should I prepare for that?
This was an interesting post.
This post makes a good point: managing LLM models isn't really the same thing as thinking hard about a particular problem, solving that problem and then concretizing it in code. If the work becomes managing models, I think we're going to see a pretty stark divergence between what people enjoy about developing software today and what the job is requiring. I'm not yet convinced LLM tooling will stick but, if it does, it makes me wonder what kind of person will be doing software development. Maybe some of same people and they find something else to enjoy about the job but I bet a lot of a different kind of person.
Personally, I am very uncomfortable with the idea that all software development might be mediated by LLM tooling and, as a consequence, require payment to a large corporate entity like Anthropic or Google. Hopefully some open source projects will remain open to accepting PRs from people, like the author of the OP, who enjoy working in that "flow" state. I enjoy writing software as a hobby (as well as at my job) but it looks like the hobby might become a larger source of personal fulfillment.
TBH, I've often felt like a weirdo who enjoys "the wrong things" about software engineering.
The flow state is gone. Sadly
I never could study to music and much preferred studying in a quiet carrel in the university library.
I think there’d be a lot of demand from long time engineers that loved working in flow state to build tooling that encouraged flow. I think tokens/s needs to get like 10x faster first, because you’re going to be heading into a world where you are receiving very soft and non-distracting suggestions, probably at the periphery of your consciousness. Most will be thrown away.
I can kind of imagine a UI for this. I might experiment a little building something, but it will be by telling some agents to build it.. :)
I HAVE found another way to achieve flow state. Hand tool woodworking. Especially planing. There’s something about the rhythm of the tool, combined with the awareness of what the tool is doing, that makes the rest of the world evaporate, just like when coding. I could see myself doing that instead. Sadly there is even less call for slow woodworking than there is for slow coding.
its been the opposite for me. being able to create things with almost zero friction has lead me to have to slow down for my own sanity at times. I've had to setup "handcoding time" as a way to keep me touching virtual grass lest I completely lose myself building stuff at all hours.
literally thinking of taking up Haskell just to have a language that forces me to slow down and think in my off hours.
Thought it was an early AI or something.
OP, I sure it’s just a transition. AI will get faster, feedback loops shorter, and we will be back at a more traditional flow state.
I've been leaning in more on e2e test suites. They are slow, brittle and inefficient. But that's almost a feature. I can step away and come back an hour later, and use that time to think about bigger problems.
I’m sysadmin not a dev but I also feel that managing an agent is a fundamentally different feeling than performing admin work like I used to. I used to build bridges out of software. I would learn how they work down to the nuts and bolts, and use them to make robust and occasionally clever solutions for our needs. Over time i was getting better at bash and powershell and regex and automating little tasks.
Gaining knowledge about kubernetes and building images and helm charts was some of the most fun I’ve had professionally. I found enjoyment and value in learning those things and enjoy knowing them for their own sake, much in the same way I enjoy being able to recite mechanics and knowledge about vanilla wow from memory. The knowledge is its own pursuit and obtaining it was fun and fulfilling.
Using AI is nothing like that. It’s not “fun” to me in any way. I don’t learn bash and powershell and templating. I don’t get to enjoy simple wins. AI does those all those for me.
I’m thinking of becoming an electrician. I can’t imagine babysitting an ai for another 30 years.
Maybe it's even more important since you've gone from crafting your own solutions to reviewing the viablity of solutions from the LLM which occasionally are going to introduce new ideas, do things in a similar but slightly different way to how you would, or even be subtly wrong in ways that also exercise your ability to adapt and learn and nudge it in the right direction instead.
I don't really understand how the alternative could be true, in the sense of your knowledge not being relevant, as that would imply a couple of things that don't seem true as of now: that LLMs always produce optimal solutions in any given scenario, and (as a corollary) that sysadmin is entirely automated apart from some sort of thin beurocratic human approval/deployment layer.
In my experience so far I've found sysadmin type stuff to actually be what LLMs help me the least with, excluding text-in-text-out scripts, precisely because the setup often has to be so custom to the system, there's loads of side effects that are hard to communicate to the LLM so it oversimplifies and gets things wrong often.
So hopefully you can understand the implied challenge behind the question. I'm not saying your feeling of it being less fun is invalid. But I'm really curious about what you said specifically about the fun of applying knowledge and learning having been diminished. What do I have wrong?
Couldn't agree more. I'm personally okay with how engineering is changing. At the end of the day, the code is a means to an end for me. That said, the "queue" aspect of how software development is headed is so real. It's a different way of working, and I find the biggest challenge is staying engaged and tuned in while you might have agents take 30 seconds here, 2 minutes there, 5 minutes there, etc. It's easy to get distracted when waiting.
Programming does not exist or, rather, programming doesn't pay. Whatever this is—vibe coding, agentic software development—it's a new and different discipline, and it may be the only game in town [citation needed].
It's not even been a particularly gradual change. It's been a stark, totalizing turnover in the last 18 months. I don't know how long this era will last (maybe we'll discover a new sort of operational scurvy, and this movement will be mocked and scorned as a ludicrously anemic fad) but it'll leave a distinct layer of discoloration in the geological record.
I've never really been into Phish. Lately, I've been vibing out to the hyperactive chiptune groups Anamanaguchi and Toby Fox. Justice also makes my playlist, alongside more pathos-laden groups like The Glitch Mob and Moderat.
Hell, once I get this teams-of-teams jj-and-weave harness firmly in hand, I can pop into Agent-of-Empires and drop the needle on some Al Hirt—Music to Watch [Pulls] By.
Simple solution: keep going what you've been doing. Open up https://relisten.net/ and keep jamming, you'll probably be fine.
This was a colleague favourite for flow state time
> That move is Phish fans in miniature. Someone cared enough about the song and the bit that they rebuilt a piece of pop culture around the band.
I've been writing code for 30 years. I welcome AI. It brings different challenges and can reduce the time needed for the end product.
AI still sucks pretty bad at writing code. The only people I've ever known to need a "flow" state to write code are junior devs.
Everyone else is used to constant interruptions and has been through every layer of abstraction many many times. This is why those with experience find it so tempting to say this job can be automated away, but they forget how many gotchas there are, how they crop up, and how brittle all this crap always was. AI is actively making this problem worse.