this post was submitted on 08 May 2024
1717 points (99.3% liked)
Technology
60073 readers
3519 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
We already have those near constantly. And we still keep asking queries.
People assume that LLMs need to be ready to replace a principle engineer or a doctor or lawyer with decades of experience.
This is already at the point where we can replace an intern or one of the less good junior engineers. Because anyone who has done code review or has had to do rounds with medical interns know... they are idiots who need people to check their work constantly. An LLM making up some functions because they saw it in stack overflow but never tested is not at all different than a hotshot intern who copied some code from stack overflow and never tested it.
Except one costs a lot less...
This is a bad thing.
Not just because it will put the people you're talking about out of work in the short term, but because it will prevent the next generation of developers from getting that low-level experience. They're not "idiots", they're inexperienced. They need to get experience. They won't if they're replaced by automation.
First a nearly unprecedented world-wide pandemic followed almost immediately by record-breaking layoffs then AI taking over the world, man it is really not a good time to start out as a newer developer. I feel so fortunate that I started working full-time as a developer nearly a decade ago.
Dude the pandemic was amazing for devs, tech companies hiring like mad, really easy to get your foot in the door. Now, between all the layoffs and AI it is hellish
I think it depends on where you live. Hiring didn't go crazy where I live, but the layoffs afterwards sure did.
So, the whole point of learning is to ask questions from people who know more than you, so that you can gain the knowledge you need to succeed…
So… if you try to use these LLMs to replace parts of sectors, where there need to be people that can work their way to the next tier as they learn more and get better at their respective sectors, you do realize that eventually there will no longer be people that can move up their respective tier/position, because people like you said “Fuck ‘em, all in on this stupid LLM bullshit!” So now there are no more doctors, or real programmers, because people like you thought it would just be the GREATEST idea to replace humans with fucking LLMs.
You do see that, right?
Calling people fucking stupid, because they are learning, is actually pretty fucking stupid.
Where did I say "Fuck 'em, all in on this stupid LLM bullshit!"?
But yes, there is a massive labor issue coming. That is why I am such a proponent of Universal Basic Income because there are not going to be enough jobs out there.
But as for training up the interns: Back in the day, do you know what "interns" did? And by "interns" I mean women because sexism but roll with me. Printing out and sorting punch cards. Compilers and general technical advances got rid of those jobs and pushed up where the "charlie work" goes.
These days? There are good internships/junior positions and bad ones. A good one actually teaches skills and encourages the worker to contribute. A bad one has them do the mindless grunt work that nobody else wants to. LLMs get rid of the latter.
And... I actually think that is good for the overall health of workers, if not the number (again, UBI). Because if someone can't be trusted to write meaningful code without copying it off the internet and not even updating variable names? I don't want to work with them. I spend too much of my workday babysitting those morons who are just here there to get some work experience so they can con their way into a different role and be someone else's problem.
And experience will be gained the way it is increasingly being gained. Working on (generally open source) projects and interviewing for competitive internships where the idea is to take relatively low cost workers and have them work on a low ROI task that is actually interesting. It is better for the intern because they learn actual development and collaboration skills. And it is better for the staff because it is a way to let people work on the stuff they actually want to do without the massive investment of a few hundred hours of a Senior Engineer's time.
And... there will be a lot fewer of those roles. Just like there were a lot fewer roles for artists as animation tools stopped requiring every single cell of animation to be hand drawn. And that is why we need to decouple life from work through UBI.
But also? If we have less internships that consist of "okay. good job. thanks for that. Next time can you at least try and compile your code? or pay attention to the squiggly red lines in your IDE? or listen to the person telling you that is wrong?"? Then we have better workers and better junior developers who can actually do more meaningful work. And we'll actually need to update the interviewing system to not just be "did you memorize this book of questions from Amazon?" and we'll have fewer "hot hires" who surprise everyone by being able to breath unassisted but have a very high salary because they worked for facebook.
Because, and here is the thing: LLMs are already as good, if not better than, an intern or junior engineer. And the companies that spend money on training up interns aren't going to be rewarded. Under capitalism, there is no reason to "take one for the team" so that your competition can benefit.
Do so at your own peril. Because the thing is, a person will learn from their mistakes and grow in knowledge and experience over time. An LLM is unlikely to do the same in a professional environment for two big reasons:
The company using the LLM would have to send data back to the creator of the LLM. This means their proprietary work could be at risk. The AI company could scoop them, or a data leak would be disastrous.
Alternatively, the LLM could self-learn and be solely in house without any external data connections. A company with an LLM will never go for this, because it would mean their model is improving and developing out of their control. Their customized version may end up being better than their the LLM company's future releases. Or, something might go terribly wrong with the model while it learns and adapts. If the LLM company isn't held legally liable, they're still going to lose that business going forward.
On top of that, you need your inexperienced noobs to one day become the ones checking the output of an LLM. They can't do that unless they get experience doing the work. Companies already have proprietary models that just require the right inputs and pressing a button. Engineers are still hired though to interpret the results, know what inputs are the right ones, and understand how the model works.
A company that tries replacing them with LLMs is going to lose in the long run to competitors.
Actually, nvidia recently announced RAG (Retrieval-Augmented Generation). Basically the idea is that you take an "off the shelf" LLM and then feed your local instance sensitive corporate data. It can then use that information in its responses.
So you really are "teaching" it every time you do a code review of the AI's merge request and say "Well.. that function doesn't exist" or "you didn't use useful variable names" and so forth. Which... is a lot more than I can say about a lot of even senior or principle engineers I have worked with over the years who are very much making mistakes that would get an intern assigned to sorting crayons.
Which, again, gets back to the idea of having less busywork. Less grunt work. Less charlie work. Instead, focus on developers who can actually contribute to a team and design meetings.
And the model I learned early in my career that I bring to every firm is to have interns be a reward for talented engineers and not a punishment for people who weren't paying attention in Nose Goes. Teaching a kid to write a bunch of utility functions does nothing they didn't learn (or not learn) in undergrad but it is a necessary evil... that an AI can do.
Instead, the people who are good at their jobs and contributing to the overall product? They probably have ideas they want to work on but don't have the cycles to flesh out. That is where interns come into play. They work with those devs and other staff and learn what it means to actually be part of a team. They get to work on really cool projects and their mentors get to ALSO work on really cool projects but maybe focus more on the REALLY interesting parts and less on the specific implementation.
And result is that your interns are now actually developers who are worth a damn.
Also: One of the most important things to teach a kid is that they owe the company nothing. If they aren't getting the raise they feel they deserve then they need to be updating their linkedin and interviewing elsewhere. That is good for the worker. And that also means that the companies that spend a lot of money training up grunts? They will lose them to the companies who are desperate for people who can lead projects and contribute to designs but haven't been wasting money on writing unit tests.