A very similar topic was discussed here: https://news.ycombinator.com/item?id=48392004 and I make the exact same conclusion:
All of this makes me selfishly excited for my own future. It's glaringly obvious that anyone who's a heavy user of LLMs is atrophying their skills in real-time. I have yet to meet a single person for whom it's not the case. But I essentially completely stopped using them for software engineering (why isn't really relevant, but it's not because od this skill atrophy). So as the skills of everyone else is diminishing, mine is proportionally raising.
It has never been easier to get better than others. You don't need to put in more effort, just the same effort as you always have, and others will do the job of losing their skills for your own benefit.
Every time I see an anecdote like this, A it reaffirms my belief that FAANG devs are fairly mediocre on the whole (not saying this is you, obviously there are good FAANG devs) and B it reaffirms my belief that the developers who kind of give up their thinking like this are really using the tool wrong or didn't really care about the work before AI either so its now just a quick means to an end.
I think another (partially causal?) problem is how they're managed. The whole perf circus is just ridiculous, especially the stuff recently reported about facebook. But they're all more or less like that. Steeped in that cocktail of incentives, who even knows what might happen to an otherwise excellent engineer.
But also just numerically, they can't be much above average, on average, because there are so many.
There are as many CS grads every 2 years in the US alone as total software engineers employed by FAANGs...
LLMs will implement what you ask them to, even if it is the wrong approach. They can be lazy and take shortcuts all the time, but they do not feel PAIN (obviously they don't feel anything and aren't lazy, I'm just personifying them but you get the point). Only when you implement by hand can you feel if the implementation of your design is painful or not, and only this signal can tell you if your design if truly good or not.
I do think LLMs are useful for design work, they are good at asking clarifications and probing questions which actually do push you to approach problems differently, but leaving implementation of designs to LLM is a recipe for disaster, and judging your own design skills when you're not implementing such designs is seriously laughable. And to be clear, it already was before LLMs, when "software architects" were just designing and then had peons implement for them.
LLMs are enabling a whole new level of bad code that is best describe by the following Jurassic Park quote: “Your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should.”.
> A it reaffirms my belief that FAANG devs are fairly mediocre on the whole
Off-topic but having worked in other companies as well, I can guarantee you that this is not the case. The skill of engineers in FAANGs and other "top tier" companies is much higher than average.
Fwiw we both agree that LLMs should not design systems. I do the design, but otherwise I don't get how this is true, the success of a design is indicated by long term success in the system it built. You can measure this against success in the task it was deployed for via performance metrics for one. And then from a developer standpoint how easy it was to maintain later on. Success of a system is a measurement over time, but it's not some quality that can only be measured by those who built it.
> Off-topic but having worked in other companies as well, I can guarantee you that this is not the case. The skill of engineers in FAANGs and other "top tier" companies is much higher than average.
I have first hand knowledge of this so I agree to disagree. Being surrounded by google, aws, and meta folks my understanding is the best people leave faang when they get the itch to do something better with their time.
I think this touches obliquely on a point I keep coming back to, that one of the most important things a codebase does is to communicate ideas about how a process should work. Yes, it also produces some binary that runs on a bunch of servers or whatever, but that's a really temporary, ephemeral artifact. The lasting thing is the idea. Making your ideas (expressed in code) easy to understand, easy to work with, and easy to evolve in time is the art of software engineering. I 100% agree, from my own experimentation with LLMs, glancing at something a model has produced and checking that it has some test coverage isn't enough to know whether it's well-engineered. You'll only find out later when you try to work with the code.
Sure horses are more efficient, but cars are faster and more convenient, and allow you to get a lot more done.
Also cars will get better in our lifetime, horses are horses.
Perhaps it would be better to compare somebody who drives a car vs someone who used to drive but now uses Uber.
To continue the modified analogy, if your friends lost the ability to walk, you’d be quite worried, right?
> my ability to reason over and edit code
You can't be able to do one but not the other, they're the same thing.
> I suspect that your LLM-pilled coworkers' judgment issues are related to laziness that LLMs have enabled, rather than an inherent property of LLM use.
Does it matter? The end result is the same. Maybe the studies that the article mentions are simply showcasing the exact same effect that you're suggesting here, but it doesn't change the fact that there is indeed a negative outcome.
It matters. If LLMs are like alcohol, useful but potentially dangerous, they should be treated very differently than if they're just poison. If someone's a drunk and they can't keep their lives together, it's not the alcohol's fault, it's the person's.
I'm no code ninja at the best of times. It's scary to hear that's happening to top engineers.
I need an exit strategy. Anyone else come off AI?
So far I’m very happy with my decision.
I wrote about it here: https://news.ycombinator.com/item?id=48083162
> I had the same experience over the past year with early coding harness at the beginning of the year, then Claude code since its release date. But after 1+year going that direction I really don’t want to continue. The novelty is gone, dealing with AI now feels frustrating and boring, I miss engaging deeply with the actual lower level technical challenges. I do not want to manage fleets of agents. I do not want to rediscover for the hundredth time that in fact all this time an agent took shortcuts for acceptance tests I rely upon and didn’t catch. Or once again get the agent to understand why and what I want it to do after its context got bloated and it start to drift completely. While I got artifacts I can use (libraries, tools, docs), including some things that I’m pretty confident are SoA I do not feel satisfied anymore knowing that I used a model to generate them, even if I was the one designing every part of it. I do feel that I’m lying anytime I come to a colleague to share a new cool tool I have made.
> YMMV but I’m personally feeling burnt out with AI coding agents and ready to go back to the old ways for my next personal project
And also here (specifically to human communication): https://sam.elborai.me/articles/no-more-llm-comms/.
Avoiding tool use because you're afraid you won't be able to use the tool responsibly is not likely to be a winning strategy in the end. Learning to use the tool well is much more effective.
I think a lot of academics and researchers who code but aren’t software engineers or CS majors are going to benefit, provided they take the time to prove what the model does and are curious about whether it’s doing something sensible!
Relative to a 1% coder hand rolling something then yes it’s AI slop etc. but it’s prob still raising the bar generally.
I think this highlights the difference between the “how do I make a ham sandwich?” approach of chat vs the “sudo make me a ham sandwich” of agentic coding.
Unfortunately FAANG incentives this behaviour with their token leaderboards and general push for velocity over anything else (other than goog maybe)
The article's claim is probably true, but not really an argument against AI. Using keyboards degrades my ability to write by hand but that's not a good argument against keyboards. AI will become another tool that allows us to operate more effectively and at a higher level of abstraction. Just like keyboards and Python.
Now, we still occasionally need people who can write assembly (and do calligraphy). But mostly we don't.