Although it's sad, I have to agree with what you're alluding to. I think there is huge overhead and waste (in terms of money, compute resources and time) hidden in the software industry, and at the end of the day it just comes down to people not knowing how to write software.
There is a strange dynamic currently at play in the software labour market where the demand is so huge that the market can bear completely inefficient coders. Even though the difference between a good and a bad software engineer is literally orders of magnitude.
Quite a few times I encountered programmers "in the wild" - in a sauna, on the bus etc, and overheard them talking about their "stack". You know the type, node.js in a docker container. I cannot fathom the amount of money wasted at places that employ these people.
I also project that actually, if we adopt LLMs correctly, these engineers (which I would say constitute a large percentage) will disappear. The age of useless coding and infinite demand is about to come to an end. What will remain is specialist engineer positions (base infra layer, systems, hpc, games, quirky hardware, cryptographers etc). I'm actually kind of curious what the effect on salary will be for these engineers, I can see it going both ways.
I get pretty good results with Claude code, Codex, and to a lesser extend Jules. It can navigate a large codebase and get me started on a feature in a part of the code I'm not familiar with, and do a pretty good job of summarizing complex modules. With very specific prompts it can write simple features well.
The nice part is I can spend an hour or so writing specs, start 3 or 4 tasks, and come back later to review the result. It's hard to be totally objective about how much time it saves me, but generally feels worth the 200/month.
One thing I'm not impressed by is the ability to review code changes, that's been mostly a waste of time, regardless of how good the prompt is.
Company expectations are higher too. Many companies expect 10x output now due to AI, but the technology has been growing so quick that there are a lot of people/companies who haven't realized that we're in the middle of a paradigm shift.
If you're not using AI for 60-70 percent of your code, you are behind. And yes 200 per month for AI is required.
Wow one of the most insightful takes I've read in a long time, hidden in the depths of a HN thread.
The mechanism you talk about is all too real, and it can be semi-consciously exploited. A bit off-topic, but the way genocides happen is via a similar mechanism. A group is depicted as base, a disease, faults are attributed to it. It becomes a moral imperative to clean the body.
This feeling is thus rationalized, and people start to reinforce each other's conviction. It becomes a twisted status game: the more you lean into the mentality, the higher you rank. Often times the goal isn't even to "address" the original trigger, it's to show your peers your approval and distance yourself from "those people". They the immoral, we the moral.
Mostly feeling like a caveman. I've been trying and failing to use it productively since the start of the hype. The amount of time wasted could've been used for actual development.
I just simply don't get it. Productivity delta is literally negative.
I've been asking to do projects where I thought "oh, maybe this project has a chance of getting an AI productivity boost". Nope. Personal projects all failed as well.
I don't get it. I guess I'm getting old. "Grandpa let me write the prompt, you write it like this".
I was never arrogant enough to think I'm a superior coder to many people, but AI code is so bad and the experience using it is so tedious that I'm starting to seriously question the skills of anyone who finds themselves more productive using AI for code instead of writing it themselves
Agreed, but I'm also open to the likely possibility that LLMs genuinely work quite well in a few niches that I don't happen to work in, like writing run-of-the-mill React components where open source training data is truly abundant.
In day to day work I could only trust it to help me with the most conventional problems that the average developer experiences in the "top N" most popular programming languages and frameworks, but I don't need help with that because search engines are faster and lead to more trustworthy results.
I turn to LLMs when I have a problem that I can't solve after at least 10 minutes of my own research, which probably means I've strayed off the beaten path a bit. This is where response quality goes down the drain. The LLM now succumbs to hallucinations and bad pattern-matching like disregarding important details, suggesting solutions to superficially similar problems, parroting inapplicable conventional wisdoms, and summarizing the top 5 google search results and calling it "deep research".
> LLMs genuinely work quite well in a few niches that I don't happen to work in, like writing run-of-the-mill React components where open source training data is truly abundant
I write run of the mill React components quite often and this has not been my experience with AI either so I really don't know what gives
perhaps 1% of the time I've asked an LLM to write code for me, has it given me something useful and not taken more time than just writing the thing myself.
It has happened, but those instances are vastly outnumbered by it spewing out garbage that I would be professionally embarrassed to ever commit into a repo, and/or me repeatedly screaming at it "no, dumbass, I already told you why that isn't a solution to the problem"
> I don't get it. I guess I'm getting old. "Grandpa let me write the prompt, you write it like this".
It's not you getting old (although we all are), it's that you are probably already experienced and can produce better and more relevant code than the mid-to-low quality code produced by any LLM even with the best prompting.
Just so we are clear, in the only current actual study measuring productivity of experienced developers using an LLM so far, it actually led to a 19% decline in productivity. So there is a big chance that you are an experienced dev, and the ones that do experience a bump in productivity are the less experienced devs.
The current LLM hype reminds me of the Scrum/Agile hype where people could swear that it works for them and it if didn't for you, you were not following some scrum ritual right. It's the same with LLMs, apparently you are not asking nicely enough and giving writing 4000 lines of pseudocode and specs to produce 1 line of well written code. LLM coding is the new Scrum: useful to an extent and in moderation, but once they become a cult, you better not engage and let it die out on its own.
There will be a whole industry of prompting "experts", prompting books, the same as there were different crops of SCRUM, SAFe, and who knows what else. All we can do is sit on the sidelines and laugh.
Hmm not my experience. I've been aggressively trying to use both Cursor and Claude Code. I've done maybe 20-30 attempts with Code at different projects, a couple of them personal small projects. All of them resulted in sub-par results, essentially unusable.
I tried to use it for Python, Rust and Bash. I also tried to use it for crawling and organizing information. I also tried to use it as a debugging buddy. All of the attempts failed.
I simply don't understand how people are using it in a way that improves productivity. For me, all of this is so far a huge timesink with essentially nothing to show for it.
The single positive result was when I asked it to optimize a specific SQL query, and it managed to do it.
Anyway I will keep trying to use it, maybe something needs to click first and it just hasn't yet.
I asked it to implement a C++ backend for an audio plug-in API (CLAP) for the DAW I'm developing and it got it right in maybe less than ten interactions. Implementing other plug-in APIs such as VST3 took me weeks to get to the same level of support.
I’ve been delighting all of my tedious tasks with as much context as I would give a person, and my personal win rate at this is substantially higher than I expected.
If you give it trash and expect gold, sure, gambling.
Which is what I meant by, "you need to be very deliberate with it", you have to spend a lot of time on the inputs to get good outputs. Which makes it feel a fair bit less like "Intelligence" and a lot more like a calculator.
Context is everything. Whether they were talking to your junior employee, or to an LLM, if you don’t say what it is, you want don’t be surprised when it’s left to interpretation and comes out wrong.
Specifically, Claude coat is really good at making markdown files of plans and if you review them add in context, you can let it run a little more free than you would otherwise.
If you don’t feel like giving it, the right amount of context, make the job smaller, where there’s just less of it to begin with.
I wouldn’t tell my interns to change the formatting of these printf statements, because I don’t feel like it, but Claude does that stuff pretty great and doesn’t complain as much.
You're probably in an obscure niche domain, or asking it to do something creative.
Try like upgrading JS package dependencies, or translating between languages, limited tedious things, and you will be surprised how much better it does.
Hmmmm.. I am working in a niche domain (Confidential Computing) and the work is fairly creative, although I wouldn't say I asked it domain-specific things. I didn't ask it to come up with encryption schemes or security protocols, I learned very quickly that it cannot even start on those problems. "Design discussions" were just sycophantic affirmations of whatever I wrote. What I mostly tried were "add this function" or "refactor this based on XY" or "analyze this piece of code for race conditions".
(Un?)fortunately my work doesn't involve a lot of "drone coding". With personal projects I let it do whatever it wanted including picking the language and libraries. With one of them it ended up so confused with the Redis API(!!!) that it kept going back and forth between different versions to "fix" the issues until it literally removed the functionality it was supposed to add. Problem solved, eh?
Oh I've definitely seen that too, even with common front-end stuff.
I think people might be exaggerating how much they are out of the loop. Claude often needs to be guided away from stupid decisions, and it will absolutely delete code in order to "fix" a problem.
Still, it saves me work on tedious stuff, and makes it more pleasant. I wouldn't ask it to do anything I don't understand, unless I don't care about the result.
My reading of the status quo is that people who use it for toy or greenfield projects written from scratch are having a blast. Until the project reaches a certain complexity in size and function when it starts to break down.
People working on existing projects in turn are scratching their heads because it's just not quite working or providing much of a productivity boost. I belong to this camp.
Exact same experience. I have no clue what other people are doing. I was hunting for use cases where it could be used and it kept not working. I don't get it.
I'm not sure if it's Rust related. It manages to write the Rust code just fine, it's just that it doesn't seem to
- think of everything that is needed for a feature (fixable via planning at the beginning)
- actually follow that plan correctly
I just tried with a slightly big refactor to see if some changes would improve performance. I had it write the full plan and baseline benchmarks to disk, then let it go in yolo mode. When it was done it only implemented something like half of the planning phases and was saying the results look good despite all the benchmarks having regressed.
I've encountered human Rust programmers that exhibit this behavior. I think that Rust may be falling victim to its own propaganda, as developers come to believe that the borrow checker will fix their logic errors, not just flag up memory management that's at risk of buffer overflow or UAF.
Also tried it with Python. The autocomplete there was ok-ish(although to me the "wait for it -> review suggested code" cycle is a bit too slow), but getting it to code even standalone well-defined functions was a clear failure. I spent more time trying to fix prompts than it took to write the functions in the first place.
I was skeptical at first, but after trying to use it several times for work (Cursor/Claude) I concluded that it's worse than I thought. Lot more time wasted for little to no results. Maybe for boilerplate frontend code or TODO app generation it's good or something?
Anyway in a couple of months I'll try again. Until that time, I guess the search result summaries are nice?
I'm more and more confident I must be doing something wrong. I (re)tried using Claude about a month ago and I simply stopped using it after about two weeks because on one hand productivity did not increase(perhaps even decreased), but on the other hand it made me angry because of the time wasted on its mistakes. I was also mostly using it on Rust code, so I'm even more surprised about the article. What am I doing wrong? I've been mostly using the chat functionality and auto-complete, is there some kind of secret feature I'm missing?
I'd love to watch a video of someone using these tools well, because I am not getting much out of it. They save some time, sometimes, but they're nowhere near the 5x boost that some people claim.
There is a strange dynamic currently at play in the software labour market where the demand is so huge that the market can bear completely inefficient coders. Even though the difference between a good and a bad software engineer is literally orders of magnitude.
Quite a few times I encountered programmers "in the wild" - in a sauna, on the bus etc, and overheard them talking about their "stack". You know the type, node.js in a docker container. I cannot fathom the amount of money wasted at places that employ these people.
I also project that actually, if we adopt LLMs correctly, these engineers (which I would say constitute a large percentage) will disappear. The age of useless coding and infinite demand is about to come to an end. What will remain is specialist engineer positions (base infra layer, systems, hpc, games, quirky hardware, cryptographers etc). I'm actually kind of curious what the effect on salary will be for these engineers, I can see it going both ways.