Writing the actual code is the easy part. Thinking about what to write and how to organize it so it doesn't become spaghetti is the hard part and what being a good developer is all about.
Question is: how many developers are actually good? Or better, how many produce good results? I wouldn't call myself a great programmer, just okayish, but I certainly pushed code I knew was absolute garbage, simply because of external pressure (deadlines, legacy crap, maybe just a bad day,...).
I'm more of a mechanical engineer than a coder, and for me it's been super helpful writing the code. The rest of our repo is clear enough that even I can understand what it actually does by just reading it. What I'm unfamiliar with are the syntax, and which nifty things our libraries can do.
So if you kinda understand programs but barely know the language, then it's awesome. The actual good programmers at my company prefer a minimal working example to fix over a written feature request. Then they replace my crap with something more elegant.
That sounds awful. Imaging going back and forth requesting changes until it gets it right. It'd be like chatting with openai only it's trying to merge that crap into your repo.
It would probably mean the amount of coding work that companies want done would multiply 10 fold as well. I'm sure the content of the work developers do will change somewhat over time (analogous to what happened during the industrial revolution), but I doubt they're all out of a job in the near future.
Where I'm really not sure is, what percentage of the software written today actually needs human work?
I mean, think about all the basic form rendering, inputs masks, CRUD apps. There's definitely a ton of work in them and they're widely used, but I'm pretty sure that a relatively basic AI-assisted framework could recreate most of these apps with hardly any actual coding. Sure, it won't be super efficient or elegant, but let's be honest: nobody cares about that, if they're good enough.
Just look at Wix, Wordpress, Squarespace etc. Website builders basically imploded the "low effort" web design market. Who would pay hundreds for a website made by a human, if you can just click together something reasonably good looking in 2h?
I mean honestly for things like tech, the jobs are going away due to these innovations, just piecemeal. Each of these innovations have shaved hours off of projects. Now someone's salary might be the same and they might still have to go into the office 40hrs a week (or be just as productive working from home, go figure) but the actual work they're doing is that much easier than it used to be, they might only have to work 4 hours a day now to accomplish what might have taken 2 days in the past.
Sure, certain companies put more demand on employees than others, and as you mentioned there are still human components to the system that remain untouched by technology, but if the tech world was honest with itself tech employees do far less work now than they did 10-20 years ago, disregarding the general expansion of the tech industry. I'm just talking about individual jobs.
Of course I don't think those employees should be making less. I think if we innovate so much that a person's job disappears we should be able to recognize that that person still deserves to be clothed and fed as if they still had that job.
Yes, except for the fact that the flip side of those is that software, almost by definition, is automating away jobs in other industries.
So when it gets easier / cheaper to write software, other industries will spend an increasing amount on it to replace their workers. That's one of the reasons the software industry has continued to grow, even though it's gotten easier to write.
tech employees do far less work now than they did 10-20 years ago
Agreed!
Of course, if we had truly understood the situation 10-20 years ago, we could have admitted that they were primarily being paid to know how to get the thing* to work, and not actually for the hours they spent typing in new code. Hence the rise of "Infrastructure Engineer" and "DevOps Specialist" as titles.
*I omiitted the technical term, for brevity. But to be clear, by 'thing', I mean what professionas typically call the "damned fucking piece of shit webserver, and this fucking bullshit framework".
Not mine. Every year if I don't get a "cost of living" increase that meets or exceeds inflation, I go complain about it to my boss who then negotiates with HR on my behalf and I get a bigger raise. I'm not gonna let inflation kill my salary, and my boss is not gonna risk me leaving for another company. I do wish they would just give it to me up front and stop making me ask each year. We all know what the outcome is gonna be.
This got passed around as a common fact in the wake of the 2008 financial crisis. Wages from the early 70s through 2010 or so were flat (not negative, but flat) due to inflation. Things have shifted since then.
Note that the graph shows median wage; it isn't as affected by a few high earners as average wage would be. The 2010s were a period of relatively low inflation and wages had a chance to catch up a bit.
What is true is that productivity has leaped massively since the 70s, but median wages have only crept up somewhat. The argument needs to shift to be around how the working class was screwed out of their share of productivity improvements. That's not likely to change until we have more unions and overall something closer to Socialism.
For many years my skillet expanded faster than inflation ate away at my pay. I've been in a high demand specialty (Cybersecurity) for awhile.
I'm now a manager, which does come with extra pay. Perhaps more importantly, it puts me in a position to throw my weight around to get my team and myself better raises.
lol, I'd love to see the fucking ruin of the world we'd live in if current LLMs replaced senior developers. Maybe it'll happen some day, but in the meantime it's job security! I get to fix all of the bugfuck crazy issues generated by my juniors using Copilot and ChatGPT.
One of my uni lecturers does the whole "You are out of a job" thing. He's a smart guy but he's barley written a line of code in his life. This comes up frequently and everytime I ask him "Get CHATGPT to write fizz buzz in X86 ASM." Without fail it will crash when trying to build everytime. This technology is very advanced but I find people get it to the the simplest tasks and then expect it to solve the most complex ones.
I tried using AI tools to do some cleanup and refactoring of some legacy embedded C code and was curious if it could do any optimization or knew any clever algorithms.
It's pretty good at figuring out the function of the code and adding comments, it did some decent refactoring of some sections to make them more readable.
It has no clue about how to work in a resource constrained environment or about the main concepts that separate embedded from everything else. Namely that it has to be able to run "forever", operate in realtime on a constant flow of sensor data, and that nobody else is taking care of your memory management.
It even explained to me that we could do input filtering by using big arrays to do simple averaging on a device with only 1kB RAM, or use a long long for a never-reset accumulator without worrying about what will happen because "it will be years before it overflows".
AI buddy, some of these units have run for decades without a power cycle. If lazy coders start dumping AI output into embedded systems the whole world is going to get a lot more glitchy.
I was helping someone with their programming homework, every time copilot suggested anything he just blindly added it, and every time i had to ask him "and why do you need those lines? What do they do?", and he could never answer...
Sometimes those lines made sense, other times they were completely irrelevant to the problem, but he just add the suggestions on reflex without even reading them
And when "web frameworks means we don't need web developers anymore" and when "COBOL is basically plain English, so anyone can code, so we don't need specialists anymore".
Millions did. It's just that after a while the advantages stopped being convincing and the trend reversed. If the same thing happens here, expect to go jobless for a while until you're needed again.
I had to pull aside a developer to inform him that he "would be" violating our national security by pasting code online to an AI and that there were potentially repercussions far beyond his job.
The company had avoided certain destruction, after having fired the previous CEO and putting a new one in it's place. The new CEO had managed to bring a newfound calm to the company and it's ranks, and brought an air of meditative discipline to board room meetings.
Some said it was crazy, but making the LectoFan EVO the new CEO was the best decision the company board had ever made.
I find it very hard to believe that AI will ever get to the point of being able to solve novel problems without a fundamental change to the nature of "AI". LLMs are powerful, but ultimately they (and every other kind of "AI") are advanced pattern matching systems. Pattern matching is not capable of solving problems that haven't been solved before.
Being a programmer is a lot like being a tradesperson. A tradesperson has a lot of flexibility in what they can do. They can work for a company, work freelance, or start their own business.
Programming gives you the same flexibility, the most important bit being that you can do it for yourself.
AI is going to struggle with larger complex tasks for a long time coming. While you can go to it and say 'write me a script to convert a png to a jpg' you can't go to it and say 'Write me a suite of tools to support business X' or 'make me a fun and creative game' A good programmer isn't going to be out of work for a long time.
Most of the work software developers do is comprehending the problem, formulating a solution that addresses the problem, and doing it in a maintainable, performant, and security conscious manner.
I think AI can write a killer isEven() method, I think it's shit at everything I listed... it's extremely shit at being security conscious, any dev can tell you that it's easier to write code and confirm it's following best security practices then it is to review someone's code and confirm it's following best security practices... I think AI actively makes it harder to have confidence in security.
The first real part of my job I think AI will help with is performance tuning. We're not there yet but I think we're not unimaginably far from being able to give an AI a working but slow function and have a computer spin up a million randomized test inputs and outputs... then start scrambling the algorithm in a plethora of ways and testing the performance while confirming that the test cases pass.
Then again, you'll need to confirm the algorithm is still secure - but I think the realm of performance is the first place we'd see a tool that I'd demand a license for.
All the AI does is match the request to solutions it was trained in.
It just stackoverflow in your ide. It has a little more flexibility in answering and isn't as corrupted by SEO result when googling the equivalent answer. Its not informed and thinking.
The optimisation problems you are talking about is the process that is used to make AI models in the first place. I think you want an AI to configure optimisation routines for you rather than build the test cases and variables yourself. Or you want some system that implement all the individual components better, but an AI that can optimise the entire thing isn't coming about soon. It would need to trained on very similar software. In which case you should just use that better software.
I want AGI to be a thing. I see little evidence that OpenAI et al are going that way. Pretty sure it's mostly hype to distract from wholesale theft of IP for profit.
It literally cannot come up with novel solutions because it's goal is to regurgitate the most likely response to a question based on training data from the internet. Considering that the internet is often trash and getting trashier, I think LLMs will only get worse over time.
Low-background steel, also known as pre-war steel, is any steel produced prior to the detonation of the first nuclear bombs in the 1940s and 1950s. Typically sourced from ships (either as part of regular scrapping or shipwrecks) and other steel artifacts of this era, it is often used for modern particle detectors because more modern steel is contaminated with traces of nuclear fallout.[1][2]
AI has poisoned the well it was fed from. The only solution to get a good AI moving forward is to train it using curated data. That is going to be a lot of work.
On the other hand, this might be a business opportunity. Selling curated data to companies that want to make AIs.
I could see large companies paying to train the LLM on their own IP even just to maintain some level of consistency, but it obviously wouldn't be as valuable as hiring the talent that sets the bar and generates patent-worthy inventions.
Also the more the internet is swept with AI generated content, the more future datasets will be trained on old AI output rather than on new human input.
Hi, I don't want to say too much, but after being invited to some closed AI talks by one of the biggest chip machine manufacturers (if you know the name, you know they don't mess around), I can tell you AI is, in certain regards, a very powerful tool that will shape some, if not all, industries by proxy. They described it as the "internet" in the way that it will take influence on everybody's life sooner or later, and you can either keep your finger on the pulse or get left behind. But they distinguished between the "AI" that's floating around in the public sector vs. actual purpose-trained AI that's not meant for public usage. Sidenote: They are also convinced the average user of a LLM is using it the "wrong" way. LLMs are only a starting point.
Also, it's concerning; I'm pretty sure the big boys have already taken over the AI market, so I do not trust that it will be to the benefit of all of us and not only for a select group (of shareholders) that will reap the benefits.
So Nvidia (or Intel or AMD) told you that you need to AI to stay competitive. Not only that, but you needed a bespoke solution. Not the toy version out on the net every can get access to.
Strangely enough, they have some wonderful products coming to market which would be just what you need to build a large training network capable of injesting all your company data. They'd be happy to help you on this project.
All they had to do to get you to drop your guard was invite you by name to a "closed talk".
As long as AI isn't outlawed or "regulated" in some stupid way, open-source AI models will stay competitive. People are interested in AIs and working on them is exciting and doesn't require a lot of code or other bullshit, this is the type of thing that the open-source community will work on.
AI threatens to harm a lot about programming, but not the existence/necessity of programmers.
Particularly, AI may starve the development of open source libraries. Which, ironically, will probably increase the need for employed programmers as companies accrue giant piles of shoddy in-house code that needs maintaining.
I can't wait for my future coworkers who will be coding with AI without actually understanding the fundamentals of the language they're coding in. It's gonna get scary.
I guarantee you have coworkers right now coding without understanding the fundamentals of the language they're coding in. Reusing code you don't understand doesn't change if you stole it from Stack Overflow, or you stole it from Chat-GPT9.
The amount of code I’ve seen copy-pasted from StackOverflow to do things like “group an array by key XYZ”, “dispatch requests in parallel with limit”, etc. when the dev should’ve known there were libs to help with these common tasks makes me think those devs will just use Copilot instead of SO, and do it way more often.
Well that'll be junior developers, until they get hauled over the coals for producing highly repetitive code rather than refactoring out common themes.
I think there will be (and there already have been) significant downsizing over the next few years as businesses leverage AI to mean the same work can be done by less people paid less.
But the job cannot go away completely yet. It needs supervision by someone that can see the bullshit it often spits out and correct it.
But, if I'm honest, software development seems to be targeted when I think design writers should be equally scared. Well, that is if businesses work out that AI isn't just chatgpt. A GPT or other LLM could be trained on a company's specific designs and documentation, and then yes designers and technical writers could be scaled right back too.
Developers are the target because that's what they see chatgpt doing.
In real terms a lot of the back office jobs and skilled writing and development jobs are on the line here.
The work can't be done by someone paid less. The work can be done by highly skilled, experienced developers with fewer junior resources. The real death comes 60 years later when there are no more developers because there is no viable path to becoming a senior.
Technical writers you may be correct about because translating text is one is the primary use cases for AI.
I have no other skills that would pay anywhere close to what this career pays. I'd need to go back to school and become a surgeon or something. I don't think they let people become surgeons at 50 years old, and I don't have the energy for an internship and residency. I'm just hanging on and hoping that it doesn't all vanish in the next few years. I'm also spending time learning how to leverage AI, since I think that'll put me a step ahead. Good luck to all of us, we're going to need it!
Any gains from LLM now would barely offset the complexity bloat introduced in enterprise applications in the last decade alone. And that’s not even taking into account the sins of the past that are only hidden behind the topsoil lair of cargo cult architecture.
After the report that codes made by the assistance of copilot are actually shittier than code written manually I'm feeling safe until the next breakthrough in AI development. Meanwhile I'm saving up gold for the eventuality.
Typical conversation between a non-programmer and a programmer about AI:
Won't AI put you out of your job?
It probably won't
Well, can't AI write code much faster and more efficiently than humans?
How would it know what code to write?
I guess you would need to provide it with a description of the app that you want it to make?
So you're telling me that in the future, there will be machines that can generate computer code based entirely on a description of the required functionality?
I guess so?
Those machines are called "compilers", and "a description of the required functionality" is called "a program". You're describing programming.
Didn't ChatGPT become very bad recently? It used to give really working code but now it gets things wrong and doesn't follow context. It gives code but when you ask it to improve by give more context, it ignores the previous answer and give wrong code.
It even sometimes answers by saying it does not have the answer for questions that it answered few months ago.
How is that a niche api question? That's a public api that is scraped up.
It's also a terrible way to ask the question. It's how a clueless newb asks questions. Anyone hoping to help needs to at least know: What are you attempting to use the end point for and What results are you receiving vs expecting?
I spent a couple of years doing contract work in a team that built the APIs that ran behind a fairly complex site; they understood that I was helping build the site, but really didn't get that I had nothing at all to do with the UI or content, and yes thank you for your suggestions about the layout but that's not something that I can "just go fix it" because a) change control is a thing and b) that part of the site is maintained by an entirely different team, from a different company, and I don't have access to their source code
I was afraid of AI coming from my job, so I decided to learn about it. And by learning about it, I learned its limitations, which are numerous.
Someday maybe it will be strong enough to take on an entire engineer – but it's going to be a very long time until that happens. If anything, I've spent more time screwing with prompts making sure that they're perfect to try to get better outputs. Really where I see our jobs going is prompt engineering, DevOps, and fine tuning
Absolutely. AI is really good at single tasks of specific types. For example, it's great for organizing your emails, or creating filler content for a website, or helping suggest responses for customer support people. And sure, it did an amazing job creating code for a Google spreadsheet so I could easily scrape radio websites for their competitions and win festival tickets for the seventh year in a row. But in all these things it's incredibly one dimensional, and still needs a human to guide it. People come to my demo calls thinking that AI agents are fully possible and capable. Nope, not yet.
Still bizarre to hear this. It's like they think the CEOs are gonna write a prompt. "Link customer data to visualization" and it's gonna preemptively collect the info and then create useful insight for their future products which will then be made by the AI
In pharmaceuticals, AI will not replace workers in manufacturing or laboratory. It's even far more useful for drug discovery. There is a recent report of AI designing a new and effective antibiotic, in which the research and development for such drugs have basically stopped since the 1990s because bacterial antibiotic-resistance tend too evolve too quickly for antibiotic discovery to keep up.
We had an ai demo at work last Friday where we just were showing off a local running llm with some test input. Best part was the demonstrator had it output something unexpected and they were like "I've ran this twenty times and it has never said that". Lol. We're alright but it's incredibly useful already it's pretty exciting.