Everybody talks about AI killing programming jobs, but any developer who has had to use it knows it can do anything complex in programming. What it’s really going to replace is program managers, customer reps, makes most of HR obsolete, finance analysts, legal teams, and middle management. This people have very structured, rule based day to days. Getting an AI to write a very customized queuing system in Rust to suit your very specific business needs is nearly impossible. Getting AI to summarize Jira boards, analyze candidates experience, highlight key points of meetings (and obsolete most of them altogether), and gather data on outstanding patents is more in its wheelhouse.
I am starting to see a major uptick in recruiters reaching out to me because companies are starting to realize it was a mistake to stop hiring Software Engineers in the hopes that AI would replace them, but now my skills are going to come at a premium just like everyone else in Software Engineering with skills beyond “put a react app together”
Trouble is, you’re basing all that on now, not a year from now, or 6 months from now. It’s too easy to look at it’s weaknesses today and extrapolate. I think people need to get real about coding and AI. Coding is language and rules. Machines can learn that enormously faster and more accurately than humans. The ones who survive will be those who can wield it as a tool for creativity. But if you think it won’t be capable of all the things it’s currently weak at you’re just kidding yourself unfortunately. It’ll be like anything else - a tool for an operator. Middlemen will be wiped out of the process, of course, but those with money remain those without time or expertise, and there will always be a place for people willing to step in at that point. But they won’t be coding. They’ll be designing and solving problems.
We are 18 months into AI replacing me in 6 months. I mean… the CEO of OpenAI as well as many researchers have already said LLMs have mostly reached their limit. They are “generalizers” and if you ask them to do anything new they hallucinate quite frequently. Trying to get AI to replace developers when it hasn’t even replaced other menial office jobs is like saying “we taught AI to drive, it will replace all F1 drivers in 6 months”.
McDonald’s tried to get AI to take over order taking. And gave up.
Yeah, it’s not going to be coming for programmer jobs anytime soon. Well, except maybe a certain class of folks that are mostly warming seats that at most get asked to prep a file for compatibility with a new Java version, mostly there to feed management ego about ‘number of developers’ and serve as a bragging point to clients.
It’s based on the last few years of messaging. They’ve consistently said AI will do X, Y, and Z, and it ends up doing each of those so poorly that you need pretty much the same staff to babysit the AI. I think it’s actually a net-negative in terms of productivity for technical work because you end up having to go over the output extremely carefully to make sure its correct, whereas you’d have some level of trust with a human employee.
AI certainly has a place in a technical workflow, but it’s nowhere close to replacing human workers, at least not right now. It’ll keep eating at the fringes for the next 5 years minimum, if not indefinitely, and I think the net result will be making human workers more productive, not replacing human workers. And the more productive we are per person, the more valuable that person is, and the more work gets generated.
An inherent flaw in transformer architecture (what all LLMs use under the hood) is the quadratic memory cost to context. The model needs 4 times as much memory to remember its last 1000 output tokens as it needed to remember the last 500. When coding anything complex, the amount of code one has to consider quickly grows beyond these limits. At least, if you want it to work.
This is a fundamental flaw with transformer - based LLMs, an inherent limit on the complexity of task they can ‘understand’. It isn’t feasible to just keep throwing memory at the problem, a fundamental change in the underlying model structure is required. This is a subject of intense research, but nothing has emerged yet.
Transformers themselves were old hat and well studied long before these models broke into the mainstream with DallE and ChatGPT.
The real work of software engineering isn’t the coding. That is like saying that being a doctor is all about reading health charts. Planning, designing, testing and maintaining software is the hard part, and it is often much more political than it is a technical challenge. I’m not worried about getting replaced by AI. In fact, LLMs ability to generate high volumes of code only makes the skills to understand it to be more in demand.
It’s tons easier to repkace CEOs, HR, managers and so on than coders. Coders needs to be creative, an HR or manager not so much. Are they leaving three months from now you think?
I’ll start worrying when they are all gone.
Copilot can’t even suggest a single Ansible or Terraform task without suggesting invalid/unsupported options. I can’t imagine how bad it is at doing anything actually complex with an actual programming language.
It also doesn’t know what’s going on a couple line before it, so say I am in a language that has options for functional styling using maps and I want to keep that flow going, it will start throwing for loops at you, so you end up having to rewrite it all anyway. I have find I end up spending more time writing the prompts then validating it did what I want correctly (normally not) than just looking at the docs and doing it myself, the bonus being I don’t have to reprompt it again later because now I know how to do it
deleted by creator
I made this meme a while back and I think it’s relevant
Looking at your examples, and I have to object at putting scratch in there.
My kids use it in clubs, and it’s great for getting algorithmic basics down before the keyboard proficiency is there for real coding.
that’s just how the code is rendered. There’s still all the usual constructs
It’s still code. What makes scratch special is that it structurally rules out syntax errors while still looking quite like ordinary code. Node editors – I have a love and hate relationship with them. When you’re in e.g. Blender throwing together a shader it’s very very nice to have easy visualisation of literally everything, but then you know you want to compute
abs(a) + sin(b) + c^2
and yep that’s five nodes right there because apparently even the possibility to type in a formula is too confusing for artists. Never mind that Blender allows you to input formulas (without variables though) into any field that accepts a number.
I’m curious about what the “upskilling” is supposed to look like, and what’s meant by the statement that most execs won’t hire a developer without AI skills. Is the idea that everyone needs to know how to put ML models together and train them? Or is it just that everyone employable will need to be able to work with them? There’s a big difference.
I know how to purge one off of a system, does that count?
I’m going with the latter. Even my old college which is heavily focused on development is incorporating AI into the curriculum. Mainly because they’re all using it to solve their assignments anyway. Since it isn’t likely to go away and it’s a ‘tool’ they’ll have available when they hit the workforce they are allowing its use.
I’m not looking forward to seeing code written by some of these people in the wild. Most of the AI code I’ve seen is truly horrendous. I can’t imagine an entire business application of just strung together AI code being maintainable at all.
I’ll just leave this here cause this future reality is even worse since they likely don’t understand the code to begin with.
The only people who would say this are people that don’t know programming.
LLMs are not going to replace software devs.
The one thing that LLMs have done for me is to make summarizing and correlating data in documents really easy. Take 20 docs of notes about a project and have it summarize where they are at so I can get up to speed quickly. Works surprisingly well. I haven’t had luck with code requests.
I don’t know if you noticed but most of the people making decisions in the industry aren’t programmers, they’re MBAs.
Irrelevant, anyone who tries to replace their devs with LLMs will crash and burn. The lessons will be learned. But yes, many executives will make stupid ass decisions around this tech.
It’s really sad how even techheads ignore how rapidly LLM coding has come in the last 3 years and what that means in the long run.
Just look how rapidly voice recognition developed once Google started exploiting all of its users’ voice to text data. There was a point that industry experts stated ‘There will never be a general voice recognition system that is 90%+ across all languages and dialects.’ And google made one within 4 years.
The natural bounty of a no-salary programmer in a box is too great for this to ever stop being developed, and the people with the money only want more money, and not paying devs is something they’ve wanted since the coding industry literally started.
Yes its terrible now, but it is also in its infancy, like voice recognition in the late 90s it is a novelty with many hiccoughs. That won’t be the case for long and anyone who confidently thinks it can’t ever happen will be left without recourse when it does.
But that’s not even the worst part about all of this but I’m not going into black box code because all of you just argue stupid points when I do but just so you know, human programming will be a thing of the past outside of hobbyists and ultra secure systems within 20 years.
Maybe sooner
Maybe in 20 years. Maybe. But this article is quoting CEOs saying 2 years, which is bullshit.
I think it’s just as likely that in 20 years they’ll be crying because they scared enough people away from the career that there aren’t enough developers, when the magic GenAI that can write all code still doesn’t exist.
yeah 2 years is bullshit but with innovation, 10 years is still reasonable and fucking terrifying.
That’s not what was said. He specifically said coding.
Wrong, this is also exactly what people selling LLMs to people who can’t code would say.
It’s this. When boards and non-tech savvy managers start making decisions based on a slick slide deck and a few visuals, enough will bite that people will be laid off. It’s already happening.
There may be a reckoning after, but wall street likes it when you cut too deep and then bounce back to the “right” (lower) headcount. Even if you’ve broken the company and they just don’t see the glide path.
It’s gonna happen. I hope it’s rare. I’d argue it’s already happening, but I doubt enough people see it underpinning recent lay offs (yet).
I can see the statement in the same way word processing displaced secretaries.
There used to be two tiers in business. Those who wrote ideas/solutions and those who typed out those ideas into documents to be photocopied and faxed. Now the people who work on problems type their own words and email/slack/teams the information.
In the same way there are programmers who design and solve the problems, and then the coders who take those outlines and make it actually compile.
LLM will disrupt the programmers leaving the problem solvers.
There are still secretaries today. But there aren’t vast secretary pools in every business like 50 years ago.
It’ll have to improve a magnitude for that effect. Right now it’s basically an improved stack overflow.
…and only sometimes improved. And it’ll stop improving if people stop using Stack Overflow, since that’s one of the main places it’s mined for data.
Nah, it’s built into the editors and repos these days.
?
If no one uses Stack Overflow anymore, then no one posts new answers. So AI has no new info to mine.
They are mining the IDE and GitHub.
Good take
I thought by this point everyone would know how computers work.
That, uh, did not happen.
The problem with this take is the assertion that LLMs are going to take the place of secretaries in your analogy. The reality is that replacing junior devs with LLMs is like replacing secretaries with a network of typewriter monkeys who throw sheets of paper at a drunk MBA who decides what gets faxed.
I’m saying that devs will use LLM’s in the same way they currently use word processing to send emails instead of handing hand written notes to a secretary to format, grammar/spell check, and type.
I wrote a comment about this several months ago on my old kbin.social account. That site is gone and I can’t seem to get a link to it, so I’m just going to repost it here since I feel it’s relevant. My kbin client doesn’t let me copy text posts directly, so I’ve had to use the Select feature of the android app switcher. Unfortunately, the comment didn’t emerge unscathed, and I lack the mental energy to fix it due to covid brain fog (EDIT: it appears that many uses of
I
were not preserved). The context of the old post was about layoffs, and it can be found here: https://kbin.earth/m/asklemmy@lemmy.ml/t/12147I want to offer my perspective on the Al thing from the point of view of a senior individual contributor at a larger company. Management loves the idea, but there will be a lot of developers fixing auto-generated code full of bad practices and mysterious bugs at any company that tries to lean on it instead of good devs. A large language model has no concept of good or bad, and it has no logic. happily generate string- templated SQL queries that are ripe for SQL injection. I’ve had to fix this myself. Things get even worse when you have to deal with a shit language like Bash that is absolutely full of God awful footguns. Sometimes you have to use that wretched piece of trash language, and the scripts generated are horrific. Remember that time when Steam on Linux was effectively running rm -rf /* on people’s systems? I’ve had to fix that same type of issue multiple times at my workplace.
I think LLMs will genuinely transform parts of the software industry, but I absolutely do not think they’re going to stand in for competent developers in the near future. Maybe they can help junior developers who don’t have a good grasp on syntax and patterns and such. I’ve personally felt no need to use them, since spend about 95% of my time on architecture, testing, and documentation.
Now, do the higher-ups think the way that do? Absolutely not. I’ve had senior management ask me about how I’m using Al tooling, and they always seem so disappointed when I explain why I personally don’t feel the need for it and what feel its weaknesses are. Bossman sees it as a way to magically multiply IC efficiency for nothing, so absolutely agree that it’s likely playing a part in at least some of these layoffs.
Basically, I think LLMs can be helpful for some folks, but my experience is that the use of LLMs by junior developers absolutely increases the workload of senior developers. Senior developers using LLMs can experience a productivity bump, but only if they’re very critical of the output generated by the model. I am personally much faster just relying on traditional IDE auto complete, since I don’t have to change from “I’m writing code” mode to “I’m reviewing code mode.”
The one colleague using AI at my company produced (CUDA) code with lots of memory leaks that required two expert developers to fix. LLMs produce code based on vibes instead of following language syntax and proper coding practices. Maybe that would be ok in a more forgiving high level language, but I don’t trust them at all for low level languages.
I was trying to use it to write a program in python for this macropad I bought and I have yet to get anything usable out of it. It got me closer than I would have been by myself and I don’t have a ton of coding experience so it’s problems are probably partially on me but everything it’s given me has required me to correct it to work.
Will there even be a path for junior level developers?
The same one they have now, perhaps with a steeper learning curve. The market for software developers is already saturated with disillusioned junior devs who attended a boot camp with promises of 6 figure salaries. Some of them did really well, but many others ran headlong into the fact that it takes a lot more passion than a boot camp to stand out as a junior dev.
From what I understand, it’s rough out there for junior devs in certain sectors.
There is no reason to believe that LLM will disrupt anyone any time soon. As it stands now the level of workmanship is absolutely terrible and there are more things to be done than anyone has enough labor to do. Making it so skilled professionals can do more literally just makes it so more companies can produce quality of work that is not complete garbage.
Juniors produce progressively more directly usable work with reason and autonomy and are the only way you develop seniors. As it stands LLM do nothing with autonomy and do much of the work they do wrong. Even with improvements they will in near term actually be a coworker. They remain something you a skilled person actually use like a wrench. In the hands of someone who knows nothing they are worth nothing. Thinking this will replace a segment of workers of any stripe is just wrong.
AI as a general concept probably will at some point. But LLMs have all but reached the end of the line and they’re not nearly smart enough.
“at some point” being like 400 years in the future? Sure.
Ok that’s probably a little bit of an exaggeration. 250 years.
LLMs have already reached the end of the line 🤔
I don’t believe that. At least from an implementation perspective we’re extremely early on, and I don’t see why the tech itself can’t be improved either.
Maybe it’s current iteration has hit a wall, but I don’t think anyone can really say what the future holds for it.
LLMs have been around since roughly 2016. While scaling the up has improved their performance/capabilities, there are fundamental limitations on the actual approach. Behind the scenes, LLMs (even multimodal ones like gpt4) are trying to predict what is most expected, while that can be powerful it means they can never innovate or be truth systems.
For years we used things like tf-idf to vectorize words, then embeddings, now transformers (supped up embeddings). Each approach has it limits, LLMs are no different. The results we see now are surprisingly good, but don’t overcome the baseline limitations in the underlying model.
deleted by creator
You’re right, I thought that paper came out in 2016.
I’m not trained in formal computer science, so I’m unable to evaluate the quality of this paper’s argument, but there’s a preprint out that claims to prove that current computing architectures will never be able to advance to AGI, and that rather than accelerating, improvements are only going to slow down due to the exponential increase in resources necessary for any incremental advancements (because it’s an NP-hard problem). That doesn’t prove LLMs are end of the line, but it does suggest that additional improvements are likely to be marginal.
we’re extremely early on
Oh really! The analysis has been established since the 80’s. Its so far from early on that statement is comical
deleted by creator
24 months from now? Unlikely lol
15 years at least. probably more like 30. and it will be questionable, because it will use a lot of energy for every query and a lot of resources for cooling
it will use a lot of energy for every query and a lot of resources for cooling
Well, so do coders. Coffee can be quite taxing on the environment, as can air conditioning!
I’m sure they’ll hold strong to that prediction in 24 mo. It’s just 24 more months away
We’ll have full self driving next year.
This is the year of the Linux Desktop
I remember a little over a decade ago while I was still in public school hearing about super advanced cars that had self driving were coming soon, yet we’re hardly anywhere closer to that goal (if you don’t count the Tesla vehicles running red lights incidents).
A subscription to Popular Science magazine through most of my teen years did wonders for my skepticism.
We should all be switched to hydrogen fuel by now, for our public transport lines with per person carriages that can split off from the main line seamlessly at speed to go off on side routes to your individual destination, that automatically rejoin the main line when you’re done with it. They were talking about all of that pre-2010.
I think I remember the hydrogen fuel thing.
Also, fuck Popular Science for making me think there was gonna be a zombie apocalypse due to some drug that turns you into a zombie.
In Phoenix you can take a Waymo (self driving taxi) just like an Uber. They have tons of ads and they’re everywhere on the roads.
I am in Phoenix and just took one to the airport. First time riding in a Waymo. It was uncannily good and much more confident than the FSD Tesla I’ve ridden in a few times.
I haven’t taken one yet but have several friends who have. Besides being generally good, one of the best parts is unlike Uber, there’s no chance that you have a weird driver that wants to talk to you the whole ride
That’s probably the amount of time remaining before they move on to selling the next tech buzz word to some suckers.
And just like that, they’ll forget about these previous statements as well.
I fear Elon Musk’s broken promises method is being admired and copied.
I’m going to call BS on that unless they are hiding some new models with huge context windows…
For anything that’s not boilerplate, you have to type more as a prompt to the AI than just writing it yourself.
Also, if you have a behaviour/variable that is common to something common, it will stubbornly refuse to do what you want.
Have you ever attempted to fill up one of those monster context windows up with useful context and then let the model try to do some useful task with all the information in it?
I have. Sometimes it works, but often it’s not pretty. Context window size is the new MHz, in terms of misleading performance measurements.
I find there comes a point where, even with a lot of context, the AI just hasn’t been trained to solve the problem. At that point it will cycle you round and round the same few wrong answers until you give up and work it out yourself.
It will be interesting to find out if these words will come back and haunt them.
- “I think there is a world market for maybe five computers”.
- “640K ought to be enough for anybody.”
I’ll take “things business people dont understand” for 100$.
No one hires software engineers to code. You’re hired to solve problems. All of this AI bullshit has 0 capability to solve your problems, because it can only spit out what it’s already
stolen fromseen somewhere elseIt can also throw things against the wall with no concern for fitness-to=purpose. See “None pizza, left beef”.
I’ve worked with a few PMs over my 12 year career that think devs are really only there to code like trained monkeys.
I’m at the point where what I work on requires such a depth of knowledge that I just manage my own projects. Doesn’t help that my work’s PM team consistently brings in new hires only to toss them on the difficult projects no one else is willing to take. They see a project is doomed to fail so they put their least skilled and newest person on it so the seniors don’t suffer any failures.
Simplifying things to a level that is understandable for the PMs just leads to overlooked footguns. Trying to explain a small subset of the footguns just leads to them wildly misinterpreting what is going on, causing more work for me to sort out what terrible misconceptions they’ve blasted out to everyone else.
If you can’t actually be a reliable force multiplier, or even someone I can rely on to get accurate information from other teams, just get out of my way please.
I wonder how they think that’s possible, the attempts I’ve made at having an “AI” produce working code have failed spectacularly.
That’d be an exciting world, since it’d massively increase access to software.
I am also very dubious about that claim.
In the long run, I do think that AI can legitimately handle a great deal of what humans do today. It’s something to think about, plan for, sure.
I do not think that anything we have today is remotely near being on the brink of the kind of technical threshold required to do that, and I think that even in a world where that was true, that it’d probably take more than 2 years to transition most of the industry.
I am enthusiastic about AI’s potential. I think that there is also – partly because we have a fair number of unknowns unknowns, and partly because people have a strong incentive to oversell the particular AI thing that they personally are involved with to investors and the like – a tendency to be overly-optimistic about the near-term potential.
I have another comment a while back talking about why I’m skeptical that the process of translating human-language requirements to machine-language instructions is going to be as amenable as translating human-language to human-consumable output. The gist, though, is that:
-
Humans rely on stuff that “looks to us like” what’s going on in the real world to cue our brain to construct something. That’s something where the kind of synthesis that people are doing with latent diffusion software works well. An image that’s about 80% “accurate” works well enough for us; the lighting being a little odd or maybe an extra toe or something is something that we can miss. Ditto for natural-language stuff. But machine language doesn’t work like that. A CPU requires a very specific set of instructions. If 1% is “off”, a software package isn’t going to work at all.
-
The process of programming involves incorporating knowledge about the real world with a set of requirements, because those requirements are in-and-of-themselves usually incomplete. I don’t think that there’s a great way to fill in those holes without having that deep knowledge of the world. This “deep knowledge and understanding of the world” is the hard stuff to do for AI. If we could do that, that’s the kind of stuff that would let us create a general artificial intelligence that could do what a human does in general. Stable Diffusion’s “understanding” of the world is limited to statistical properties of a set of 2D images; for that application, I think that we can create a very limited AI that can still produce useful output in a number of areas, which is why, in 2024, without producing an AI capable of performing generalized human tasks, we can still get some useful output from the thing. I don’t think that there’s likely a similar shortcut for much by way of programming. And hell, even for graphic arts, there’s a lot of things that this approach just doesn’t work for. I gave an example earlier in a discussion where I said “try and produce a page out of a comic book using stuff like Stable Diffusion”. It’s not really practical today; Stable Diffusion isn’t building up a 3D mental model of the world, designing an entity that stably persists from image to image, and then rendering that. It doesn’t know how it’s reasonable for objects and the like to interact. I think that to reach that point, you’re going to have to have a much-more-sophisticated understanding of the world, something that looks a lot more like what a human’s looks like.
The kind of stuff that we have today may be a component of such an AI system. But I don’t think that the answer here is going to be “take existing latent diffusion software and throw a lot of hardware at it”. I think that there’s going to have to be some significant technical breakthroughs that have not happened yet, and that we’re probably going to spend some time heading down dead-end approaches before we get to that. There’s probably going to be a lot of hard R&D before we get there, and that’s going to take time.
-
If you go forward 12 months the AI bubble will have burst. If not sooner.
Most companies who bought into the hype are now (or will be soon) realizing it’s nowhere near the ROI they hoped for, that the projects they’ve been financing are not working out, that forcing their people to use Copilot did not bring significant efficiency gains, and more and more are realizing they’ve been exchanging private and/or confidential data with Microsoft and boy there’s a shitstorm gathering on that front.
If you have the ability to build an AI app in house - holy shit shit that can improve productivity. Copilot itself for office use… Meh so far.
The most successful ML in-house projects I’ve seen took at least 3 times as long than initially projected to become usable, and the results were underwhelming.
You have to keep in mind that most of the corporate ML undertakings are fundamentally flawed because they don’t use ML specialists. They use eager beavers who are enthusiastic about ML and entirely self-taught and will move on in 1 year and want to have “AI” on their resume when they leave.
Meanwhile, any software architect worth their salt will diplomatically avoid to give you any clear estimate for anything having to do with ML – because it’s basically a black box full of hopes and dreams. They’ll happily give you estimates and build infrastructure around the box but refuse to touch the actual thing with a ten foot pole.
Guys selling something claim it will make you taller and thinner, your dick bigger, your mother in law stop calling, and work as advertised.
I guess the programmers should start learning how to mine coal…
We will all be given old school Casio calculators a d sent to crunch numbers in the bitcoin mines.
I seem to recall about 13 years ago when “the cloud” was going to put everyone in IT Ops out of a job. At least according to people who have no idea what the IT department actually does.
“The cloud” certainly had an impact but the one thing it definitely did NOT do was send every system and network admin to the unemployment office. If anything it increased the demand for those kinds of jobs.
I remain unconcerned about my future career prospects.
Yes… because there will be users who will always refuse to fix their own computer issues. Even if there’s an easy solution at their fingertips. Many don’t even try to reboot. They just tell IT to fix it… then go get coffee for a half hour.
It’ll replace brain dead CEOs before it replaces programmers.
I’m pretty sure I could write a bot right now that just regurgitates pop science bullshit and how it relates to Line Go Up business philosophy.
ChatJippity
I’ll start using that!
if lineGoUp { CollectUnearnedBonus() } else { FireSomePeople() CollectUnearnedBonus() }
I think we need to start a company and commence enshittification, pronto.
This company - employee owned, right?
I’m just going to need you to sign this Contributor License Agreement assigning me all your contributions and we’ll see about shares, maybe.
Yay! I finally made it, I’m calling my mom.
I love how even here there’s line metric coding going on