But your approach sounds familiar to me. I find sometimes it may be slower and lower quality to use AI, but it requires less mental bandwidth from me, which is sometimes a worthwhile trade off.
It breaks flow. It has no idea my intention, but very eagerly provides suggestions I have to stop and swat away.
it's so [great to have auto-complete]
annoying to constantly [have to type]
have tons of text dumped into your text area. Sometimes it looks plausibly right, but with subtle little issues. And you have to carefully analyze whatever it output for correctness (like constant code review).
For me, this is the biggest benefit of AI coding. And it's energy saved that I can use to focus on higher level problems e.g. architecture thereby increasing my productivity.
And at this point it's not just a productivity booster, it's as essential as using a good IDE. I feel extremely uncomfortable and slow writing any code without auto-completion.
Also I tend to get more done at a time, it makes it easier to get started on "gruntwork" tasks that I would have procrastinated on. Which in turn can lead to burnout quite quickly.
I think in the end it's just as much "work", just a different kind of work and with more quantity as a result.
There's literally no way I can see that resulting in better quality, so either that is not what is happening or we're in for a rude awakening at some point.
When the AI tab completion fills in full functions based on the function definition you have half typed, or completes a full test case the moment you start type - mock data values and all, that just feels mind-reading magical.
https://www.joelonsoftware.com/2000/04/06/things-you-should-... (read the bold text in the middle of the article)
These articles are 25 years old.
I've found a huge boost from using AI to deal with APIs (databases, k8s, aws, ...) but less so on large codebases that needed conceptual improvements. But at worst, i'm getting more than 10% benefit, just cause the AI's can read files so quickly and answer questions and propose reasonable ideas.
(a) don't know what you're doing and just approve everything you see or
(b) don't care how bad things get
In the past, that much nitpicky detail just wouldn't have gotten done, my time would have been spent on actual features. But what I just described was a 30 minute background thing in claude code. Worked 95%, and needed just one reminder tweak to make it deployable.
The actual work I do is too deep in business knowledge to be AI coded directly, but I do use it to write tests to cover various edge cases, trace current usage of existing code, and so on. I also find AI code reviews really useful to catch 'dumb errors' - nil errors, type mismatches, style mismatch with existing code, and so on. It's in addition to human code reviews, but easy to run on every PR.
Don’t get me wrong, I care very deeply about the organization and maintainability of my code and I don’t use “agents”. I carefully build my code (and my infrastructure as code based architecture) piece by piece through prompting.
And I do have enough paranoia about losing my coding ability - and I have lost some because of LLMs - that I keep a year in savings to have time to practice coding for three months while looking for a job.
I'm pretty confidient that I couldn't get it to implement a element in a web browser. I'm talking about C++ in WebKit or Chromium, not a custom element in HTML/JS. Let's say browsers wanted a new data-table element that natively implemented a scrolling window such that you registered events to supply elements and it asked for only the portion that were visible. I feel like those code bases are too complex for LLMs to add this (could certainly be wrong).
In any case, more concrete examples would help these discussions.
I can give a concrete example: I just asked ChatGPT (should have asked something more integrated into my editor), to give me JavaScript to directly parse meta data out of an MP4 file in JS in the browser. It gave my typescript but told me I should look at mp4box.
I spent 15-20 minutes getting a mp4box example setup (probably should have asked for that too). Only to find that I think mp4box does not get me the data I wanted.
So I went back to ChatGPT and asked for JavaScript because I was hacking in something like jsfiddle. It gave me that and it worked!
I then said I wanted the title and comments meta data as that was missing from what it gave me. That worked too, first try.
I'm pretty radical on this topic but for me cognitive load is good, you are making your neurons work and keep synapses in place where they matter (at least for your job). I totally accept writing down doc or howto to make doing some action in future easier and reduce that cognitive load, but using AI agent IMO is like going to bike in the mountain with an electrical bike.
Yes, you keep seeing the wonderful vistas but you are not really training your legs.
What language? I picked up an old JS project that had several developers fail over weeks to upgrade to newer versions of react. But I got it done in a day by using AI to generate a ton of unit tests then loop an upgrade / test / build. Was 9 years out of date and it’s running in prod now with less errors than before.
Also upgraded rails 4 app to rails 8 over a few days.
Done other apps too. None of these are small. Found a few memory leaks in a C++ app that our senior “experts” who have spent 20 years doing c++ couldn’t find.
I know how to nail a nail, I've nailed so many nails that I can't remember them all.
My job is to build a house efficiently, not nail nails. Anything that can make me more efficient at it is a net positive.
Now I've saved 2 hours in the framing process by using a nail gun, I have 2 extra hours to do things that need my experience. Maybe spot the contractor using a nail plate in the wrong way or help the apprentice on their hammering technique.
The vast majority of developers aren't summitting beautiful mountains of code, but are instead are sifting through endless corporate slop.
> We might say that using a hammer constantly will develop more your muscles, but in carpentry there are still plenty of manual work that will develop your muscles anyway.
The trades destroy human bodies over time and lead to awful health outcomes.
Most developers will and should take any opportunity to reduce cognitive load, and will instead spend their limited cognitive abilities on things that matter: family, sport, art, literature, civics.
Very few developers are vocational. If that is you and your job is your identity, then that's good for you. But don't fall into the trap of thinking that's a normal or desirable situation for others.
IDE did the same thing and we found other ways to exercise our brains. This one is really something unreasonable to worry about.
I'm not sure you're approaching this metaphor the right away. The point is that coding manually is great cognitive exercise which keeps the mind sharp for doing the beautiful stuff.
> The trades destroy human bodies over time and leads to awful health outcomes.
Again, you're maybe being too literal and missing the point. No one is destroying their minds by coding. Exercise is good.
No, I'm challenging the metaphor. Working the trades isn't exercise - it's a grind that wears people out.
> Again, you're maybe being too literal and missing the point. No one is destroying their minds by coding. Exercise is good.
We actually have good evidence that the effects of heavy cognitive load are detrimental to both the brain and mental health. We know that overwork and stress are extremely damaging to both.
So reducing cognitive load in the workplace is an unambiguous good, and protects the brain and mind for the important parts of life, which are not in front of a screen.
So yeah, 30%-50% seems right, but it's not like I lost any part of my job that I love.
Caveat: In the EU, an e-bike REQUIRES some physical effort any time for the motor to run. Throttles are illegal.
I don't think this is fair either, you're comparing "overwork and stress" to "work." It's like saying we have evidence that extreme physical stress is detrimental ergo it's "unambiguously" healthier to drive than to walk.
Maybe you could share your good evidence so we can see if normal coding tasks would fall under the umbrella of overwork and stress?
But I think of work as essentially two things - creative activity and toil. I simply use AI for toil, and let my brain focus on creativity and problem solving.
Writing my 100,000th for loop is not going to preserve my brain.
On the flip side physical excercise can cause even very old people to improve radically.
I'm training smarter, and exercising better, instead of wasting all the workout/training time on warmups, as it were.
This is so well-founded that I do not have to provide individual sources - it is the current global accepted reality. I wouldn't provide sources for the effect of CO2 emissions on the climate or gravity, either.
However, the opposite is not true. If you have evidence that routine coding itself improves adult brain health or cognitive ability, please share RCTs or large longitudinal studies showing net cognitive gains under typical workloads.
If your job is just grinding out code in a stressful and soul-crushing manner, the issue lies elsewhere. You will be soon either grinding out prompts to create software you don't even understand anymore or you will be replaced by an agent.
And by no way I'm implying you are part of the issue.
With electric assist, I can get up faster and to the business of coming down the hill really fast.
We have ski-lifts for the exact same reason. People doing downhill skiing would make their legs, heart and lungs stronger in the process of walking up the hill with their skis. But who wants to do that, that's not the fun part.
And to step back from analogy-land.
I'm paid to solve problems, I'm good at architecture, I can design services, I can also write the code to do so. But in most cases the majority of the code I write is just boilerplate crap with minor differences.
With LLMs I can have them write the Terraform deployment code, write the C# CRUD Controller classes and data models and apply the Entity Framework migrations. It'll do all that and add all the fancy Swagger annotation while it's at it. It'll even whip up a Github build action for me.
Now I've saved a few days of mindless typing and I can get into solving the actual problem at hand, the one I'm paid to do. In reality I'm doing it _while_ I'm instructing the LLM to do the menial crap + reviewing the code it produced so I'm moving at twice the speed I would be normally.
"But can't you just..." nope, if every project was _exactly_ the same, I'd have a template already, there are just enough differences to not make it worth my time[1]. If I had infinite time and money, I could build a DSL to do this, but again, referring to [1] - there's no point =)
It's more cost efficient to pay the LLM tax to OpenAI, Anthropic or whatever and use it as a bespoke bootstrapping system for projects.
The vast majority of developers are in or near this category. Most software developers never write code outside of education or employment and would avoid doing so if an AI provided the opportunity. Any opportunity to reduce cognitive load is welcome
I think you don't recognise how much of an outlier you are in believing that your work improves your cognitive abilities.
It's clear that you're more interested in "winning" than actually have a reasonable discussion so goodbye. I've had less frustrating exchanges with leprechauns.
I need to add a FooController to an existing application, to store FooModels to the database. The controller needs the basic CRUD endpoints, etc.
I can spend a day doing it (crushing my soul) or I can just tell any Agentic LLM to do it and no something that doesn't crush my soul, like talk with the customer about how the FooModels will be used after storing.
"But it'll produce bad code!"
No it doesn't. It knows _exactly_ how to do a basic CRUD HTTP API controller in C#. It's not an art form, it's just rote typing and adding Attributes to functions.
Because it's an Agentic LLM, it'll go look at another controller and copy its structure (which is not standard globally, but this project has specific static attributes in every call).
Then I review the code, maybe add a few comments for actual humans, commit and push.
My soul remains uncrushed, client is happy when I delivered the feature on time and I have half the day off for other smaller tasks that would become technical debt otherwise.
And yet, you now want me to source individual studies on those effects in a HN thread? Yes, in this instance you are approaching flat-earth/climate-change-denial levels of discourse. Reducing cognitive load is an unambiguous good.
If you think routine coding itself improves brain health or cognitive ability, produce the studies showing as you demanded from me, because that is a controversial claim. Or you can crash out of the conversation.
A nailgun isn’t automated in the way an LLM is, maybe if it moved itself around and fired nails where it thought they should go based on things it had seen in the past it would be a better comparison.
If you don't wanna use AI, that's entirely up to you, but "you're gonna forget how to program if you use AI and then whatever are you going to do if the AI is down" reeks of motivated reasoning.
I can’t write this without feeling preachy, and I apologize for that. But I keep reading a profound lack of agency in comments like these.
At least in Germany people rather joke that the moment e-bikes became popular, people began to realize that they suddenly became too unathletic to be capable of pedaling a bicycle. I know of no person who uses an e-bike who did not ride an ordinary bicycle before.
> In the EU, an e-bike REQUIRES some physical effort any time for the motor to run.
The motor must shut off when 25 km/h is reached - which is basically the speed that a trained cyclist can easily attain. So because of this red tape stuff, e-bikes are considered to be useless and expensive by cyclists who are not couch potatoes.
So yeah, past a certain age, you'll be happy to reduce your mental load. No question about it. And I feel quite relieved when Claud writes this classic algorith I have understood long ago and don't want to re-activate in my brain. And I feel quite disappointed when Claude misses the point and I have to code review it...
A far more interactive coding "agent" that makes sure it walks through every change it makes with you, and doesn't just rush through tasks. That helps team members come up to speed on a repository by working through it with them.
By using LLMs to do some of the stuff I have long gotten over, I have a bit more mental energy to tackle new problems I wouldn't have previously.
As well LLMs just aren't actually that competent yet, so it's not like devs are completely hands off. Since I barely do boilerplate as I work across legacy projects, there's no way Claude Code today is writing half my code.
Like no mechanic gets pleasure from an oil change or tire rotation. They’d rather figure out an issue with an old V8
But they do it because that’s a part of the job.
Welcome to management. Computers and code are easy. People and people wannabes like LLMs are a pain.
Some people just write code for 8 hours, go home and never think about it on their free time.
Otherwise they would be considered e-scooters and would have different rules and regulations applied.
This is a very optimistic take. If you are in the type of company that just gives you boring code and tasks, you will required to use the other half-day to work on some other boring feature. This will not give us time to pay tech debt. Maybe it will do in the beginning when using AI agents has not been institutionalized yet, but once it has, you will be asked to churn out more "features"