I let the AI first generate a outline of how it would do it as markdown. I adapt this and then let it add details into additional markdown files about technical stuff, eg how to use a certain sdk and so on. I correct these all.
And then I let the AI generate the classes of the outline one by one.
I'm curious which models the OP is using that produce code so quickly and accurately? I mostly use Claude Code, which is accurate, but it isn't very fast. I certainly don't feel like I'm producing piles of code with it.
I dunno, it is a bit different leveraging a model, but I still listen to music coding. It does depend on the music. I need to listen to really brutal stuff (Arsis, Thyrfing, Dissection, etc.) to focus, though
Where I work there are like 2x as many front end developers as there is need for. They spend an insane amount of time doing meetings, they require approval of 2 different people for every simple CSS change.
Their job is to do meetings, and occasionally add a couple of items to the HTML, which has been mostly unchanged for the past 10 years, save for changing the CSS and updating the js framework they use.
Greenfield development of small web apps. I’m familiar enough with everything that I can get something up and running on my own, but I don’t do it regularly so I need to read a lot of docs to be up to date. I can describe the basic design and requirements of an app and have something like Claude Code spit out a prototype in a couple of hours
i just had it do a "set up the company styled auth, following a few wikis and a lot of trial and error until you get to the right thing"
in the olden days, id imagine getting that right to take about a week and a half and something everyone hated about spinning up a new service
with the LLM, i gave it a feedback loop of being able to do an initial sign in, integration test running steps with log reading on the client side, and a deploy and log reading mechanism for the server side.
i was going to write out an over-seer-y script for another LLM to trigger the trial and error script, but i ended up just doing that myself. What i skipped was the needing to run any one of the steps, and instead i got nicely parsed errors, so i could go look for wikis on what parts of the auth process i was missing and feed in those wiki links and such to the trial and error bot. i skipped all the log reading/parsing to get to what the next actionable chunk is, and instead, i got to hang around in the sun for a bit while the LLM churned on test calls and edits.
im now on a cleanup step to turn the working code into nicely written code that id actually want commited, but getting to the working code stage took very little of my own effort; only the problem solving and learning about how the auth works
I don't listen to music while doing code reviews either. It also happens to be my least favourite part of the job. The LLM agents just make it feel like I'm constantly code reviewing and I don't think it makes me more productive overall.
My theory as a none scientist is that you need a different part of the brain to think about AI prompts compared to coding yourself. Or maybe that whatever though process you need for coding intersects with the part that enjoys listening to music. And because of that intersection you can't focus on both at the same time.
I’d probably drop GenAI before I dropped the music that allows me to focus. Also, at this stage of my career, I mainly code for fun, and blasting music across the house is part of it.
It definitely changed how I get into flow state for me. But music still works, if not even better when coding with AI (listening to: techno, electro, edm). Generally my flow is to sit down, make a small plan of what I will work on, fire off 2 agents to work on different parts of the code that are lower hanging fruits (takes 2-10 mins for them to complete). Then while this is busy, map out some bigger tasks.
Agents finish, I queue them up with new low hanging fruits, while I architect the much bigger tasks, then fire that off -> Review smaller tasks. It really is a dance, but flow is much easier achieved when I do get into it; hours really just melt together. The important thing to do is to put my phone away, and block all and any social media or sites I frequent, because its easy to get distracted when agents aren just producing code and you're sitting on the sidelines.
That's not the same flow state experienced by programmers.
While programming, it's possible to get into a trance-like state where the program's logic is fully loaded and visible in your mind, and your fingers become an extension of your mind that wire you directly to the machine. This allows you to modify the program essentially at the speed of thought, with practically zero chance of producing buggy code. The programmer effectively becomes a self-correcting human interpreter.
Interrupting someone in this state is incredibly disruptive, since all the context and momentum is lost, and getting back into the state takes time and focus.
What you're describing is a general workflow. You can be focused on what you're doing, but there's no state loaded into memory that makes you more efficient. Interruptions are not disruptive, and you can pick up exactly where you left off with ease. In fact, you're constantly being interrupted by those agents running in the background, when they finish and you give them more work. This is a multitasking state, not flow.
So the article is correct. It's not possible to get into a flow state while working with ML tools. This is because it is an entirely different activity from programming that triggers different neural pathways.
> For frontend code and my side projects, AI coding seems to be even more effective and actually reduces the cognitive load, winning in all dimensions.
Can we see this frontend code? For research purposes, of course.
CAN you get into a state of flow when directing an LLM? I don't have a lot of experience using LLMs to code, but it always feels like I'm coaching a junior staff member. No way to flow that, IMHO.
It’s the opposite for me. I’ve never been able to listen to music while coding as my thoughts would drown it out or it would keep me from thinking so I’d shut it off. However if I am vibe coding my brain is basically idle and can handle some music
> writing a blurb that contains the same mental model
Good nugget. Effective prompting, aside from context curation, is about providing the LLM with an approximation of your world model and theory, not just a local task description. This includes all your unstated assumptions, interaction between system and world, open questions, edge cases, intents, best practices, and so on. Basically distill the shape of the problem from all possible perspectives, so there's an all-domain robustness to the understanding of what you want. A simple stream of thoughts in xml tags that you type out in a quasi-delirium over 2 minutes can be sufficient. I find this especially important with gpt-5, which is good at following instructions to the point of pedantry. Without it, the model can tunnel vision on a particular part of the task request.
The tradeoff of higher velocity for less enjoyment may feel less welcome when it becomes the new baseline and the expectation of employers / customers. The excitement of getting a day's work done in an hour* (for example) is likely to fade once the expectation is to produce 8 of such old-days output per day.
I suspect it doesn't matter how we feel about it mind you. If it's going to happen it will, whether we enjoy the gains first or not.
* setting aside whether this is currently possible, or whether we're actually trading away more quality that we realise.
The most challenging thing I'm finding about working with LLM-based tools is the reduction in enjoyment. I'm in this business because I love it, and I'm worried about that going forward.
My daughter who switching from engineering to software because she enjoyed coding expressed that LLMs are taking away everything she found enjoyable about the job and reducing her to QA. She hates it and if the trend continues I won’t be surprised if she switches industries.
For the longest time, IT workers were 'protected' from Marx's alienation of labor by the rarity of your skill, but now it's coming for you/us, too. Claude Code is to programmers what textile machines were to textile workers.
>In the capitalist mode of production, the generation of products (goods and services) is accomplished with an endless sequence of discrete, repetitive motions that offer the worker little psychological satisfaction for "a job well done." By means of commodification, the labour power of the worker is reduced to wages (an exchange value); the psychological estrangement (Entfremdung) of the worker results from the unmediated relation between his productive labour and the wages paid to him for the labour.
Less often discussed is Marx's view of social alienation in this context: i.e., workers used to take pride in who they are based on their occupation. 'I am the best blacksmith in town.'
Automation destroyed that for workers, and it'll come for you/us, too.
Exactly, maybe "prompt engineering" is really a skill, but the reward for getting better at this is just pumping out more features at a low skill grade. What's excited about this ? Unless I want to spend all my time building minimum viable product.
Prompt engineering is just writing acceptance criteria; it's moving from someone who writes code to someone who writes higher level feature descriptions. Or user stories, if you will.
Thing is though, many people don't know how to do that (user stories / acceptance criteria) properly, and it's been up to software developers to poke holes and fill in the blanks that the writer didn't think about.
If there are 8 days per day worth of work to be done (which I doubt), why wouldn’t you want to have it done ASAP? You’re going to have to do it eventually, so why not just do it now? Doesn’t make sense. You act like they’re just making up new work for you to do when previously there wouldn’t have been any.
>The tradeoff of higher velocity for less enjoyment may feel less welcome when it becomes the new baseline and the expectation of employers / customers.
This is precisely the question that scares me now. It is always so satisfying when a revolution occurs to hold hands and hug each other in the streets and shout "death to the old order". But what happens the next morning? Will we capture this monumental gain for labor or will we cede it to capital? My money is on the latter. Why wouldn't it be? Did they let us go home early when the punch card looms weaved months worth of hand work in a day? No, they made us work twice as hard for half the pay.
> The excitement of getting a day's work done in an hour* (for example) is likely to fade once the expectation is to produce 8 of such old-days output per day.
It's not really about excitement or enjoyment of work.
It's the fear about the __8x output__ being considered as __8x productivity__.
The increase in `output/productivity` factor has various negative implications. I would not say everything out loud. But the wise can read between the lines.
Even if the developer is keeping the quality of the LLM generated code high (by constant close reading of the output, rejecting low quality work and steering with prompts) does this mean the project as a whole is improving? I have my doubts! I'm also skeptical that this developer has increased their velocity as much as they believe, IMHO this has long been a difficult thing to measure.
Overall, is this even a good thing? With this increase in output, I suspect we'll need to apply more pressure to people requesting features to ensure those requests are high quality. When each feature takes half the time to implement, I bet it's easy to agree to more features without spending as much time evaluating their worth.
> The tradeoff of higher velocity for less enjoyment
I'm enjoying exactly what the author describes, so it's different strokes for different folks.
I always found the "code monkey" aspect of software development utterly boring and tedious, and have spent a lot of my career automating that away with various kinds of code generators, DSLs, and so on. \
Using an LLM as a general-purpose automated code monkey is a near-ideal scenario for me, and I enjoy the work more. It's especially useful for languages like Go or Java where repetitive boilerplate is endemic.
I also find it helps with procrastination, because I can just ask an LLM to start something for me and get over the initial hump.
> whether we're actually trading away more quality that we realise.
> The tradeoff of higher velocity for less enjoyment may feel less welcome when it becomes the new baseline and the expectation of employers / customers
This is what happens with big technological advancements. Technology that enables productivity won’t free people time, but only set higher expectations of getting more work done in a day.
It’s a lot more high-level executive functioning now, instead of grinding through endless syntax and boilerplate. Easy to mindlessly code to music, much harder to think about what you want to do next, and evaluate if the result you just got is what you really wanted.
From the masterpiece, Tragedy of the Man, describing the future where everything is done in the name of efficiency:
THE GREYBEARD
You left your workroom in great disarray.
MICHELANGELO
Because I had to fabricate the chair-legs
To the quality as poor as it can be.
I appeal’d for long, let me modificate,
Let me engrave some ornaments on it.
They did not permit. I wanted as a chance
The chair-back to change but all was in vain.
I was very close to be a madman
And I left the pains and my workroom, too. (stands back)
THE GREYBEARD
You get house arrest for this disorder
And will not enjoy this nice and warm day.
That's an argument I had with a friend last year. I told him generative AI will make writing code easier, but the life of whoever is writing it far worse. Because writing code without using AI is done with some sort of due diligence: you memorize some stuff, look up other stuff in the docs or online, and you take some time actually solving the problem you have. If you succeed, you would've spent the needed time at YOUR pace, with an intrinsic reward of feeling good that you achieved something. With AI, on the other hand, you are in semi-cheat mode, throwing prompts after prompts and now you are trying to catch someone/something else's pace, zero reward, and more mentally exhausted.
The best approach is to use AI only when you are stuck and looking for potential solutions, but we all know that is not going to happen unless you have extreme self-control.
Kind of sounds like using LLMs to generate code is like eating USA junk/fast food. It is quick and tasty, and you get a dopamine rush from that sugar and fat in your body, but it leaves you feeling unsatisfied and unsatiated.
In my experience, listening to music engages the creative part of your brain and severely limits what you can do, but this is not readily apparent.
If I listen to music, I can spend an hour CODING YEAH! and be all smug and satisfied, until I turn the music off and discover that everything I've coded is unnecessary and there is an easier way to achieve the same goal. I just didn't see it, because the creative part of my brain was busy listening to music.
From the post, it sounds like the author discovered the same thing: if you use AI to perform menial tasks (like coding), all that is left is thinking creatively, and you can't do that while listening to music.
I'm sorry but that's nonsense. Listening to music is not a creative process, it does not at all take away creativity from somewhere else.
I've never, ever, ever once in 40 years of coding listened to music while coding and later found the code "unnecessary" or anything of the sort.
I engage in many creative pursuits outside of coding, always while listening to music, and I can confidently say that music has never once interfered in the process or limited the result in any way.
I just think it's distracting. I get caught up listening to the lyrics and kind of mentally singing along, stuff like that which disrupts my thought and distracts from what I actually want to be thinking about.
I think this is individual, I have the same problem in social settings - if I'm having a conversation and a song I like is playing in the background I some times stop listening to the conversation and focus on the music instead, unintentionally.
My solution is to listen to music without vocals when I need to focus. I've had phases where I listen to classical music, electronic stuff, and lately I've been using an app I found called brain.fm which I think just plays AI generated lo-fi or whatever and there's some binaural beats thing going on as well that's supposed to enhance focus, creativity etc. I like it but some times I go back to regular music just because I miss listening to something I actually like.
Same here on all fronts about distractions. I can't tell whether when people talk about listening to music while working/studying: (1) they mean music with no lyrics, (2) they are unserious and okay with their work being constantly interrupted, or (3) they can resist thinking about the lyrics.
Some work may allow for seamless pivoting between work vs. enjoyable distraction, e.g., a clerk, but I often hear about people listening to music in other contexts.
Sometimes I listen to music without lyrics like surf or gabber. Other times its genre music like northern soul or punk or familiar music where the lyrics are so familiar or vacuous/cliche that they don't distract. I wouldn't listen to really lyrically focussed music like singer songwriter stuff generally. So I think there's a spectrum rather than just instrumental music vs everything else.
I don't think that's down to music per se, but a more generalized thing. Software developers love being in a flow state, some of them pursue it all the time (...guilty) and get frustrated when their job changes (e.g. moving towards management) so they spend less time in that flow state.
But also, this can create waste, in that people write the Best Code Ever in their flow state (while listening music or not), but... it wasn't necessary in the first place and the time spent was a waste. This can waste anything from an hour to six months of work (honestly, I had a "CTO" once who led a team of three dozen people or so who actually went into his batcave at home for six months to write a C# framework of sorts that the whole company should use. He then quit and became self-employed so the company had to re-hire him to make sense of the framework he wrote. I'm sure he enjoyed it very much though.)
> discover that everything I've coded is unnecessary and there is an easier way to achieve the same goal
In my experience, there is no good shortcut to this realization. Doing it wrong first is part of the journey. You might as well enjoy the necessary mistakes along the way. The third time’s the charm!
There is no “creative part of the brain” and even if there was listening to music would have nothing to do with it.
You may be experiencing getting to different understanding of sth when you switch context. Similar to when you are stack it may be better to go for a walk than keep your head on top of a piece of paper or screen. I have had many of my breakthroughs while taking a shit in the toilet in the midst of working. Others experience similar with showers and whatever.
Afaik most ppl listen to music during certain tasks because it helps focusing. Esp when working in a busy office it really helps me to listen to certain kinds of predictable music to keep me from getting distracted. It creates a sort of entrainment that helps with attention.
Some people find music itself distracting, I myself find some kinds of music distracting, or during certain types of tasks. Then it obviously it does not fill its purpose.
This was actually studied at some point (at least 15-20 decades ago, as I remember learning about this in college): they gave the same programming problem to a bunch of developers and had some listen to music while they did the task while others worked in silence. There was no real difference between how long it took to do the task between the same group... but the people who listened to music were much much less likely to realize that the entire task was a red herring and the code reduced down to return 0;.
99 comments
[ 4.7 ms ] story [ 113 ms ] threadTheir job is to do meetings, and occasionally add a couple of items to the HTML, which has been mostly unchanged for the past 10 years, save for changing the CSS and updating the js framework they use.
in the olden days, id imagine getting that right to take about a week and a half and something everyone hated about spinning up a new service
with the LLM, i gave it a feedback loop of being able to do an initial sign in, integration test running steps with log reading on the client side, and a deploy and log reading mechanism for the server side.
i was going to write out an over-seer-y script for another LLM to trigger the trial and error script, but i ended up just doing that myself. What i skipped was the needing to run any one of the steps, and instead i got nicely parsed errors, so i could go look for wikis on what parts of the auth process i was missing and feed in those wiki links and such to the trial and error bot. i skipped all the log reading/parsing to get to what the next actionable chunk is, and instead, i got to hang around in the sun for a bit while the LLM churned on test calls and edits.
im now on a cleanup step to turn the working code into nicely written code that id actually want commited, but getting to the working code stage took very little of my own effort; only the problem solving and learning about how the auth works
https://www.youtube.com/watch?v=DrA8Pi6nol8
Agents finish, I queue them up with new low hanging fruits, while I architect the much bigger tasks, then fire that off -> Review smaller tasks. It really is a dance, but flow is much easier achieved when I do get into it; hours really just melt together. The important thing to do is to put my phone away, and block all and any social media or sites I frequent, because its easy to get distracted when agents aren just producing code and you're sitting on the sidelines.
While programming, it's possible to get into a trance-like state where the program's logic is fully loaded and visible in your mind, and your fingers become an extension of your mind that wire you directly to the machine. This allows you to modify the program essentially at the speed of thought, with practically zero chance of producing buggy code. The programmer effectively becomes a self-correcting human interpreter.
Interrupting someone in this state is incredibly disruptive, since all the context and momentum is lost, and getting back into the state takes time and focus.
What you're describing is a general workflow. You can be focused on what you're doing, but there's no state loaded into memory that makes you more efficient. Interruptions are not disruptive, and you can pick up exactly where you left off with ease. In fact, you're constantly being interrupted by those agents running in the background, when they finish and you give them more work. This is a multitasking state, not flow.
So the article is correct. It's not possible to get into a flow state while working with ML tools. This is because it is an entirely different activity from programming that triggers different neural pathways.
At my first job in Silicon Valley, I used to code right on the production floor totally oblivious to what was going on.
Can we see this frontend code? For research purposes, of course.
Good nugget. Effective prompting, aside from context curation, is about providing the LLM with an approximation of your world model and theory, not just a local task description. This includes all your unstated assumptions, interaction between system and world, open questions, edge cases, intents, best practices, and so on. Basically distill the shape of the problem from all possible perspectives, so there's an all-domain robustness to the understanding of what you want. A simple stream of thoughts in xml tags that you type out in a quasi-delirium over 2 minutes can be sufficient. I find this especially important with gpt-5, which is good at following instructions to the point of pedantry. Without it, the model can tunnel vision on a particular part of the task request.
I suspect it doesn't matter how we feel about it mind you. If it's going to happen it will, whether we enjoy the gains first or not.
* setting aside whether this is currently possible, or whether we're actually trading away more quality that we realise.
>In the capitalist mode of production, the generation of products (goods and services) is accomplished with an endless sequence of discrete, repetitive motions that offer the worker little psychological satisfaction for "a job well done." By means of commodification, the labour power of the worker is reduced to wages (an exchange value); the psychological estrangement (Entfremdung) of the worker results from the unmediated relation between his productive labour and the wages paid to him for the labour.
Less often discussed is Marx's view of social alienation in this context: i.e., workers used to take pride in who they are based on their occupation. 'I am the best blacksmith in town.' Automation destroyed that for workers, and it'll come for you/us, too.
Thing is though, many people don't know how to do that (user stories / acceptance criteria) properly, and it's been up to software developers to poke holes and fill in the blanks that the writer didn't think about.
This is precisely the question that scares me now. It is always so satisfying when a revolution occurs to hold hands and hug each other in the streets and shout "death to the old order". But what happens the next morning? Will we capture this monumental gain for labor or will we cede it to capital? My money is on the latter. Why wouldn't it be? Did they let us go home early when the punch card looms weaved months worth of hand work in a day? No, they made us work twice as hard for half the pay.
It's not really about excitement or enjoyment of work.
It's the fear about the __8x output__ being considered as __8x productivity__.
The increase in `output/productivity` factor has various negative implications. I would not say everything out loud. But the wise can read between the lines.
Overall, is this even a good thing? With this increase in output, I suspect we'll need to apply more pressure to people requesting features to ensure those requests are high quality. When each feature takes half the time to implement, I bet it's easy to agree to more features without spending as much time evaluating their worth.
I'm enjoying exactly what the author describes, so it's different strokes for different folks.
I always found the "code monkey" aspect of software development utterly boring and tedious, and have spent a lot of my career automating that away with various kinds of code generators, DSLs, and so on. \
Using an LLM as a general-purpose automated code monkey is a near-ideal scenario for me, and I enjoy the work more. It's especially useful for languages like Go or Java where repetitive boilerplate is endemic.
I also find it helps with procrastination, because I can just ask an LLM to start something for me and get over the initial hump.
> whether we're actually trading away more quality that we realise.
This is completely up to the people using it.
This is what happens with big technological advancements. Technology that enables productivity won’t free people time, but only set higher expectations of getting more work done in a day.
THE GREYBEARD You left your workroom in great disarray.
MICHELANGELO Because I had to fabricate the chair-legs To the quality as poor as it can be. I appeal’d for long, let me modificate, Let me engrave some ornaments on it.
They did not permit. I wanted as a chance The chair-back to change but all was in vain. I was very close to be a madman And I left the pains and my workroom, too. (stands back)
THE GREYBEARD You get house arrest for this disorder And will not enjoy this nice and warm day.
The best approach is to use AI only when you are stuck and looking for potential solutions, but we all know that is not going to happen unless you have extreme self-control.
If I listen to music, I can spend an hour CODING YEAH! and be all smug and satisfied, until I turn the music off and discover that everything I've coded is unnecessary and there is an easier way to achieve the same goal. I just didn't see it, because the creative part of my brain was busy listening to music.
From the post, it sounds like the author discovered the same thing: if you use AI to perform menial tasks (like coding), all that is left is thinking creatively, and you can't do that while listening to music.
I've never, ever, ever once in 40 years of coding listened to music while coding and later found the code "unnecessary" or anything of the sort.
I engage in many creative pursuits outside of coding, always while listening to music, and I can confidently say that music has never once interfered in the process or limited the result in any way.
I think this is individual, I have the same problem in social settings - if I'm having a conversation and a song I like is playing in the background I some times stop listening to the conversation and focus on the music instead, unintentionally.
My solution is to listen to music without vocals when I need to focus. I've had phases where I listen to classical music, electronic stuff, and lately I've been using an app I found called brain.fm which I think just plays AI generated lo-fi or whatever and there's some binaural beats thing going on as well that's supposed to enhance focus, creativity etc. I like it but some times I go back to regular music just because I miss listening to something I actually like.
Some work may allow for seamless pivoting between work vs. enjoyable distraction, e.g., a clerk, but I often hear about people listening to music in other contexts.
But also, this can create waste, in that people write the Best Code Ever in their flow state (while listening music or not), but... it wasn't necessary in the first place and the time spent was a waste. This can waste anything from an hour to six months of work (honestly, I had a "CTO" once who led a team of three dozen people or so who actually went into his batcave at home for six months to write a C# framework of sorts that the whole company should use. He then quit and became self-employed so the company had to re-hire him to make sense of the framework he wrote. I'm sure he enjoyed it very much though.)
In my experience, there is no good shortcut to this realization. Doing it wrong first is part of the journey. You might as well enjoy the necessary mistakes along the way. The third time’s the charm!
You may be experiencing getting to different understanding of sth when you switch context. Similar to when you are stack it may be better to go for a walk than keep your head on top of a piece of paper or screen. I have had many of my breakthroughs while taking a shit in the toilet in the midst of working. Others experience similar with showers and whatever.
Afaik most ppl listen to music during certain tasks because it helps focusing. Esp when working in a busy office it really helps me to listen to certain kinds of predictable music to keep me from getting distracted. It creates a sort of entrainment that helps with attention.
Some people find music itself distracting, I myself find some kinds of music distracting, or during certain types of tasks. Then it obviously it does not fill its purpose.