I really disagree, programming is not dead. Far from it, we need skilled practitioners and designers now more than ever. I discussed this detail in The Decoherence Trap, which was trending for a minute there, but another (quicker) thing I'd recommend reading is my AI usage policy's section on coding.
In short, if you don't aggressively create and maintain solid, well thought out abstraction layers that are human driven, and only use AI at the edges, you're going to find yourself in sleep walking into an unmaintainable mess sooner rather than later. We already struggled with decoherence and code maintainability prior to AI, and AI is only accelerating it.
I say this as an early adopter, having seen every strategy and idea play out. There simply is no way to prevent decoherence, and the faster and harder you push AI, the more decoherence it adds.
Anyways, take heart, there's going to be plenty of slop for us to clean up for a very long time.
This might be a tangent to the main conversation, but I was wondering about your AI usage policy where you write:
As a coder, I do not think there is any ethical issue with using AI to write code (outside of environmental and societal impacts, see below)
Where do you stand on the licensing concerns of LLM output? I'm thinking specifically about papers like https://arxiv.org/html/2408.02487v3 that conclude:
Using LiCoEval, we evaluate 14 popular LLMs, finding that even top-performing LLMs produce a non-negligible proportion (0.88% to 2.01%) of code strikingly similar to existing open-source implementations. Notably, most LLMs fail to provide accurate license information, particularly for code under copyleft licenses.
From your other views, I feel like you probably think this is unethical, but it's not clear from that line I quoted in your AI usage policy. Maybe you have an interesting take?
Ah, that is a good point, I will update to include a note on this.
I do believe that violating copyleft licenses is unethical, and non attribution is problematic. However, I also don't believe in copyleft licenses (or any other forms of IP) as a general good structure. IP has been IMO a major source of decoherence in the economy writ large, and it's one of the main issues that I will be tackling in the upcoming essay on Open Capital.
That said, it is unethical to not follow the structures a creator decides to impose on their work, and I believe it is neutral to choose a restrictive license (it's not a right or wrong thing, as much as a right or left thing). I'm more so speaking at the macro level of economic outcomes, and the unintentional structures that restrictive licenses reinforce and validate.
(And to be clear, closed source systems are orders of magnitude worse and the real problem, IMO. Copyleft is just one attempt to break them open, and it doesn't work)
Been really feeling this recently, having trouble sleeping, considering therapy. But for now I've just been talking to friends in and out of tech and listening to podcasts/videos of interviews with mathematicians, the best one so far from The Daily. Everything is moving so fast that I feel like I don't have time to emotionally process it all.
I hear you, brother/sister. My programming friends shrug or are too employed to not adapt to the times. My other acquaintances don’t understand what is going on so my lamentations fall to deaf ears, meanwhile I am in deep pain and turmoil in the knowledge that my career has disappeared, I have to reinvent a new career in the trades most likely, in my 40s, and it’s a path through hell I am walking alone (and by offering my understanding to fellow engineers like you who aren’t afraid to voice what they are going through)
It is bad. But I do believe in human resilience. I am certain I will find happiness raising chickens and growing tomatoes when I eventually get out of my funk.
My piece of advice is don’t listen to those who try to convince you ‘we are gonna be fine’ and plan for the worst. Nobody knows what’s gonna happen, but we are in an extreme scenario and there is no way we ever return to the baseline we have known for decades.
That sort of describes me. Things seem to be fine (for now). And starting a new career in my forties seems like it would be more than a little painful, especially since abstract thinking is one of the things I have above-average affinity with - which looks like it might become the least relevant aspect of any future career.
But every three months, these LLMs seem to be getting better. They went from "That sort of looks like a python program, if you squint" to "they're able to produce complex modifications that would pass an uncharitable code review".
Companies like Anthropic are able to centralize programming best-practices. I think it's economies of scale that are going to kill the profession.
Yes, LLMs may introduce decoherence, as @maevyn has argued, but this is something we used to see in human-written codebases as well, and it seems plausible to me that LLMs will be superior at analysing and dealing with that as well.
If you are having trouble sleeping then these feelings are already impacting your life. I'd really recommend therapy. It'll be work but you'll come out better for it.
I keep seeing LLMs as the deal with the devil. The problem has never been that their benefit is overblown. No, they are as good as they say, and this is why we’re effed. The tradeoff is infinitely negative: in accepting them, you have killed your own career for everybody.
And I like programming, right? Then why more and more do I reach for the agent before the text editor?
I know you probably wrote this as a rhetorical question, but I think it deserves a real answer. I think there's a hint in the next line:
It's addictive and meaningless.
I am very intrigued by your choice of words. As someone that doesn't find AI agents and bots addicting (but does find them useful), I wonder if perhaps the gap in understanding between the pro-AI and anti-AI factions is a little bit like the gap between gambling addicts and non-addicts: One group simply cannot fathom the allure of the slot machine while the other group can't understand living without it.
AIs give plausible sounding ideas about next steps, whether you understand them or not. When I'm comfortable in the domain and can evaluate the AI, I don't feel much of an addictive pull. But once I step too far outside my own understanding, which this technology tempts me to try, each time the AI will tell me "I can fix this!" and gives an explanation I can't fully evaluate, and then the pull of "one.. more... turn" is much stronger for me.
For example, ask the AI to build you a climate simulation. It'll say all kinds of plausible stuff quoting scientific papers and the like, building something. Then when you then find the wind speed going to infinity in parts of your simulation it may not be within its capabilities to fix it, while continuing to suggest it totally can do it.
The way I look at is: the job was to solve problems, and the way we solved problems was by working on little logic puzzles. Well, the logic puzzles are going away (sort of), which might feel a bit sad, but they were never the point of the job.
What do you tell people for whom the little logical puzzles were the entire reason to get into this field? It is (or, was?) a large part of the job, after all!
One take I've been mulling around is that traditional enterprise "programmers" will become something more akin to "product managers". In 5 years, they'll be completely outcome-focused. Does an app/feature deliver value, does it run fast/efficiently, is it reliable/tested, and is it secure? The language won't matter -- It could be written in Brainfuck for all anyone will care.
My problem is, if programmers and mathematicians are not safe, who is? No knowledge worker, I'm guessing. With typed languages and LLMs that drive them, most things can be automated away, it seems.
I'm annoyed and worried about the future of employment, in general, not just for programmers and mathematicians. I don't know what comes next.
Anyone have any thoughts on this? Any advice towards people who are seeking employment for the first time in their life? Where to go?
Nobody knows what comes next. Do what you love, but the old paths to employment are not as clear as they were. Be part of communities, that is where interesting people look when they want collaborators and coworkers.
Likewise, a non-programmer might be able to prompt some software into existence, but that's miles away from being able that software in front of actual paying customers, successfully manage it, scale it, and fix it when it goes wrong.
We've had almost a year of pure vibe coders building software now. I'm seeing plenty of examples of people building personal software for themselves, but precious few of a pure vibe coder deploying software to customers without it turning into a disaster.
What I'm seeing instead is experienced programmers becoming enormously more effective, because their expertise now takes them so much further.
The strongest positive sign I've seen on the junior programmer front was last year when both Cloudflare and Shopify increased their intern hiring (to over 1,000 each) because they saw interns becoming valuably productive in much less time then previously.
At the same time though job opportunities for juniors are clearly down. It's also not clear if those companies (and other similar sized organizations) are going to stick with increased intern programs.
It's completely ridiculous - it's certain death for the industry. In the meantime the actual experienced engineers will be able to command even larger salaries, as long as they're willing to put up with having to babysit LLMs and spend the rest of their days reviewing slop. I can only see more experienced engineers like myself leaving in disgust (I would if I had no mortgage and dependents), and no new people getting trained to replace them.
At least those of us who have already "arrived" (in terms of knowledge and experience actually writing software) will be able to coast and reap the benefits.
I can't actually name any successful vibe coded products that didn't have an experienced engineer involved. I'm not willing to say they don't exist because maybe I didn't hear about them, but I would expect any vibe coded products by non-engineers to have been loudly discussed by now.
I get the impression that anyone who hits real product market fit with a vibe coded project hires an actual engineer as soon as there's money on the line, but I can't support that with examples either.
Thanks. That matches my personal observation or dare I say bias, hence my question. I’m sure you’ll blog about it when you see it. I’ll reevaluate in a few weeks/months.
maevyn | 22 hours ago
I really disagree, programming is not dead. Far from it, we need skilled practitioners and designers now more than ever. I discussed this detail in The Decoherence Trap, which was trending for a minute there, but another (quicker) thing I'd recommend reading is my AI usage policy's section on coding.
In short, if you don't aggressively create and maintain solid, well thought out abstraction layers that are human driven, and only use AI at the edges, you're going to find yourself in sleep walking into an unmaintainable mess sooner rather than later. We already struggled with decoherence and code maintainability prior to AI, and AI is only accelerating it.
I say this as an early adopter, having seen every strategy and idea play out. There simply is no way to prevent decoherence, and the faster and harder you push AI, the more decoherence it adds.
Anyways, take heart, there's going to be plenty of slop for us to clean up for a very long time.
tombh | 13 hours ago
This might be a tangent to the main conversation, but I was wondering about your AI usage policy where you write:
Where do you stand on the licensing concerns of LLM output? I'm thinking specifically about papers like https://arxiv.org/html/2408.02487v3 that conclude:
From your other views, I feel like you probably think this is unethical, but it's not clear from that line I quoted in your AI usage policy. Maybe you have an interesting take?
maevyn | 9 hours ago
Ah, that is a good point, I will update to include a note on this.
I do believe that violating copyleft licenses is unethical, and non attribution is problematic. However, I also don't believe in copyleft licenses (or any other forms of IP) as a general good structure. IP has been IMO a major source of decoherence in the economy writ large, and it's one of the main issues that I will be tackling in the upcoming essay on Open Capital.
That said, it is unethical to not follow the structures a creator decides to impose on their work, and I believe it is neutral to choose a restrictive license (it's not a right or wrong thing, as much as a right or left thing). I'm more so speaking at the macro level of economic outcomes, and the unintentional structures that restrictive licenses reinforce and validate.
(And to be clear, closed source systems are orders of magnitude worse and the real problem, IMO. Copyleft is just one attempt to break them open, and it doesn't work)
tombh | 7 hours ago
Ohh those are some interesting ideas! Thanks. I look forward to that blog post.
LolPython | a day ago
Been really feeling this recently, having trouble sleeping, considering therapy. But for now I've just been talking to friends in and out of tech and listening to podcasts/videos of interviews with mathematicians, the best one so far from The Daily. Everything is moving so fast that I feel like I don't have time to emotionally process it all.
sph | 17 hours ago
I hear you, brother/sister. My programming friends shrug or are too employed to not adapt to the times. My other acquaintances don’t understand what is going on so my lamentations fall to deaf ears, meanwhile I am in deep pain and turmoil in the knowledge that my career has disappeared, I have to reinvent a new career in the trades most likely, in my 40s, and it’s a path through hell I am walking alone (and by offering my understanding to fellow engineers like you who aren’t afraid to voice what they are going through)
It is bad. But I do believe in human resilience. I am certain I will find happiness raising chickens and growing tomatoes when I eventually get out of my funk.
My piece of advice is don’t listen to those who try to convince you ‘we are gonna be fine’ and plan for the worst. Nobody knows what’s gonna happen, but we are in an extreme scenario and there is no way we ever return to the baseline we have known for decades.
michiel | 16 hours ago
That sort of describes me. Things seem to be fine (for now). And starting a new career in my forties seems like it would be more than a little painful, especially since abstract thinking is one of the things I have above-average affinity with - which looks like it might become the least relevant aspect of any future career.
But every three months, these LLMs seem to be getting better. They went from "That sort of looks like a python program, if you squint" to "they're able to produce complex modifications that would pass an uncharitable code review".
Companies like Anthropic are able to centralize programming best-practices. I think it's economies of scale that are going to kill the profession.
Yes, LLMs may introduce decoherence, as @maevyn has argued, but this is something we used to see in human-written codebases as well, and it seems plausible to me that LLMs will be superior at analysing and dealing with that as well.
doyougnu | 7 hours ago
If you are having trouble sleeping then these feelings are already impacting your life. I'd really recommend therapy. It'll be work but you'll come out better for it.
LolPython | 7 hours ago
It's true, I'll look into it. Thanks.
sph | 17 hours ago
I keep seeing LLMs as the deal with the devil. The problem has never been that their benefit is overblown. No, they are as good as they say, and this is why we’re effed. The tradeoff is infinitely negative: in accepting them, you have killed your own career for everybody.
eminence32 | 17 hours ago
I know you probably wrote this as a rhetorical question, but I think it deserves a real answer. I think there's a hint in the next line:
I am very intrigued by your choice of words. As someone that doesn't find AI agents and bots addicting (but does find them useful), I wonder if perhaps the gap in understanding between the pro-AI and anti-AI factions is a little bit like the gap between gambling addicts and non-addicts: One group simply cannot fathom the allure of the slot machine while the other group can't understand living without it.
faassen | 6 hours ago
AIs give plausible sounding ideas about next steps, whether you understand them or not. When I'm comfortable in the domain and can evaluate the AI, I don't feel much of an addictive pull. But once I step too far outside my own understanding, which this technology tempts me to try, each time the AI will tell me "I can fix this!" and gives an explanation I can't fully evaluate, and then the pull of "one.. more... turn" is much stronger for me.
For example, ask the AI to build you a climate simulation. It'll say all kinds of plausible stuff quoting scientific papers and the like, building something. Then when you then find the wind speed going to infinity in parts of your simulation it may not be within its capabilities to fix it, while continuing to suggest it totally can do it.
lbarrow | 9 hours ago
The way I look at is: the job was to solve problems, and the way we solved problems was by working on little logic puzzles. Well, the logic puzzles are going away (sort of), which might feel a bit sad, but they were never the point of the job.
sjamaan | 8 hours ago
What do you tell people for whom the little logical puzzles were the entire reason to get into this field? It is (or, was?) a large part of the job, after all!
rak | 21 hours ago
One take I've been mulling around is that traditional enterprise "programmers" will become something more akin to "product managers". In 5 years, they'll be completely outcome-focused. Does an app/feature deliver value, does it run fast/efficiently, is it reliable/tested, and is it secure? The language won't matter -- It could be written in Brainfuck for all anyone will care.
gunduzc | a day ago
My problem is, if programmers and mathematicians are not safe, who is? No knowledge worker, I'm guessing. With typed languages and LLMs that drive them, most things can be automated away, it seems.
I'm annoyed and worried about the future of employment, in general, not just for programmers and mathematicians. I don't know what comes next.
Anyone have any thoughts on this? Any advice towards people who are seeking employment for the first time in their life? Where to go?
eldondev | a day ago
Nobody knows what comes next. Do what you love, but the old paths to employment are not as clear as they were. Be part of communities, that is where interesting people look when they want collaborators and coworkers.
simonw | 22 hours ago
I continue to hold on to my belief that programmers and mathematicians are safe.
What's a non-mathematician even meant to do with this navier-stokes.pdf?
Likewise, a non-programmer might be able to prompt some software into existence, but that's miles away from being able that software in front of actual paying customers, successfully manage it, scale it, and fix it when it goes wrong.
We've had almost a year of pure vibe coders building software now. I'm seeing plenty of examples of people building personal software for themselves, but precious few of a pure vibe coder deploying software to customers without it turning into a disaster.
What I'm seeing instead is experienced programmers becoming enormously more effective, because their expertise now takes them so much further.
dlisboa | 21 hours ago
Experienced ones, yes. I’ve not seen a company hiring juniors in years. Expectations for the future from recent graduates seems to at an all time low.
That can definitely mean death as new people don’t get in.
simonw | 19 hours ago
The strongest positive sign I've seen on the junior programmer front was last year when both Cloudflare and Shopify increased their intern hiring (to over 1,000 each) because they saw interns becoming valuably productive in much less time then previously.
At the same time though job opportunities for juniors are clearly down. It's also not clear if those companies (and other similar sized organizations) are going to stick with increased intern programs.
sjamaan | 14 hours ago
It's completely ridiculous - it's certain death for the industry. In the meantime the actual experienced engineers will be able to command even larger salaries, as long as they're willing to put up with having to babysit LLMs and spend the rest of their days reviewing slop. I can only see more experienced engineers like myself leaving in disgust (I would if I had no mortgage and dependents), and no new people getting trained to replace them.
At least those of us who have already "arrived" (in terms of knowledge and experience actually writing software) will be able to coast and reap the benefits.
michiel | 12 hours ago
I think the best way to make sure young, ambitious people will try to replace you, is to crowd them out and undermine their careers :)
In the mean time, those of us who think our "experience" will shield us from market realities, should try to read Marko Terviö's writing on "uncertain superstars": http://piketty.pse.ens.fr/files/oldfichiers051211/enseig/ecoineg/EcoIneg_fichiers/TervioRES2009.pdf
ur5us | 21 hours ago
What are those? And why do you think they good or even just ok? Are you or would you use them and/or recommend to others?
simonw | 18 hours ago
I can't actually name any successful vibe coded products that didn't have an experienced engineer involved. I'm not willing to say they don't exist because maybe I didn't hear about them, but I would expect any vibe coded products by non-engineers to have been loudly discussed by now.
I get the impression that anyone who hits real product market fit with a vibe coded project hires an actual engineer as soon as there's money on the line, but I can't support that with examples either.
ur5us | an hour ago
Thanks. That matches my personal observation or dare I say bias, hence my question. I’m sure you’ll blog about it when you see it. I’ll reevaluate in a few weeks/months.
mlatu | 13 hours ago
to be replaced, you have to allow for such a replacement.