Am I the only software engineer greatly worried and disturbed by AI ?
Ok let's give a little bit of context. I will turn 40 yo in a couple of months and I'm a c++ software developer for more than 18 years. I enjoy to code, I enjoy to write "good" code, readable and so.
However since a few months, I become really afraid of the future of the job I like with the progress of artificial intelligence. Very often I don't sleep at night because of this.
I fear that my job, while not completely disappearing, become a very boring job consisting in debugging code generated automatically, or that the job disappear.
For now, I'm not using AI, I have a few colleagues that do it but I do not want to because one, it remove a part of the coding I like and two I have the feeling that using it is cutting the branch I'm sit on, if you see what I mean. I fear that in a near future, ppl not using it will be fired because seen by the management as less productive...
Am I the only one feeling this way? I have the feeling all tech people are enthusiastic about AI.
The trough of disillusionment is my favorite.
Kind of nice to see NFTs breaking through the floor at the trough of disillusionment, never to return.
Betteridge's law of headlines: No.
Currently at the crossroads between trough of disillusionment and slope of enlightenment
It'll be like outsourcing all over again. How many companies outsourced then walked back on it several years later and only hire in the US now? It could be really painful short term if that happens (if you consider severeal years to a decade short term).
Given the degree to which first-level customer service is required to stick to a script, I could see over half of call centers being replaced by LLMs over the next 10 years. The second level service might still need to be human, but I expect they could be an order of magnitude smaller than the first tier.
They're supposed to be on script but customers veer off the script constantly. They would be extremely annoyed to be talking to AI. Not that it would stop some companies but it would be terrible customer service.
That's what tier 2 service would be for. But the vast majority of calls are people wanting to execute a simple order or transaction, or ask a silly question they could have googled.
If your problem can be solved by a bot, and it means you can be done immediatelu and don't need to be on hold for 20m+ waiting for t2 support, you're going to prefer it.
Also, we've come a long way in just 2-3 years. It will be very difficult for us to talk about how good the experience will be in 5-10 years.
If your problem can be solved by a bot, then an old fashioned touch-tone phone menu would be an entirely sufficient solution, no "AI" needed.
If not, then plugging an LLM into your IVR will never be worth the expense since the customer will need to talk to a human anyway.
"AI" is a bubble. Sure, it might have some niche applications where its viable, but it's heavily overpromised and due for disinvestment this year.
And yet, we don't use touch-tone menus, bots that suck are already commonplace. An LLM bot could stand to dramatically improve the user experience, and would probably use the same resources that the current bots do.
Simple things like "I want to fill a prescription" or "I want to schedule a technician" or "do you have blah in stock" could be orchestrated by a bot that sounds human, and people would prefer that to traversing a directory tree for 10m.
I don't even want to think about how someone would implement a customer facing inventory query using a touch-tone interface, let alone use that.
I fail to see how adding an LLM to an IVR could improve that situation. Keywords like "fill perscription", "schedule technician", and "do you have [blank] in stock" are already present and don't need any kind of text generation to shunt a caller into the appropriate queue or run a query on a warehouse database.
Where, exactly, do you think an LLM could contribute other than, like, a computer generated bedtime story hotline or something?
I was a supervisor of a call center up until recently and yea, this is definitely coming. It's was already to the point where they were arguing with me about hiring enough people because soon we'll have an AI solution to take a lot of the calls. You can already see it in the chat bots coming out.
Do you know any examples of which companies that have done this? I'm not asking to be facetiois, just genuinely curious.
The one I work for did this years ago before I worked here. I already have enough personal info about myself out there so not gonna name the company lol I know I've seen that at other companies too.
Copilot is just so much faster than me at generating code that looks fancy and also manages to maximize the number of warnings and errors.
That will happen. And if they're wrong, they'll crash and burn. That's how tech bubbles burst.
Clearly my main concern... But after reading a lot of reinsuring comments, I'm more and more convinced that human will always be superior
This is their only retaliation for the fact that managers have already been replaced by git tools and CI.
There's a massive amount of hype right now, much like everything was blockchains for a while.
AI/ML is not able to replace a programmer, especially not a senior engineer. Right now I'd advise you do your job well and hang tight for a couple of years to see how things shake out.
(me = ~50 years old DevOps person)
I'm only on my very first year of DevOps, and already I have five years worth of AI giving me hilarious, sad and ruinous answers regarding the field.
I needed proper knowledge of Ansible ONCE so far, and it managed to lie about Ansible to me TWICE. AI is many things, but an expert system it is not.
Well, technically "expert system" is a type of AI from a couple of decades ago that was based on rules.
Great advice. I would add to it just to learn leveraging those tools effectively. They are great productivity boost. Another side effect once they become popular is that some skills that we already have will be harder to learn so they might be in higher demand.
Anyway, make sure you put aside enough money to not have to worry about such things 😃
So, I asked Chat GPT to write a quick PowerShell script to find the number of months between two dates. The first answer it gave me took the number of days between them and divided by 30. I told it, it needs to be more accurate than that, so it wrote a while loop to add 1 months to the first date until it was larger than the 2 second date. Not only is that obviously the most inefficient way to do it, but it had no checks to ensure the one in the loop was actually smaller so you could just end up with zero. The results I got from co-pilot were not much better.
From my experience, unless there is existing code to do exactly what you want, these AI are not to the level of an experienced dev. Not by a long shot. As they improve, they'll obviously get better, but like with anything you have to keep up and adapt in this industry or you'll get left behind.
The thing is that you need several AIs. One to write the question so the one who codes gets the question you want answered. The. A third one who will write checks and follow up on the code written.
When ran in a feedback loop like this, the quality you get out will be much higher than just asking chathpt to make something
This is the idea behind things like "chain of thought" and "tree of thought".
This is a real danger in a long term. If advancement of AI and robotics reaches a certain level, it can detach big portion of lower and middle classes from the societys flow of wealth and disrupt structures that have existed since the early industrial revolution. Educated common man stops being an asset. Whole world becomes a banana republic where only Industry and government are needed and there is unpassable gap between common people and the uncaring elite.
Right. I agree that in our current society, AI is net-loss for most of us. There will be a few lucky ones that will almost certainly be paid more then they are now, but that will be at the cost of everyone else, and even they will certainly be paid less then the share-holders and executives. The end result is a much lower quality of life for basically everyone. Remember what the Luddites were actually protesting and you'll see how AI is no different.
This is exactly what I see as the risk. However, the elites running industry are, on average, fucking idiots. So, we have been seeing frequent cases of them trying to replace people whose jobs they don't understand, with technology that even leading scientists don't fully understand, in order to keep those wages for themselves, all in-spite of those who do understand the jobs saying that it is a bad idea.
Don't underestimate the willingness of upper management to gamble on things and inflict the consequences of failure on the workforce. Nor their willingness to switch to a worse solution, not because it is better or even cheaper but because it means giving less to employees, if they think that they can get away with it.
White collar never should have been getting paid so much more than blue collar and I welcome seeing the Shift balance out, so everyone wants to eat the rich.
Actually I see that the other way around. Blue collar should have never been paid so much less than white collar.
Rich will have weapons and technology. I see 1984 + hunger games scenario more likely.
I'm in IT and I don't believe this will happen for quite a while if at all. That said I wouldn't let this keep you up at night, it's out of your control and worrying about it does you no favours. If AI really can replace people then we are all in this together and we will figure it out.
AI is a really bad term for what we are all talking about. These sophisticated chatbots are just cool tools that make coding easier and faster, and for me, more enjoyable.
What the calculator is to math, LLM’s are to coding, nothing more. Actual sci-fi style AI, like self aware code, would be scary if it was ever demonstrated to even be possible, which it has not.
If you ever have a chance to use these programs to help you speed up writing code, you will see that they absolutely do not live up to the hype attributed to them. People shouting the end is nigh are seemingly exclusively people who don’t understand the technology.
I've never had to double check the results of my calculator by redoing the problem manually, either.
Haven't we started using AGI, or artificial general intelligence, as the term to describe the kind of AI you are referring to? That self aware intelligent software?
Now AI just means reactive coding designed to mimic certain behaviours, or even self learning algorithms.
That’s true, and language is constantly evolving for sure. I just feel like AI is a bit misleading because it’s such a loaded term.
I get what you mean, and I think a lot of laymen do have these unreasonable ideas about what LLMs are capable of, but as a counter point we have used the label AI to refer to very simple bits of code for decades eg video game characters.
AI is the correct term. It's the name of the field of study and anything that mimics intelligence is an AI.
Neural networks are a perfect example of an AI. What you actually code is very simple. A bunch of nodes that pass numbers forward through the system applying weights to the values. Their capabilities once trained far outstretch the simple code they run and seem intelligent.
What you are referring to is general AI.
It's a misnomer, but if you want to pass off LLMs as "artificial intelligence" on technicality of definition, you'd also have to include
etc.
Yes those are also examples of AI, see relevant Wikipedia article:
We need better terms to specify exactly what we mean, e.g. a numeric scale of intelligence or maybe even something more complex like a radar chart.
Indeed you do.
Neural networks are some of the original AIs.
Yeah, this is the thing that always bothers me. Due to the very nature of them being large language models, they can generate convincing language. Also image "ai" can generate convincing images. Calling it AI is both a PR move for branding, and an attempt to conceal the fact that it's all just regurgitating bits of stolen copywritten content.
Everyone talks about AI "getting smarter", but by the very nature of how these types of algorithms work, they can't "get smarter". Yes, you can make them work better, but they will still only be either interpolating or extrapolating from the training set.
I use AI heavily at work now. But I don't use it to generate code.
I mainly use it instead of googling and skimming articles to get information quickly and allow follow up questions.
I do use it for boring refactoring stuff though.
In its current state it will never replace developers. But it will likely mean you need less developers.
The speed at which our latest juniors can pick up a new language or framework by leaning on LLMs is quite astounding. It's definitely going to be a big shift in the industry.
At the end of the day our job is to automate things so tasks require less staff. We're just getting a taste of our own medicine.
Those are also the main uses cases I use it for.
Really good for getting a quick overview over a new topic and also really good at proposing different solutions/algorithms for issues when you describe the issue.
Doesn't always respond correctly but at least gives you the terminology you need to follow up with a web search.
Also very good for generating boilerplate code. Like here's a sample JSON, generate the corresponding C# classes for use with System.Text.Json.JsonSerializer.
Hopefully the hardware requirements will come down as the technology gets more mature or hardware gets faster so you can run your own "coding assistant" on your development machine.
As an example:
Salesforce has been trying to replace developers with "easy to use tools" for a decade now.
They're no closer than when they started. Yes the new, improved flow builder and omni studio look great initially for the simple little preplanned demos they make. But theyre very slow, unsafe to use and generally are impossible to debug.
As an example: a common use case is: sales guy wants to create an opportunity with a product. They go on how omni studio let's an admin create a set of independently loading pages that let them:
• create the opportunity record, associating it with an existing account number.
• add a selection of products to it.
But what if the account number doesn't exist? It fails. It can't create the account for you, nor prompt you to do it in a modal. The opportunity page only works with the opportunity object.
Also, if the user tries to go back, it doesn't allow them to delete products already added to the opportunity.
Once we get actual AIs that can do context and planning, then our field is in danger. But so long as we're going down the glorified chatbot route, that's not in danger.
They haven't replaced me with cheaper non-artifical intelligence yet and that's leaps and bounds better than AI.
Yeah, the real danger is probably that it will be harder for junior developers to be considered worth the investment.
I'm both unenthusiastic about A.I. and unafraid of it.
Programming is a lot more than writing code. A programmer needs to setup a reliable deployment pipeline, or write a secure web-facing interface, or make a useable and accessible user interface, or correctly configure logging, or identity and access, or a million other nuanced, pain-in-the-ass tasks. I've heard some programmers occasionally decrypt what the hell the client actually wanted, but I think that's a myth.
The history of automation is somebody finds a shortcut - we all embrace it - we all discover it doesn't really work - someone works their ass off on a real solution - we all pay a premium for it - a bunch of us collaborate on an open shared solution - we all migrate and focus more on one of the 10,000 other remaining pain-in-the-ass challenges.
A.I. will get better, but it isn't going to be a serious viable replacement for any of the real work in programming for a very long time. Once it is, Murphy's law and history teaches us that there'll be plenty of problems it still sucks at.
I think all jobs that are pure mental labor are under threat to a certain extent from AI.
It's not really certain when real AGI is going to start to become real, but it certainly seems possible that it'll be real soon, and if you can pay $20/month to replace a six figure software developer then a lot of people are in trouble yes. Like a lot of other revolutions like this that have happened, not all of it will be "AI replaces engineer"; some of it will be "engineer who can work with the AI and complement it to be produtive will replace engineer who can't."
Of course that's cold comfort once it reaches the point that AI can do it all. If it makes you feel any better, real engineering is much more difficult than a lot of other pure-mental-labor jobs. It'll probably be one of the last to fall, after marketing, accounting, law, business strategy, and a ton of other white-collar jobs. The world will change a lot. Again, I'm not saying this will happen real soon. But it certainly could.
I think we're right up against the cold reality that a lot of the systems that currently run the world don't really care if people are taken care of and have what they need in order to live. A lot of people who aren't blessed with education and the right setup in life have been struggling really badly for quite a long time no matter how hard they work. People like you and me who made it well into adulthood just being able to go to work and that be enough to be okay are, relatively speaking, lucky in the modern world.
I would say you're right to be concerned about this stuff. I think starting to agitate for a better, more just world for all concerned is probably the best thing you can do about it. Trying to hold back the tide of change that's coming doesn't seem real doable without that part changing.
What makes you say that? The entire field of AI has not made any progress towards AGI since its inception and if anything the pretty bad results from language models today seem to suggest that it is a long way off.
You would describe "recognizing handwritten digits some of the time" -> "GPT-4 and Midjourney" as no progress in the direction of AGI?
It hasn't reached AGI or any reasonable facsimile yet, no. But up until a few years ago something like ChatGPT seemed completely impossible, and then a few big key breakthroughs happened, and now the impossible is possible. It seems by no means out of the question that a few more big breakthroughs could happen with AGI, especially with as much attention and effort is going into the field now.
It's not that machine learning isn't making progress, it's just many people speculate that AGI will require a different way of looking at AI. Deep Learning, while powerful, doesn't seem like it can be adapted to something that would resemble AGI.
You mean, it would take some sort of breakthrough?
(For what it's worth, my guess about how it works is to generally agree with you in terms of real sentience -- just that I think (a) neither one of us really knows that for sure (b) AGI doesn't require sentience; a sufficiently capable fakery which still has limitations can still upend the world quite a bit).
Yes, and most likely more of a paradigm shift. The way deep learning models work is largely around static statistical models. The main issue here isn't the statistical side, but the static nature. For AGI this is a significant hurdle because as the world evolves, or simply these models run into new circumstances, the models will fail.
Its largely the reason why autonomous vehicles have sorta hit a standstill. It's the last 1% (what if an intersection is out, what if the road is poorly maintained, etc.) that are so hard for these models as they require "thought" and not just input/output.
LLMs have shown that large quantities of data seem to approach some sort of generalized knowledge, but researchers don't necessarily agree on that https://arxiv.org/abs/2206.07682. So if we can't get to more emergent abilities, it's unlikely AGI is on the way. But as you said, combining and interweaving these systems may get something close.
Maybe but we are essentially throwing petabyte sized models and lots of compute power at it and the results are somewhere on the level where a three year old would do better in not giving away that they don't understand what they are talking about.
Don't get me wrong, LLMs and the other recent developments in generative AI models are very impressive but it is becoming increasingly clear that the approach is maybe barely useful if we throw about as many computing resources at it as we can afford, severely limiting its potential applications. And even at that level the results are still so bad that you essentially can't trust anything that falls out.
This is very far from being sufficient to fake AGI and has absolutely nothing to do with real AGI.
You’re certainly not the only software developer worried about this. Many people across many fields are losing sleep thinking that machine learning is coming for their jobs. Realistically automation is going to eliminate the need for a ton of labor in the coming decades and software is included in that.
However, I am quite skeptical that neural nets are going to be reading and writing meaningful code at large scales in the near future. If they did we would have much bigger fish to fry because that’s the type of thing that could very well lead to the singularity.
I think you should spend more time using AI programming tools. That would let you see how primitive they really are in their current state and learn how to leverage them for yourself. It’s reasonable to be concerned that employees will need to use these tools in the near future. That’s because these are new, useful tools and software developers are generally expected to use all tooling that improves their productivity.
Bingo
I won't say it won't happen soon. And it seems fairly likely to happen at some point. But at that point, so much of the world will have changed because of the other impacts of having AI, as it was developing to be able to automate thousands of things that are easier than programming, that "will I still have my programming job" may well not be the most pressing issue.
For the short term, the primary concern is programmers who can work much faster with AI replacing those that can't. SOCIAL DARWINISM FIGHT LET'S GO
I agree, sosodev. I think it would be wise to at least be aware of modern A.I.'s current capabilities and inadequacies, because honestly, you gotta know what you're dealing with.
If you ignore and avoid A.I. outright, every new iteration will come as a complete surprise, leaving you demoralized and feeling like shit. More importantly, there will be less time for you to adapt because you've been ignoring it when you could've been observing and planning. A.I. currently does not have that advantage, OP. You do.
I'm a composer. My facebook is filled with ads like "Never pay for music again!". Its fucking depressing.
If you are afraid about the capabilities of AI you should use it. Take one week to use chatgpt heavily in your daily tasks. Take one week to use copilot heavily.
Then you can make an informed judgement instead of being irrationally scared of some vague concept.
Yeah, not using it isn't going to help you when the bottom line is all people care about.
It might take junior dev roles, and turn senior dev into QA, but that skillset will be key moving forward if that happens. You're only shooting yourself in the foot by refusing to integrate it into your work flows, even if it's just as an assistant/troubleshooting aid.
It's not going to take junior dev roles) it's going to transform whole workflow and make dev job more like QA than actual dev jobs, since difference between junior middle and senior is often only with scope of their responsibility (I've seen companies that make junior do fullstack senior job while on the paper they still was juniors and paycheck was something between junior and middle dev and these companies is majority in rural area)
Programming is the most automated career in history. Functions / subroutines allow one to just reference the function instead of repeating it. Grace Hopper wrote the first compiler in 1951; compilers, assemblers, and linkers automate creating machine code. Macros, higher level languages, garbage collectors, type checkers, linters, editors, IDEs, debuggers, code generators, build systems, CI systems, test suite runners, deployment and orchestration tools etc... all automate programming and programming-adjacent tasks, and this has been going on for at least 70 years.
Programming today would be very different if we still had to wire up ROM or something like that, and even if the entire world population worked as programmers without any automation, we still wouldn't achieve as much as we do with the current programmer population + automation. So it is fair to say automation is widely used in software engineering, and greatly decreases the market for programmers relative to what it would take to achieve the same thing without automation. Programming is also far easier than if there was no automation.
However, there are more programmers than ever. It is because programming is getting easier, and automation decreases the cost of doing things and makes new things feasible. The world's demand for software functionality constantly grows.
Now, LLMs are driving the next wave of automation to the world's most automated profession. However, progress is still slow - without building massive very energy expensive models, outputs often need a lot of manual human-in-the-loop work; they are great as a typing assist to predict the next few tokens, and sometimes to spit out a common function that you might otherwise have been able to get from a library. They can often answer questions about code, quickly find things, and help you find the name of a function you know exists but can't remember the exact name for. And they can do simple tasks that involve translating from well-specified natural language into code. But in practice, trying to use them for big complicated tasks is currently often slower than just doing it without LLM assistance.
LLMs might improve, but probably not so fast that it is a step change; it will be a continuation of the same trends that have been going for 70+ years. Programming will get easier, there will be more programmers (even if they aren't called that) using tools including LLMs, and software will continue to get more advanced, as demand for more advanced features increases.
So far it is mainly an advanced search engine, someone still needs to know what to ask it, interpret the results and correct them. Then there's the task of fitting it into an existing solution / landscape.
Then there's the 50% of non coding tasks you have to perform once you're no longer a junior. I think it'll be mainly useful for getting developers with less experience productive faster, but require more oversight from experienced devs.
At least for the way things are developing at the moment.
Nobody knows if and when programming will be automated in a meaningful way. But once we have the tech to do it, we can automate pretty much all work. So I think this will not be a problem for programmers until it's a problem for everyone.
As someone with deep knowledge of the field, quite frankly, you should now that AI isn't going to replace programmers. Whoever says that is either selling a snake oil product or their expertise as a "futurologist".
Could you elaborate? I don't have a deep knowledge of the field, I only write rudimentary scripts to make some ports of my job easier, but from the few videos on the subject that I saw, and from the few times I asked AI to write a piece of code for me, I'd say I share the OP's worry. What would you say is something that humans add to programming that can't (and can never be) replaced by AI?
Generative neural networks are the latest tech bubble, and they'll only be decreasing in quality from this point on as the human-generated text used to train them becomes more difficult to access.
One cannot trust the output of an LLM, so any programming task of note is still going to require a developer for proofreading and bugfixing. And if you have to pay a developer anyway, why bother paying for chatgpt?
It's the same logic as Tesla's "self-driving" cars, if you need a human in the loop then it isn't really automation, just sparkling cruise control that isn't worth the price tag.
I'm really looking forward to the bubble popping this year.
This year? Bold prediction.
It can't reason. It can't write novel high quality, high complexity code. It can only parrot what other had said.
90% of code is something already solved elsewhere though.
AI doesn't know if the code copied is correct. It will stright up hallucinate non existing libraries just because they seem to look good at first glance.
Depends on how you set it. A RAG LLM verifies up against a set of sources, so that would be very unlikely in state of the art.
I think the need for programmers will always be there, but there might be a transition towards higher abstraction levels. This has actually always been happening: we started with much focus on assembly languages where we put in machine code, but nowadays a much less portion of programmers are involved in those and do stuff in python, java or whatever. It is not essential to know stuff about garbage collection when you are writing an application, because the compiler already does that for you.
Programmers are there to tell a computer what to do. That includes telling a computer how to construct its own commands accordingly. So, giving instructions to an AI is also programming.
I use GitHub Copilot from work. I generally use Python. It doesn't take away anything at least for me. It's big thing is tab completion; it saves me from finishing some lines and adding else clauses. Like I'll start writing a docstring and it'll finish it.
Once in a while I can't think of exactly what I want so I write a comment describing it and Copilot tries to figure out what I'm asking for. It's literally a Copilot.
Now if I go and describe a big system or interfacing with existing code, it quickly gets confused and tends to get in the weeds. But man if I need someone to describe a regex, it's awesome.
Anyways I think there are free alternatives out there that probably work as well. At the end of the day, it's up to you. Though I'd so don't knock it till you try it. If you don't like it, stop using it.
This. I've seen SO much hype and FUD and all the while there are thousands of developers grinding out code using these tools.
Does code quality suffer? ONLY in my experience if they have belt wielding bean counters forcing them to ship well before it's actually ready for prime time :)
The tools aren't perfect, and they most DEFINITELY aren't a panacea. The industry is in a huge contraction phase right now so I think we have a while before we have to worry about AI induced layoffs, and if that happens the folks doing the laying off are being incredibly short sighted and likely to have a high impact date with a wall coming in the near future anyway.
i'm still in uni so i can't really comment about how's the job market reacting or is going to react to generative AI, what i can tell you is it has never been easier to half ass a degree. any code, report or essay written has almost certainly came from a LLM model, and none of it makes sense or barely works. the only people not using AI are the ones not having access to it.
i feel like it was always like this and everyone slacked as much as they could but i just can't believe it, it's shocking. lack of fundamental and basic knowledge has made working with anyone on anything such a pain in the ass. group assignments are dead. almost everyone else's work comes from a chatgpt prompt that didn't describe their part of the assignment correctly, as a result not only it's buggy as hell but when you actually decide to debug it you realize it doesn't even do what its supposed to do and now you have to spend two full days implementing every single part of the assignment yourself because "we've done our part".
everyone's excuse is "oh well university doesn't teach anything useful why should i bother when i'm learning ?" and then you look at their project and it's just another boilerplate react calculator app in which you guessed it most of the code is generated by AI. i'm not saying everything in college is useful and you are a sinner for using somebody else's code, indeed be my guest and dodge classes and copy paste stuff when you don't feel like doing it, but at least give a damn on the degree you are putting your time into and don't dump your work on somebody else.
i hope no one carries this kind of sentiment towards their work into the job market. if most members of a team are using AI as their primary tool to generate code, i don't know how anyone can trust anyone else in that team, which means more and longer code reviews and meetings and thus slower production. with this, bootcamps getting more scammy and most companies giving up on junior devs, i really don't think software industry is going towards a good direction.
I think I will ask people if they use AI to write code when I am interviewing them for a job and reject anyone who does.
I wish your fear were justified! I'll praise anything that can kill work.
Hallas, we're not here yet. Current AI is a glorified search engine. The problem it will have is that most code today is unmaintainable garbage. So AI can only do this for now : unmaintainable garbage.
First the software industry needs to properly industrialise itself. Then there will be code to copy and reuse.
I’ll praise anything that can kill work under UBI. Without reform, I worry the rich will get richer, the poor will get even poorer and it leads to guillotines in the square.
Under capitalism the rich will get richer, and the poor poorer. That's the whole point of it. Guillotines are a solution to get UBI.
Your last sentence is where I fear we will end up. The very wealthy would be wise to realise it and work reform themselves.
I disagree that capitalism, at least in the way I understand it, always leads to rich getting richer, poor getting poorer. Many European countries have a happy medium that rewards risk-taking while looking after everyone. While most still slowly get worse on the Gini coefficient it’s based on pretty much the 0.1% pulling away and away, while the rest of their societies actually stays roughly the same. So really they only have the top of the top of the top to deal with, whereas a country like the US has a much larger, all-encompassing inequality.
All countries of Europe are going fascists one after the other. Why if there is no problem?
Europe had capitalism under a leash because communism was here to threaten it. Since the 90's, capitalism is unleashed and inequalities are rising. USA didn't had communism to tame its capitalism, because it was basically forbidden because of the cold war.
Capitalism is entirely focused on having companies making a profit. If you don't have strong states to tame it and redistribute the money, inequalities increase. It's mathematical.
The rise of fascism has more to do with people’s impression of immigration than it does capitalism.
Inequality in Europe isn’t rising if you disregard the top 0.1%. It’s the very very top that needs adjusting in Europe.
I agree with your last paragraph. Of course you need rules and redistribution. That doesn’t mean that capitalism, if well regulated, isn’t the most productive or the most effective at increasing wealth for everyone.
Fascism has everything to do with poverty and inequalities. And inequalities in Europe are rising a lot. Where do you get your informations?
Capitalism is a sickness. It breeds crisis that lead to war, and it lives out of war and exploitation. But that's beside the point.
Have you seen the shit code it confidently spews out?
I wouldn't be too worried.
Well I seen, I even code reviewed without knowing, when I asked colleague what happened to him, he said "I used chatgpt, I'm not sure to understand what this does exactly but it works". Must confess that after code review comments, not much was left of the original stuff.
If I am going to poke small holes in the argument, the exact same thing happens every day when coders google a problem and find a solution on Stack Exchange or the like and copy/paste it into the code without understanding what it does. Yes, it was written initially by someone who understood it, but the end result is the exact same. Code that was implemented without understanding the inner workings.
The difference being that googling the problem and visiting a page on stackoverflow costs 50-500 times less energy than using ChatGPT.
Really? I haven't done the ChatGPT thing, but I know I have spent days searching for solutions to some of the more esoteric problems I run into. I can't imagine that asking an AI then debugging the return would be any more intensive as long as the AI solution functioned enough to be a starting point.
That's the thing, how do you determine whether or not the "AI solution functions enough" without having a human review it?
The economics aren't there because LLM outputs aren't trustworthy, and the kind of expertise you'd need to validate them is functionally equivalent to that which could be employed to write the code in the first place.
"Generative AI" is an inefficient solution to a problem that's already been solved by the existence of coding support forums like StackOverflow. Sure, it can be neat to ask it for example code or a bedtime story, but once the novelty wears off all you're left with is an expensive plagirism machine that won't even notice when it confidently lies to you.
I have a strong opinion that the problem is more one of people attempting to solve every problem with their shiny new hammer. AI, in the current incarnations, is very good at many things. When implemented properly, LLMs are great at filtering huge amounts of text data or performing semantic analysis. SD does produce images and can be directed.
LLMs are not a replacement for thought. SD is not a replacement for an artist. They are all tools for helping people do things.
I am designing a hypothetical LLM architecture for analyzing the relational structure of a story and mapping it out. I am hoping that it will be capable of generating a meaningful relationship network at the end. It is a very specific goal and a very specific structure. It won't write a story; it won't produce dialog; it won't build a plot. What it will do is build a network of places and characters that can be used to make decisions for all of those things. I want something that helps with internal consistency of models doing other things. So if a GPT model were to write something, it could be fact-checked against the world network to see if what it is saying is reasonable.
I’m a 50+ year old IT guy who started out as a c/c++ programmer in the 90’s and I’m not that worried.
The thing is, all this talk about AI isn’t very accurate. There is a huge difference in the LLM stuff that ChatGPT etc. are built on and true AI. These LLM’s are only as good as the data fed into them. The adage “garbage in, garbage out” comes to mind. Anybody that blindly relies on them is a fool. Just ask the lawyer that used ChatGPT to write a legal brief. The “AI” made up references to non-existent cases that looked and sounded legitimate, and the lawyer didn’t bother to check for accuracy. He filed the brief and it was the judge that discovered the brief was a work of fiction.
Now I know there’s a huge difference between programming and the law, but there are still a lot of similarities here. An AI generated program is only going to be as good as the samples provided to it, and you’re probably want a human to review that code to ensure it’s truly doing what you want, at the very least.
I also have concern that programming LLMs could be targeted by scammers and the like. Train the LLM to harvest sensitive information and obfuscate the code that does it so that it’s difficult for a human to spot the malicious code without a highly detailed analysis of the generated code. That’s another reason to want to know exactly what the LLM is trained on.
If you are truly feeling super anxious, feel free to dm me. Have released gen AI tech though admittedly only in that space for about a year and a half and... Ur good. Happy to get in depth about it but genuinely you are good for so many reasons that I'd be happy to expand upon.
Main point though for programmers will be it's expensive as fuck to get any sort of process going that will produce complex systems of code. And frankly I'm being a bit idealistic there. That's without even considering the amount of time. Love AI, but hype is massively misleading the reality of the tech.
Your job is automating electrons, and now some automated electrons are threatening your job.
I have to imagine this is similar to how farmers felt when large-scale machinery became widely available.
Huge need mbers of people migrated to cities to find work when this happened. Super 👍 interesting part of history!
Uncle Bob's response when asked if AI will takeover software engineering job.(1m)
He has a good point. Specifying precisely what the program does is the actual difficult part and won't be done properly by this current LLM system since it's creating something new and requires actual thought and understanding.
Here is an alternative Piped link(s):
Uncle Bob's response when asked if AI will takeover software engineering job.(1m)
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source; check me out at GitHub.
I'd like to thank you all for all your interesting comments and opinion.
I see a general trends not being too worried because of how the technology works.
The worrysome part being what capitalism and management can think but that's just an update of the old joke "A product manager is a guy that think 9 women can make a baby in 1 month". And anyway, if not that there will be something else, it's how our society is.
Now, I feel better, and I understand that my first point of view of fear about this technology and rejection of it is perhaps a very bad idea. I really need to start using it a bit in order to known this technology. I already found some useful use cases that can help me (get inspiration while naming things, generate some repetitive unit test cases, using it to help figuring out about well-known API, ...).
Many have already touched on this, but you hit the nail on the head with the third paragraph. Always smart to prepare but any attempt to use this to reduce workers will go horribly. Saving isn't crazy in this regard but wouldn't plan on it being long term until LLMs can become less expensive, have better reasoning and most importantly have at all better performance on longer context windows without impact on performance. These aren't easy solves, they brush up on fundamentals limits of the tech
It won't replace coders as such. There will be devs who use AI to help them be more productive, and there will be unemployed devs.
This might cheer you up: https://visualstudiomagazine.com/articles/2024/01/25/copilot-research.aspx
I don't think we have anything to worry about just yet. LLMs are nothing but well-trained parrots. They can't analyse problems or have intuitions about what will work for your particular situation. They'll either give you something general copied and pasted from elsewhere or spin you a yarn that sounds plausible but doesn't stand up to scrutiny.
Getting an AI to produce functional large-scale software requires someone to explain precisely the problem domain: each requirement, business rule, edge case, etc. At which point that person is basically a developer, because I've never met a project manager who thinks that granularly.
They could be good for generating boilerplate, inserting well-known algorithms, generating models from metadata, that sort of grunt work. I certainly wouldn't trust them with business logic.
I think you raise a very good point about explaining the problem... Even us as "smart humans" have often great difficulty to see the point while reading PM specs...
I don't think software developers or engineers alone should be concerned. That's what people see all the time. Chat-GPT generating code and thinking it means developers will be out of a job.
It's true, I think that AI tools will be used by developers and engineers. This is going to mean companies will reduce headcounts when they realise they can do more with less. I also think it will make the role less valuable and unique (that was already happening, but it will happen more).
But, I also think once organisations realise that GPTx is more than Chat-GPT, and they can create their own models based on their own software/business practices, it will be possible to do the same with other roles. I suspect consultancy businesses specializing in creating AI models will become REALLY popular in the short to medium term.
Long term, it's been known for a while we're going to hit a problem with jobs being replaced by automation, this was the case before AI and AI will only accelerate this trend. It's why ideas like UBI have become popular in the last decade or so.
Your fear is in so far justified as that some employers will definitely aim to reduce their workforce by implementing AI workflow.
When you have worked for the same employer all this time, perhaps you don't know, but a lot of employers do not give two shits about code quality. They want cheap and fast labour and having less people churning out more is a good thing in their eyes, regardless of (long-term) quality. May sound cynical, but that is my experience.
My prediction is that the income gap will increase dramatically because good pay will be reserved for the truly exceptional few. While the rest will be confronted with yet another tool capitalists will use to increase profits.
Maybe very far down the line there is blissful utopia where no one has to work anymore. But between then and now, AI would have to get a lot better. Until then it will be mainly used by corporations to justify hiring less people.
Man, it's a tool. It will change things for us, it is very powerful; but still a tool. It does not "know" anything, there's no true intelligence in the things we now call "AI". For now, is really useful as a rubber duck, it can make interesting suggestions, make you explore big code bases faster, and even be useful for creating boilerplate. But the code it generates usually is not very trustworthy and have lower quality.
The reality is not that we will lose our jobs to it, but that companies will expect more productivity from us using these tools. I recommend you to try ChatGPT (the best in class for now), and try to understand it's strengths and limitations.
Remember: this is just an autocomplete on steroids, that do more the the regular version, but that get the same type of errors.
If your job truly is in danger, then not touching AI tools isn't going to change that. The best you can do for yourself is to explore what these tools can do for you and figure out if they can help you become more productive so that you're not first on the chopping block. Maybe in doing so, you'll find other aspects of programming that you enjoy just as much and don't yet get automated away with these tools. Or maybe you'll find that they'll not all they're hyped up to be and ease your worry.
Give Copilot or similar a try. AI or similar is pretty garbage at the more complex aspects of programming, but it's great at simple boilerplate code. At least for me, that doesn't seem like much of a loss.
AI allows us to do more with less just like any other tool. It's no different than an electric drill or a powered saw. Perhaps in the future we will see more immersive environment games because much of the immersive environment can be made with AI doing the grunt work.
If you are, it should be due to working for the wrong people. Those that don't understand what's what and only seek profit religiously.
Thanks for the readable code though.
As a fellow C++ developer, I get the sense that ours is a community with a lot of specialization that may be a bit more difficult to automate out of existence than web designers or what have you? There's just not as large a sample base to train AIs on. My C++ projects have ranged from scientific modelling to my current task of writing drivers for custom instrumentation we're building at work. If an AI could interface with the OS I wrote from scratch for said instrumentation, I would be rather surprised? Of course, the flip side to job security through obscurity is that you may make yourself unemployable by becoming overly specialized? So there's that.
Honestly, if I was still working in C++ I would be more worried about the language being replaced than about AI.
I got started in C, worked for years in professional C++ development, and after having worked in other languages for a while I tried to go back to it for something just recently, and this was about my reaction.
.firstand.secondconstOO constructs but manual memory management
Templates
Dude just get me the fuck out
Ironically, it is in understanding the nuances of language semantics and library usage where AI can help a fair bit.
Here is an alternative Piped link(s):
this was about my reaction
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I'm open-source; check me out at GitHub.
Our company uses AI tools as just that, tools to help us do the job without having to do the boring stuff.
Like I can now just write a comment about state for a modal and it will auto generate the repetitive code of me having to write const [isModalOpen, setIsModalOpen] = useState(false);.
Or if I write something in one file it can reason that I am going to be using it in the next file so it can generate the code I would usually type. I still have to solve problems it’s just I can do it quicker now.
But thisbis OPs point. People are getting fired from tech companies because they don't need as many people any more. Work is being done faster and cheaper by using AI.
Imagine it's like having intern under you that helping you with everything, quality of the code will still be on you regardless
I've been messing around with running my own LLMs at home using LM Studio and I've got so say it really helps me write code. I'm using Code Llama 13b, and it works pretty well as a programmer assistant. What I like about using a chatbot is that I go from writing code to reviewing it, and for some reason this keeps me incredibly mentally engaged. This tech has been wonderful for undoing some of my professional burnout.
If what keeps you mentally engaged does not include a bot, then I don't think you need any other reason to not use one. As much as I really like the tech, anyone that uses it is still going to need to know the language and enough about the libraries to fix the inevitable issues that come up. I can definitely see this tech getting better to the point of being unavoidable, though. You hear that Microsoft is planning on adding an AI button to their upcoming keyboards? Like that kind of unavoidable.
If this follows the path of the industrial revolution, it'll get way worse before it gets better, and not without a bunch of bloodshed
I'm in a similar place to you career-wise. Personally, I'm not concerned about becoming just a "debugger." What I'm expecting this job to look like in a few years is to be more like "the same as now, except I've got a completely free team of "interns" that do all the menial stuff for me. Every human programmer will become a lead programmer, deciding what stuff our AIs do for us and putting it all together into the finished product.
Maybe a few years further along the AI assistants will be good enough to handle that stuff better than we do as well. At that point we stop being lead programmers and we all become programming directors.
So think of it like a promotion, perhaps.
Why would there be a team of AIs in this scenario under the human, instead of just one AI entity.
The role of the human is to tell the AI what it's supposed to do. If you're worried about AI that's sophisticated enough to be completely self-directed then you're worrying about AGI, which will be so world-changing that piddly little concerns such as "what about my job?" Are pretty trivial.
No, I meant keeping the human directing things but they could do it with one AI under them
Well yes, then. That's what I said. You'd be a programmer who had free underlings doing whatever grunt work you directed them to.
Or are you questioning my use of the term "team" for the AIs? LLMs are specialized in various ways, you'd likely want to have multiple ones that handle different tasks.
Yeah I meant the team part. Learnt something new, I thought all AI was more or less equal!
I love llms! I'm using them to answer all sorts of bullshit to become a manager....like here's a bunch of notes make me a managers review of Brian. LOL.
I think Google is struggling to control the bullshit flood from the Internet and so AI is about to eat their lunch. Like I already decided that all AIs are just bullshit and the only really useful AIs are the ones that can actually search the Internet live. Perplexity AI was doing this for a while but someone chopped off it's balls. I've been looking for a replacement ever since.
I also use it for help with python, with Linux, with docker, with solid works and stuff around the house like taxes, kombucha, identifying plants and stupid stuff like that.
But I can definitely see the future when the police are replaced with robo dogs with lases heads that can run at 120mph and shoot holes through cars. The only benefit being that the hole doesn't get infected and there's no pool of blood. That future is coming. I'm going to start wearing aluminum reflective shield armor.
I am om the product side of things and have created some basic proof of concept tools with AI that my bosses wanted to sell off. No way no how will I be able to sevrice or maintain them. It's incredibly impressive that I could even get this output.
I am not saying it won't become possible, but I lack the fundamental knowledge and understanding to make anything beyond the most minor adjustments and AI is still wuite bad at only addressing specific issues or, good forbid, expanding code, without fully rewriting the whole thing and breaking everything else.
For our devs I see it as a much improved and less snide stackoverflow and Google. The direct conversational nature really speeds things up with boilerplate code and since they actually know what they are doing, it's amazing. Not only that but we had devs copy paste from online searches withoout fully understanding the snippets. Now the AI can explain it in context.
I disagree with the other posts here that you're overreacting. I think that AI will replace most jobs (maybe as high as 85% at some point). Consider becoming a plumber or an electrician. Until the robots will become commonplace in 20 years from now, you will have a job that AI won't be able to touch much. And people won't run out of asses or gaming. So they'll be stable professions for quite a while. You can still code in your free time, as a hobby. And don't cry for the lost revenue of being a programmer, because that will happen to everyone who will be affected by AI. You'll just have another job while the others won't. That's the upside.
I understand that this comment is not what people want to hear with their wishful thinking, so they'll downvote it. But I gotta say it how I see it. AI is the biggest revolution since the industrial revolution.
"AI" is a bubble. A lot of these concerns will go away this year once the bean-counters do the math and realize that the benefits of running generative neural networks aren't worth the costs.
A single chatGPT query costs about 50-500 times as much energy as a pre-Bard Google search, to say nothing of the engineering time needed to build the models. And, since LLM outputs can't be trusted, the end users will still need writers and developers to go over everything and check for hallucinations.
The trajectory here closely mimics "Web3", when people thought that massively redundant distributed ledgers were going to be the next big thing, despite the fact that traditional electronic ledgers beat the blockchain in literally every aspect of performance, efficiency, and security.
Soon, "AI" will be just as synonymous with "plagirism" as "cryptocurrency" is with "scam".
With the difference that the industrial revolution created a lot of new jobs with better pay. While AI doesn't. I see people suggesting that this has happened before and soon it will turn the economic situation into something much better. But I don't see that at all. Just because it's also a huge revolution, doesn't mean it will have the same effects.
As you have written, people will have to switch into manual jobs like layering bricks and wiping butts. The pay in these jobs won't increase just because more people have to work them.
🙄 no I'm sure you're the only one
Its a tool not a replacement i use it to write code all the time specificly i have a hotkey with a custom prompt that means i can write bits of code with comments describing some things that i want the code to do then have the ai fill it all in. Means im nolonger worrying about types exact syntax basic boiler plate i can write a formula and have the ai figure out how to fit the vaeiables into it properly. It makes me 100 times more efficient but im still needed to tell it what to do how to do it etc
Yeh
Don't worry, if you got even a quarter as much experience as you say, your job is safe or you can find another not working for an idiotic company that would invest into ai instead of engineers, let them fail.
Anyway have a look what ai can do for you and see just how secure your job is. Pointless worry
It doesn't matter what you think about AI. It's very clear that this technology is here to stay and will only improve. From this point on AI will become deeply integrated into human culture and technology, after all we've been fetishizing it for almost 100 years now. Your only logical option as a developer is to learn how to use it and abuse it. Choosing not to do so is career suicide, possibly even societal suicide depending on how quickly adoption happens.
You're probably right, in the near future people that can't use it will be fired. To that point they should be fired. Why the fuck would I allow my accounts to do their financal work on paper when Excel exists?
Welcome to the future.
As a welder, I've been hearing for 20 years that "robots are going to replace you" and "automation is going to put you out of a job" yadda yadda. None of you code monkies gave a fuck about me and my job, but now it's a problem because it affects you and your paycheck? Fuck you lmao good riddance to bad garbage.
Weirdly hostile, but ok. It's like any other tool that can be used to accelerate a process. Hopefully at some point it's useful enough to streamline the minutia of boring tasks that a competent intern could do. Not sure who is specifically targeting welders??
If it frees up your time to focus on more challenging stuff or stuff you enjoy, isn't that a good thing? Folks are dynamic and will adjust, as we always have.
Don't think there's a good excuse to come at someone with animosity over this topic.
You seem like the guy who kept writing in hand and didn't want to use the typewriter, even though it went 2x times faster.
Or the guy who kept writing the typewriter and didn't want to use the computer.
You see the point?