Amazon cloud boss echoes NVIDIA CEO on coding being dead in the water: "If you go forward 24 months from now, it's possible that most developers are not coding"
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 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.
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.
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.
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/12147
I 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 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.
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.
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'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.
Edit: did it, thanks ChatJippity
def main():
# Check if the correct number of arguments are provided
if len(sys.argv) != 2:
print("Usage: python script.py <PopScienceBS>")
sys.exit(1)
# Get the input from the command line
PopScienceBS = sys.argv[1]
# Assign the input variable to the output variable
LineGoUp = PopScienceBS
# Print the output
print(f"Line Go Up if we do: {LineGoUp}")
if __name__ == "__main__":
main()
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 from seen somewhere else
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.
But coding never was the difficult part. It's understanding a concept, identify a problem and solve it with the possible methods. An AI just makes the coding part faster and gives me options to quicker identify a possible solution. Thankfully there's a never ending pile of projects, issues, todos and stackholder wants, that I don't see how we need less programmers. Maybe we need more to deal with AI, as now people can do a lot more in house instead of outsourcing, but as soon as that threshold is reached, companies will again contact large software companies. If people want to put AI into everything, you need people feeding the AI with company specific data and instruct people to use this AI.
All I see is middle management getting replaced, because instead of a boring meeting, I could just ask an AI.
I dread meetings and I can't wait for AIs to replace those managers. Or perhaps we'll have even more meetings because the management wants to know why we're so late despite the AI happily churning out meaningless codes that look so awesome like all that CSI VB GUI crap.
It's been said before but the whiter your collar the more likely you are to be replaced by AI simply because the grunts tend to do more varied less pleibeon things.
Middle managers tend to write a lot of documents and emails which is something AI excels at. The programmers meanwhile have to come up with creative solutions to problems, and AI is less good at being creative, it basically just copy pastes known solutions from the web.
If AI could replace anyone... it's those dingbats. I mean, what would you say, in this given example, the CEO does... exactly? Make up random bullshit? AI does that. Write a speech? AI does that. I love how these overpaid people think they can replace the talent but they... they are absolutely required and couldn't possibly be replaced! Talent and AI can't buy and enjoy the extra big yacht, or private jets, or over priced cars, or a giant over sized mansion... no you need people for that.
This will be used as an excuse to try to drive down wages while demanding more responsibilities from developers, even though this is absolute bullshit. However, if they actually follow through with their delusions and push to build platforms on AI-generated trash code, then soon after they'll have to hire people to fix such messes.
Well if it works, means that job wasn't that important, and the people doing that job should improve themselves to stay relevant.
Edit: wow what a bunch of hypersensitive babies. I swear, y'all just allergic to learning or something. I just said people need to improve themselves to stay relevant, and people freak out and send me death threats. What a joke.
I keep telling you that changing out the battery in the smoke alarm isn't worth the effort and you keep telling me that the house is currently on fire, we need to get out of here immediately, and I just roll my eyes because you're only proving my point.
If you're a CEO, cutting all your talent, enshittifying your product, and pocketing the difference in new, lower costs vs standard profits might be considered as "working".
Because the goals of a money-hungry CEO don't always align with those of the workers in the company itself (or often, even the consumer). I imagine this guy will think it worked just fine as he's enjoying his golden parachute.
Yeah writing the code isn't really the hard part. It's knowing what code to write and how to structure it to work with your existing code or potential future code. Knowing where things might break so you can add the correct tests or alerts. Giving time estimates on how long it will take to build the parts of the system and building in phases to meet your teams needs.
I've always thought that design and maintenance are the difficult and gruelling parts, and writing code is when you get to relax for a bit. Most of the time you're in maintenance mode, and it's harder than writing new code.
This. I’m learning a new skill right now & hardly any of it is actual writing— it’s how to arrange the pieces someone else wrote (& which sometimes AI can decently reproduce.)
When you use a computer you don’t start by mining iron, because the thing is already built
AI is quite good at writing small sections of code. Usually because it's more or less just copying something off the internet that it's found, maybe changing a few bits around, but essentially just regurgitating something that's in its data set. I could of course just have done that but it saves time since the AI can find the relevant piece of code to copy and modify more or less instantly.
But it falls apart if you ask it to build entire applications. You can barely even get it to write pong without a lot of tinkering around after the fact which rather defeats the point really.
It also doesn't deal well if the thing you're trying to program for is not very well documented, which would include things like drivers, which presumably is their bread and butter.
Really simple. Just ask it to point out the error. Also maybe tell it how the code is wrong. And then hope that the new code didn't introduce new errors in formerly working sections. And that it understood what you meant. In a language that is inherently vague.
A company I used to work for outsourced most of their coding to a company in India. I say most because when the code came back the internal teams anways had to put a bunch of work in to fix it and integrate it with existing systems. I imagine that, if anything, LLMs will just take the place of that overseas coding farm. The code they spit out will still need to be fixed and modified so it works with your existing systems and that work is going to require programmers.
Everybody talks about AI killing programming jobs, but any developer who has had to use it knows it can’t 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”
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
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”.
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?
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
Art isn't just about what it looks, like it's also about an emotional connection. Inherently we think that you cannot have an emotional connection with something created by a computer. Humans will always prefer art created by humans, even if objectively there isn't a lot of difference.
The problem is that not everyone looks for that human-to-human emotional connection in art. For some, it's just a part of a much bigger whole.
For example, if you're an indie game dev with a small budget and no artistic skills, you may not be that scrupulous about getting an AI to generate some sprites or 3D models for you, if the alternative is to commission the art assets with money you don't have.
Similar idea applies to companies building a website. Why pay for a licence to download some stock images or design assets if you can just get a GenAI to pump out hundreds for you that are very convincing (and probably even better) for a couple bucks?
Mostly because humans invented this convenient thing called abstract art - and since then tolerates pretty much everything that looks "strange" as art. Must have been a deep learning advocate with a time machine who came up with abstract art.
Don't need to be abstract art, it manages to make many kinds of art.
The difference between art and coding is that if you pick a slightly different color or make a line with slightly the wrong angle, it doesn't change much. In code, however, slight mistakes usually result in bugs.
Sure, Microsoft is happy to let their AIs scan everyone else’s code., but is anyone aware of any software houses letting AIs scan their in-house code?
Any lawyer worth their salt won’t let AIs anywhere near their company’s proprietary code intil they are positive that AI isn’t going to be blabbing the code out to every one of their competitors.
If only we had an overarching structure that everyone in society has agreed exists for the purposes of enforcing laws and regulating things. Something that governs people living in a region... Maybe then they could be compelled to show exactly what they're using, and what those models are being trained with.
Let's assume this is true, just for discussion's sake. Who's going to be writing the prompts to get the code then? Surely someone who can understand the requirements, make sure the code functions, and then test it afterwards. That's a developer.
I don't believe for a single instance that what he says is going to happen, this is just a play for funding... But if it were to happen I'm pretty sure most companies would hire anything that moves for those jobs. You have many examples of companies offloading essential parts of their products externally.
I've also seen companies hiring tourism graduates (et al non engineering related) giving them a 3/4 week programming course, slapping a "software engineer" sticker on them and off they are to work on products they have no experience to work on. Then it's up to senior engineers to handle all that crap.
I think that's the point? They're saying that those coders will turn into prompt engineers. They didn't say they wouldn't have a job, just that they wouldn't be "coding".
Which I don't believe for a minute. I could see it eventually, but it's not "2 years" away by any stretch of the imagination.
Definitely be coding less I think. Coding or programming is basically the "grunt work". The real skill is understanding requirements and translating that into some product.
Possibly. But... Here's the thing. I've dealt with "business rules" engines before at a job. I used a few different ones. The idea is always to make coding simpler so non technical people can do it. Unless you couldn't tell from context, I'm a software engineer lol. I was the one writing and troubleshooting those tools. And it was harder than if it was just in a "normal" language like Java or whatever.
I have a soft spot for this area and there's a non zero chance this comment makes me obsess over them again for a bit lol. But the point I'm making is that "normal" coding was always better and more useful.
It's not a perfect comparison because LLMs output "real" code and not code that is "Scratch-like", but I just don't see it happening.
I could see using LLMs exclusively over search engines (as a first place to look that is) in 2 years. But we'll see.
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.
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.
To actually answer your question - yes, but the only times I actually find it useful is for tests, for everything else it's usually iffy and takes longer.
Intelligently loading the window could be the next useful trick
I think that giving the LLM an API to access additional context and then making it more of an agent style process will give the most improvement.
Let it request the interface for the class your using, let it request the code for that extension method you call. I think that would solve a lot, but I still see a LOT of instances where it calls wrong class/method names randomly.
This would also require a lot more in depth (and language specific!) IDE integration though, so I forsee a lot of price hikes for IDEs in the near future!
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 will put down a solid grand that this exact same article will be printed by the exact same website 24 months from now and it will receive the exact same reception.
Nah, if it doesn't pan out then all these folks will pretend they never said this, but in 24 months programming will be obsoleted by <insert fresh buzz here>
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.
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.
Says the person who is primarily paid with Amazon stock, wants to see that stock price rise for their own benefit, and won’t be in that job two years from now to be held accountable. Also, who has never written a kind of code. Yeah…. Ok. 🤮
Translation: "We're going to make the suite for building, testing, and deploying so obnoxiously difficult to integrate with your work environment that in two years nobody in your DevOps team will be able to get anything to a release state."
Me, fiddling with a config file for a legacy Perl script that's been holding up the ass-end of the business since 1996: "Uh, yeah that's great."
I left my job in fast food to go to school for tech because it seemed like the thing to do and I wanted to have a good life and be able to afford stuff. So I ruined my life getting a piece of paper only for them to enshittify things to oblivion and destroy the job market to the point it's fast food or retail only again. I suppose getting a masters in something is the logical next step but at a certain point a scam's a scam and I'm not digging a deeper hole.
There are already automated kiosks selling Pizza here and most fast food places already allow people to order using their phone or self-service kiosks.
Delivery is also quickly getting automated with small delivery robots that can likely be remote controlled if they get stuck.
While LLMs cannot reason they can imitate which can be combined with more traditional A.I like utility A.I that makes decisions based on a scoring system. I am guessing LLMs will just be used to make A.I systems talk and execute actions while the actual "inteligence" will be handled through more traditional methods.
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.
As software developer I am not scared that A.I will take away our jobs. What I am scared is that at that point A.I good enough to do most jobs out there.
All it really needs to do is replace large chunk of the service industry to wreck massive havock in our society.
If enshitification isn't stopped, the job market could devolve to the point everyone that isn't an "elite" will be living in a medival-like society and the only way to get food is by using a barter system to trade with other destitute poor people. The second hyperinflation hits, the rich and the poor will practically be living in different worlds. Learn either a medival skill or a skill that would be beneficial in such a society. I'm doing machining and blacksmithing. Might start dabbling in chemistry too. If I can't be successful in modern society maybe I can be highly skilled and successful in whatever secondhand society emerges.
While I do understand all of the scepticism in this thread, I have to say that I am personally amazed by GitHub Copilot.
I am just ramping up in a new company working on web development with Angular and Spring Boot. Even though I have 0 experience with this and have a background in python and C++, I got productive extremely quickly thanks to Copilot. Of course it does not work without flaws and you still need programming knowledge to wirte proper prompts and fix smaller issues in the resulting code. But without it I would be much further behind. It was even able to fix some issues in the html just based on a description of the issue I am observing in the webpage.
I do not think it will replace all programmers, but I do think it will replace some low level programmers who did repetitive tasks as the good programmers are extremely accelerated by only having to type subsets of what was needed before.
The thing about co-pilot is if you don't do anything with it, it just sits there.
You can't give it a prompt, you actually have to code stuff. It is a more advanced version of autocomplete. Now admittedly, it can write very large chunks of boilerplate code, which is extremely helpful, but it can't code the entire app, and it can't work with natural language prompts, at all.
Technically that makes chatGPT, (It really needs a better name) a more capable coder than copilot.
GitHub Copilot does chat like ChatGPT, and writes code based on a prompt. I have decades of experience programming and I use it a lot. It gives me starting points, boilerplate and examples. It won't build a whole application with no coding work from the human.
If we replace all the low level coders with this fancy, expensive, environmentally destructive autocomplete - where are all the high level coders going to come from? Just spring from clone vats?
There will still be people who are able to rapidly learn with AI on their side and people who fail to do it. The fast ones are able to focus much more on the underlying problems and less on language specifics. The definition of low level and high level programers will change in the context of AI. Nobody today is implementing a linked list outside of university and in the future nobody will be needed to write the repeated code which still is needed in a lot of frameworks.
But of course there might the point of a critical collapse if AI only learns from its own code and inefficient code gets repeated constantly.
They aren't wrong, just late. Coding is already dead. Most coders I know spend very little time writing new code. Meeting/discussions about requirements, debugging, fighting with pipelines or tests. I once read that a good programmer writes 10 to 100 lines of fully functional, tested, working, and meeting the actual need code a day. I believe it.
Coding is already dead. Most coders I know spend very little time writing new code.
Oh no, I should probably tell this my whole company and all of their partners. We're just sitting around getting paid for nothing apparently. I've never realised that. /s
Yeah, it isn't a new thing. It's just that the pundits think there are people in dark caves writing code all day with zero human contact. Hasn't been like that for a long time. Coding is the easy part of the job now for the vast majority if competent coders. Figuring out how to balance what the users want, and what the prod7ct manager tells you to do is the really hard part.