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.
I have programmer friends in their 40s to 60s who are seriously depressed currently (and 20 year olds worried for theirnl future perspectives, of course). Mental health is not just a young person's game.
I strangely feel quite lucky that I got more and more into electronics and hardware over time as I moved from web and desktop more and more into embedded/consumer electronics and companies who also employ mechanical and EE engineers. When I was younger I used to dumbly worry this meant giving something up (the purity of software approaches, etc.), but instead it made me consider myself an Engineer with a capital E and strive to learn the engineering method more generally, and learn so many other fields of the trade. It turns out this is a much more resilient identity than just Programmer and I recommend that approach.
However, it's pretty nice that these days I can also swing a semi-decent PCB, know my way around scopes and logic analyzers quite well, CAD something up for DFM in a number of processes from thermoplastics to machining, taught myself a fair bit of structural engineering, set up a FEM analysis correctly, etc. If only because it lets me bridge worlds and tie software and hardware together more effectively in the projects I'm in.
I cannot do any of these things as well as a seasoned veteran, but it has given me a broader appreciation of engineering overall and the commonalities between it all, to the point where I can also muster up leadership in engineering orgs more broadly and am not as hurt over the prospect that my pure programming skills might get devalued or diluted, or change.
For example, software engineers generally scoff at the perceived crustyness and lack of agility in classical mechanical engineering processes, but on the other hand mechanical engineering is far more experienced at defense-in-depth type approaches, dealing in components that have a failure rate to them and designing with error bars and safety factors, and I find some of that mindset has transferred quite naturally to engineering with our unreliable LLM friends at scale the past two years.
It takes a lot of the sting out if listening to Phish isn't your only move. Well, maybe not a lot, but at least it doesn't get so existential. Don't be a Programmer, be an Engineer. It's a lot easier to feel useful during a time of much doubt.
Enjoy this while it lasts, because very shortly LLMs are going to be fundamentally better at being the "idea guy" as well.
I had the same feeling reading this article today as I did reading the NYT article about the closing of Butter Ridge dairy farm. All that family wants to do is raise cows, name them, and milk them but it doesn't work as a business anymore because the factory farm machine took the viability away.
I feel the author deeply; this is coming for everyone across most of the economy.
Maybe for the ideas that are so far from novel that there's a corpus of training data that could train an LLM to reproduce it. But for actually novel ideas, LLMs won't ever be much use. They can't interact with the world directly, they can only interact with text (or I guess bits).
And I guess that's not much of a distinction, as truly novel good ideas are very rare and you can go very far applying a good idea into a new domain. But at the edges where true novelty is required, LLMs will either hallucinate or guide you away from the edge.
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 feel like I've lived 3-4 completely different lives so far, but the constant is the ability to adapt to the next one, and still find joy in it while you're there. "Survival is the ability to swim in strange water."
Personally, the AI tools have been transformative for work, but haven't affected how I work much. I have always coded as a team. I'd often do the largest and most complicated parts myself, but work (both at work work and my hobby work) has always been about passing things between colleagues based on what our strengths were and how much time we had.
The AI tools are another colleague. They work incredibly fast, and I do less coding myself now, but my goal was always to solve the problem, not the code itself. The AI tools do a great job most of the time, but they sometimes screw up and need more guidance or me to step in to fix the thing (usually a very small error compared to the whole). If they screw it all up, we might need to start from scratch, or I might need to just do it myself. But that's not most of the time. And then I figure out the thing missing in my process to move them in the right direction, and improve it.
I feel like any software developer used to collaborating with, training, and mentoring other developers knows exactly how to work with AI tools, and the only main difference is how much effort I put into being really nice about it the whole time.
One main thing has changed. Before I would handle the most complicated problems people were having trouble with myself. Now I allow AI to work on them, even if I know I'll have to fix it. The difference is that I care about the time, the strain, and the morale of my coworkers. AI is just getting paid for iterating tokens, so I don't have to feel bad about what I ask it to figure out for me.
AI has completely ruined this for me. Its boring having someone else do stuff for you. And worse, I feel I'm un-learning at a rapid rate.
The magic has gone, I'm not sure I want to be in this game in another five years.
Yes, and it's very not fun when your identity is being reshaped before your eyes in the matter of a couple years.
I wonder how many developers are going through real grief right now, while everybody else, lacking empathy, are just repeating "get a grip, it's just a tool" or "you better adapt or you're done".
Well, I know I have gone through these difficult emotions, and I choose now not to identify with my work, or at least my career any more. I certainly do not identify as what most people these days refer to as 'software engineer' any more.
Most people who are good at tech hate coding so much that they come up with elaborate abstractions so that they can avoid doing more of it.
The only way I can still enjoy programming now is if it's applied to artistic endeavours. I'm done with the soulless, cost-efficient software "engineering" (which by itself is a laughable proposition and a far cry from the high standards of other fields of engineering)
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 suspect with the prices going up, that realization is going to be pretty appealing.
As some of us have been predicting, model capability had already mostly plateaued, and the Chinese have and will continue to relentlessly push cost down. Chinese models will be used for 95% of things, with nation-native models for security/sovereignity-sensitive workloads. Eventually (5+ years from now), efficiency gains and hardware progress will make running local models the dominant way of doing things.
And yes, that puts the investors of Claude and OpenAI in quite a pickle.
What started as all-you-can-eat $50 buffet has quietly become a $6k bill, frontier models that don’t ship your codebase to Beijing don’t come cheap anymore.
> that don’t ship your codebase to Beijing
DeepSeek is open weight, open source.
Sure, but I can't currently afford the hardware to run the frontier model.
It be great if more people drop good open models. But either way stuff like this is the future.
It feels like nobody is even trying to iterate on the "power-tool style" usage of language models, everyone jumped straight to agents. It's not clear to me that removing a human from the loop is strictly more efficient though. Imagine an editor with an embedded language model (either running locally or using cheap cloud models) that is constantly churning, analysing code, reading debug logs, offering suggestions. Refactoring is not b̴e̴g̴g̴i̴n̴g̴ asking a chat interface to make changes, but structured refactors utilising the language models powered by the underlying ast representations to pull off much larger or involved refactors that surpass the abilities of current IDEs. Or doing codegen in your editor in a more structured (and thus repeatable) way compared to an agent spitting out code that you have to then review.
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
I strongly doubt that. Flow state happens when you can disassociate thinking and doing. Most of your brain is on the thinking while the doing lags behind. It’s like driving on a well known road. You don’t pay that much attention to the act of driving. Instead maybe you start planning what you want to do on your next stop
Using ai auto complete would be like your well known road, but turned into an obstacle course. You need your full focus on the road. Not that different from someone that is unfamiliar with the road, but not a flow state either. Full agentic coding is you being in the passenger seat with a driver known to be sometimes erratic. Less thinking but more worrying.
Other domains are not like this. There will probably never be enough poetry out there to make an LLM do anything but be a poor imitation of a poet. This data is extremely hard to generate.
Also you're thinking with an extremely short time horizon there.
All jobs which are centered around computers will be impacted the same way programming is today in the medium term. It's just a question of time until the data is gathered and tooling is adjusted. Because every company that's currently employing people to do something with software will start to use that data as training material, and a few years later they'll be swallowed along.
So that means eg bookkeeping is still safe... I sincerely doubt it'll be like that in 2035. It'll probably still be somewhat safe in 2030 though
I suspect most industries aren't quiet filled with people like the author though, most people treat their job as... Well, a job.
I would wager everything I had that an AI could already win a blind poetry contest, especially if any effort was put into fine-tuning it. Unbelievable effort has been put into optimizing them for coding given the financials; next to none for poetry.
You are now a manager. In effect, you’ve consented to a career change.
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.
When I started to get this feeling recently (the sadness around the flow state being knocked off-axis), I started asking myself "what are you rushing toward? Do you really need to be working like this? Is this truly rational or just socially congruent?" YMMV but may be helpful for some.
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.
I think projects like these will end up being the highest-quality pieces of software out there.
Here I am still coding (mostly) by hand.
While I also sometimes do chat with qwen or use an agent to save some time writting tests or yaml, or "implementing" a draft version of a change, I can't really understand this "the job is changed".
Do some companies in some countries force you to use these agents? Are they going to fire you because Jack or Jill push changes two (or more) times faster than you?
When the vibe coding tools like Claude and Codex came along, I got into this kind of dread. I'm sort of required to use them for work (we are "AI-first"...), but even if I weren't the tools are useful enough to me that I kind of feel like I have to use them because if I don't I'll be left in the dust.
And now it kind of feels like a lot of my job has been converted into babysitting interns. I don't get to write a lot of code by hand anymore, because most of what I do ends up being yelling at Codex to automate most of what I used to do. It's not all bad; I never got any enjoyment out of the initial bullshit of getting the initial project and configurations set up or futzing with configuration files, but I did get joy out of writing the actual implementation of the code, and now I don't get to do that much anymore.
A silver lining though; I do get to think in higher levels now, which is kind of fun. A lot of what I get to do now is write stuff in TLA+ and/or Mermaid (depending on the complexity and how much fancy concurrency I want to do), feed that into Claude, and get it to implement that. That part is fun, but I fear that I'm an outlier and that kind of programming won't catch on because engineers love to take the fucking idiotic position that they "don't need to do math to do programming".
Basically, when I have an idea for a project, I usually start drawing a diagram for how I think things should work. I usually draw it with draw.io first because it's easy and quick. After that, I usually translate this to Mermaid, primarily just to have a second draft, but also because having a text-based system makes it easy to copy and paste around, and that kind of stuff tends to translates well to state-machine based stuff that most distributed systems tend to morph into.
If what I'm working on is relatively simple, I feed the mermaid code into Claude or Codex, give it some surrounding context text about what I want, and get it to hack away.
For more complicated stuff, especially if I want to be more clever with concurrency, I will take my Mermaid diagram and manually convert it to TLA+. If I get stuck with the TLA+ translation, I will sometimes ask Claude for a bit of help but even then I almost always write 90+% of the TLA+ spec by hand.
After that it's basically the same. I feed the TLA+ spec, and provide context to it as well (e.g. how to translate a manual TLA+ mutex or channel implementation to whatever the language has built in).
Since I focus very heavily on the implementation, Claude and Codex generally don't have a huge issue with doing a one-to-one implementation.
And they can - the current crop of tools provide undeniable productivity uplifts to developers, even if they’re only using the cheaper open weight models.
I was like you, using them for one shot things until January of this year. My token usage has roughly 100x’d since then, once I saw the value in the agentic loop.
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.
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..."
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.
One day you’ll be asked why it collapsed and realize you don’t actually understand it anymore.
Working with claude is closer to “grandma recipes” than any engineering or scientific practice.
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.
YES. The beauty of programming is and always was that, first, you enjoyed it and, second, for some oddball reason you could actually get paid to do it. And one can't produce anything good unless you actually love working on it which means you want to put yourself working on it. The outcome might accidentally serve the one who pays for it but ultimately what did get the work finished was the sensation when you were reaching the point where you would finally tie things together and see everything you designed come to life and work together.
AI doesn't give you that personal involvement. We can do it but it's a different line of work and we care very little about what goes in and what comes out. We just do the grunt work of connecting the two ends. We're not for a fuck interested in elevating ambitions which is a word that relates to what is outside while all the good stuff comes from the inside.
Most of my interaction with AI models and agents is still mediated by a keyboard and still requires a lot of "typing ascii characters". ;-)
BTW, there's nothing preventing you from using AI agents and staying in the flow state. If you want that, the universe is not stopping you. In fact, not dealing with the minutia of source code may well free us up and allow even greater flow experiences.
You say minutia, but others say well organized notation and predictive systems. At least for me, writing code is as easy as writing English and with less effort.
Unless Page McConnell is creating his music with AI these days, I don't think this point holds.
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
Valuing quality over velocity is not selfish
Fully agree. I never mentioned velocity or advocated for lower quality. In fact, this statement very well sums up my point: we should care about the thing we're producing, not our personal experience of coding it.
In my experience anyone saying they're still producing high quality work while using LLMs is full of shit when the work is actually reviewed properly
I would be perfectly fine with this new branch of "software development" if you guys didn't coopt our name and call yourselves programmers and engineers.
That loop (open a session, ask a question, redirect, switch) happens before the spec discipline is tight enough to trust the result without watching. When you've actually delegated well, you're not context-switching constantly between sessions. You hand over a detailed spec, wait for the agent to finish, and evaluate. The watching gets compressed to the handoff and the return, not the whole run.
Most engineers haven't gotten there, because getting there is hard. The spec has to be good enough that the agent can hit an ambiguity without needing to ask, fill a gap without needing your correction, and still produce something worth using. That's a different kind of writing than what most engineers were doing before. It takes the kind of attention that's hard to find when you're also redirecting three other sessions.
The flow state question is the more interesting one. It doesn't disappear. It moves. The continuous-arc attention used to live at the implementation layer. Now it's available at the spec-writing layer. Most people haven't redesigned their work to find it there. The new deep-work mode runs from a high-level goal through a narrow, implementation-ready spec through a validation pass. That can be a continuous arc if you've structured the work to allow it. It just doesn't look like the old one, and the muscle memory for it doesn't exist yet.
Whether that's actually flow or just a different kind of concentration is a real question. The engineers that I know (myself included), who've found something like the old rhythm have moved most of their time/effort upstream in the process. The ones still in the redirect loop are usually starting with stories with the same information they always had in them, ran through an LLM to make them appear more tightly defined.
The work is, among other things:
* Writing components * Writing glue * Requirements gathering * Architectural design * Testing
Which parts are the grunt work depends on the individual. Personally, writing components was the most challenging, least grunt work job there was. Requirements and design was the next most fun, but not really very challenging. Writing glue and testing was grunt work--had to get done, but was mind-numbing.
As one of my friends put it, "Beej, writing software was never the goal."
I might counter that managing LLMs was never the goal, either, so we'll get to see where that leads.
That's happened before, with people submitting batch jobs in the mainframe era, people working on big projects that take an hour to compile, or people waiting for code reviews.
However, even if the LLMs become fast, the coding agent will likely bottleneck on running tools. You will need to keep your tests fast, too.
Great for generating volumes of output. Less great for going into a flow state and coming out with something that looks like I made it, something that I see my hand in
And yeah, maybe it’s because I never quite get into a flow state when I do it this way. Hmm
And not even necessarily when coding… I find that if there is no music playing, I will start a song in my head. That can get frustrating—the song loops, perhaps in fact just the chorus. So I turn on the external music and it seems to allow my brain to do other things.
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?
As for the deeper work, the most recent example I have is deploying an observability stack for our lab cluster. In the past i would have done way more upfront work on understanding the alternatives and the deployment. I would have known every line of config before pressing deploy including the ones I chose not to set. The why and how of everything. Now the most efficient way is just to tell Claude to stand up a monitoring stack in the manner that apps are already deployed on the cluster and iterate with Claude once it’s up and running. Why bother diving deep when you can be running a proof of concept in five minutes and then just see if it falls over.
Another part of it is that i really dislike learning through a prompt. I don’t like summaries, i like man pages. I don’t want to interrogate a result i want to provide a complete solution.
Part of it too is I’m fairly new to all this professionally. I’ve only been at it 5 years, though hobby much longer. Basically i can feel myself growing and getting better and now suddenly there’s this genius moron in my pocket that so much better than I ever dreamed I could be while simultaneously having huge shortfalls. It’s a just an instant paradigm shift and after the first week of glee it’s not been a positive feeling.
It’s not that my existing knowledge isn’t relevant at all, there’s still a huge base of networking and systems knowledge that’s necessary. It’s routinely surprised me in my career when i speak with a greybeard developer who is a an absolute wizard to me but dns/tcp etc are just a black box to them. Or when I talk to a friend new into the selfhosting hobby and i try to explain something to them that think is simple and i realize there’s 10 years of accumulated knowledge underneath that simple concept in order to actually grok it.
I don’t know if that answered your question, just an unstructured ramble. I think the heart of it is that googling and research and things being concrete and complete understandings of workings and interactions and variables and secrets and configs etc are giving way to a black box pumping out systems and it mostly working out of the box and often that is simply good enough for now and it’s on to the next thing.
Not syntax, no. Bash and Powershell are syntex. But tradeoffs, concepts, understanding new domains I didn't know about.
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.
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.
feel this though. also how the era of debating like the best code styles and which new frontend framework is etc best that used to be fun to talk about feels like its coming to an end because no one really cares anymore as long as the bot can build the feature.
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 never could study to music and much preferred studying in a quiet carrel in the university library.
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.
Read the article. Or just look at the top search result for Phish. Stop being lazy.
The article says "Phish is a band". Verbatim. It talks about Phish and listening to music in every paragraph.
If people read this article and didn't get that, perhaps I should stop dismissing the news articles talking about the state of education and attention spans as hyperbole.
> I’d need to ask the interviewer to put Phish on....I could not, with any reliability, get into the zone without the music.
> All I ever wanted to do was listen to Phish and program
> I heard Phish for the first time at thirteen.
> Phish is a band that rewards you for staying in one place for a long time. The jams are long. The compositions unfold.
> The band would play in Hampton or Alpine Valley or wherever
> I have listened to Phish every day since I was fifteen...I have listened to certain shows so many times that I can sing the solos back, note by note,
> I tried to keep the music on. I’m writing this in the days after nine nights of Phish at the Sphere. Since I finished grad school and got a real job, I’ve gone to every show I could, every tour, every residency, making up for lost time. The music is more present in my life now than it has ever been. It isn’t what’s gone
I don't care if English is your first language - if anyone read the article they make the point that it is a band over and over and over. Explicitly.
Call me lazy if you will. You could also have chosen to just say they're a band and recommend me a record to listen to.
Something something 1 in 10'000.
> Phish is a band that rewards you for staying in one place for a long time. The jams are long. The compositions unfold.
"Phish is a band". Literally. Verbatim.
Coworkers who do that get told not to, and if they do it a second time their boss gets told to talk to them about it.
Simple solution: keep going what you've been doing. Open up https://relisten.net/ and keep jamming, you'll probably be fine.
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.
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.
You are right that it is a transitional state, but the end of the transition isn't that developers return to flow, it is that developers no longer have any reason to be employed.
The end state (assuming LLMs and other AI systems continue to improve at current rates or better) is one where everyone can produce any kind of digital content quickly with minimal toil.
Some people, who imagine themselves as modern Jobs-esque idea men of great taste like the idea of this but they aren't fully thinking about the consequences of easy content creation.
If you can get an LLM to produce a product of such clearly great design through your innate sense of taste, many someone elses can also point their agentic LLMs at your product, clone everything good about it very quickly and undersell you in a rapid race to zero value in a market that is a sea of competing noise.
As AI systems continue to improve at their core ability of mimicry there will be no moats in software anymore, for anyone.
I’m really disappointed that I wasn’t in the right headspace to name this post “the trick is to surrender to the flow”, the lyric from Phish’s The Lizards.
But, you know, hindsight.
My brother still follows them across the country. Reading this and the comments gave me real insight into what longtime developers are feeling
I’m brand new to coding and have only done some AI-assisted work while learning. It blows my mind that people can do this at a high level without assistance - major respect
I hope you find that flow again
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.
edit: Bouncing around the room is one of their hit songs. Give it a listen.
It's interesting to now see professionals making a similar move themselves when a new cPanel/Wordpress has arrived and wring their hands about how they 'get more done' but 'lost the craft'.
Inbetween I've come across quite a lot of scoffing about using XML to generate code in Java and C#, or just XML itself. Buying queries from a database corporation seems quite a bit weirder to me than designing a data schema, especially if both use cases are supposed to lead to some server boilerplate and an API on a database.