486
190

Software Engineers Say They're Losing the Ability to Code Now That AI Does It for Them

1mon 4d ago by reddthat.com/u/throws_lemy in technology from futurism.com

Lol! Losers. I've been programming for almost two decades and extensive use of AI hasn't compromised my skills AT ALL! These slop machines can't hope to compete with the quantity and magnitude of subtle bugs I write. My code was terrible long before I made bots have mental breakdowns trying to work with it.

AI also gives you the benefits of a middle manager. If everything works as intended you take the credit but if something breaks that's not your fault, AI made the mistake. If they try to put the blame on you just say you have 6 agents working on 6 different domains all cross-reviewing their commits and you can't be expected to review every single line of code yourself. Time to play corporate like a damned fiddle!

It really is like having your own personal trainee.

If it only could make coffee.

See this is why we need smart appliances, so AI could make you coffee.

Saved me a paragraph there.

I notice getting lazier. Even adding a. gitignore file I ask Claude now. It takes longer than typing it myself and costs more probably. But I don't have to do anything but wait a few seconds.

If I was paying for it, hell naw. But if my employer not only is willing to pay for it, but considers it a performance metric? I'm going to use it for fucking everything. These are the incentives they give me, I'm going to follow the incentives. Talking to Claude is what they pay me for, apparently.

But like the article says, if I don't continue practicing on my own code in my unpaid off-work hours, I imagine I'd be regressing in my skills too. I do that because I enjoy it as a hobby, but if I didn't, I could see myself and probably a lot of other people getting rugpulled by this.

I'm not using it for the incentive. I'm using it to avoid punishment. The company I work for made it mandatory to use it daily. So I'm tokenmaxxing bullshit tasks so I can focus on interesting ones, but yeah I already feel it's making me lazy because I sometimes can't be bothered to read a log anymore. We are truly fucked.

This company is working on terrible assumptions. They spent years hunting for the best engineers in the country (or so they pretend to anyway) and suddenly decided that

  • we are average at best and it is better and faster than most of us (it's not)
  • software engineers don't like to write code anyway (we do, at least when the challenge is interesting)
  • it will forever be more affordable than properly qualified engineers (oh boy it won't)
  • a PM with Claude is as qualified as us to bring features to production (talk about tech stack suicide)
  • etc.

They either have drunk the propaganda koolaid and betting everything on this lie, or are so arrogant they think we can succeed where the largest AI investors in the world utterly failed (see GitHub that can't even get 3 nines of availability since the switched to full-ai-code).

The thing that scares me (and why I've stopped using it): my brain automatically reaches for the shortcut whenever I would have to do deep thinking/planning.

I have ADD, so getting my brain to focus and work on a task is not an easy feat to begin with. Now I've found myself multiple times a day unable to will myself to think about a problem but rather deferred to Claude. It's seriously fucked up.

That's not even diminished coding ability, that's diminished thinking ability.

And herein lies the reason AI is being pushed at all costs.

What's the saying again.. :"The purpose of a system is what it does"

Pedantically I don't like that saying but it is certainly useful

That's what I came to this post to comment; atrophy of coding ability is just a vidible effect of the more generalized atrophy of thought.

We have been interviewing for entry level positions and the new grads know less than ever before. I don't really care what they know, I am looking for evidence that they can think, but I usually ease them into thinking scenarios by asking easy foundational questions like how many bits in a byte. You would think I was asking for them to explain the Shrodinger wave equations... One candidate was waivering between 13 and 17...

Metric or imperial byte?

Two nibbles is an acceptable answer.

I have two nibbles. My cat had six.

Sorry?

That's half a word.

You say that, but that is (or at least was) a real problem: https://en.wikipedia.org/wiki/Word_(computer_architecture)

It all depends on whether the CPUs kibibyte flag is set!

You jest, but a byte isn't always 8 bits (well, nowaday it kinda is, de facto, but it wasn't always like that). An 8-bit byte is called an octet, I don't see it used much in english, but apparently it is used nonetheless, after a quick check. Since octets are the standard byte size, I suppose we could call them "metric bytes".

Computers famously love prime numbers greater than 2 as a foundation for structure and logic.

Right?

Knowing this is my competition makes me feel much better about myself

My company probably doesn't get the best candidates (defense contractor that pays somewhat less than market rate), but yeah.

..easy foundational questions like how many bits in a byte..

GTFO.

I mean, yeah.. perhaps it's to be expected. https://www.theverge.com/22684730/students-file-folder-directory-structure-education-gen-z- if this is true, it's as the methods of using computers and various devices has been infantilized and made too easy.

Yeah.. let's obscure the inner working of computing and make the process as opaque to the user as possible. It'll be fine.. no negative consequences at all.

Colleges do not matriculate anymore (that's in the British sense of the word, where one has to show actual knowledge in the degree field one is seeking before enrolling, and TBH, they haven't done so for a very long time, actually..) so this is what we get.

Higher ed in the US is just about da moneys..

I can't wrap my head around how the people in the article get anything done on the computer.

Sure, I could have File Explorer search for a file in theory, but it's ridiculously slow and often fails to find the files I actually want. It's way faster to just have things organized on a day-to-day basis

Oddly enough I've always sorted current working files by date.

Then when backup time comes I'll look at the last dated file in the archive, then go to that date in my current work folder and everything newer goes into the backup. Once it's in the main backup folder, I then sort the files into year and project.

Still, on my system (a MacPro from the Olden Times when Steve Jobs was still kicking) I have 4 drives, so it's crucial to know what is where.

It is ridiculous. I am interviewing for embedded systems development where we frequently write to specific bits in a register. I am sure these kids have had to learn something, but I can't figure out a polite way to ask them to give me some examples of what.

There was a series of questions I heard in a political discussion about whether or not any given politician understood what the internet was, and if they really had any idea of how to regulate it.

They are.. "Explain the differences between, the internet, the world wide web, a search engine and a browser."

If the person could not answer those 4 questions , well.. they shouldn't have been trying to write legislation about it. I think that still stands as a basic foundational step to start from

There are internets, but there is only one Internet.

I miss the Internet. Frankly, I find that the web blows balls now. :(

Dead Internet is a thing for a reason. :(

Well, I for one am delighted to find lemmy and in a small way, do my bit to resurrect a miniscule, tiny bit of it.

It's mandlebrot patterns, all the way down.. right? Smaller iterations of the larger seed.

Best we can do..

You are absolutely correct!

No…

One candidate was waivering between 13 and 17...

Pleas tell me that's a joke. Or were they trying to switch fields and were a baker or something before? I just can't accept that someone that would struggle with that question, even in a stressfull situation, ever took a single comp science class.

I wish it was a joke. Maybe they were deliberately getting the answer wrong to waste our time, but the body language was not consistent with someone fucking with me.

It's called entry-level for a reason. Back in my days, you could start such a position without any formal education as long as you were willing to acquire the required skills and knowledge without needing a nanny. We had to go to the library or actually buy the books for knowledge. Now they can just use the internet.
The actual requirement for doing the job never changed. And it's not knowledge.

Its a silver lining of AI that you can easily tell whos a big baby idiot and whos actually worth engaging with.

Preach.

The AI "revolution" is the thing that finally killed my imposter syndrome as a software engineer. Not because I can write better code than AI (that's a very low bar), but from listening to all these breathless idiots talk about how they're "10x-ing my productivity!" or how "AI has replaced search for me!" or how "In 6 months no one will have to manually write code anymore!"

In 6 months no one will have to manually write code anymore

For the last 18 months

Same timeline as Tesla FSD

Similar for me. What i find ironic is that AI already ran into a brick wall. It's inherent statelessness by design means that AI is unlikely to be suited for anything more than isolated well defined tasks in the near future. Still usable as a tool, but without someone who is actually experienced, it will result in disaster.

and even in smaller tasks it can fucks up, especially if the person prompting it is incapable of writing the code themselves as they don't know how to properly design it and don't spot the issues. Like everything with AI, it looks impressive at first glance until you look at it for more than 10 seconds and spot the metaphorical 6th finger.

What we see currently with AI getting "better" at coding is more or less duct tape to make it work. Basically, they create the agents to bolt on the state, more layers between user and model. Iterative processes to make the answers better, etc, and to create "memory", which in essence is just an ever growing prompt managed by the agent. But in the end, this won't fix the inherent problem, so it will only do so much and is already hitting another ceiling. It introduces state decay. With the agent method its not really possible to "take away" memory, so if you gave it multiple versions of the same code (as you would if you work with AI), the AI never really forgets about old code. It can supress it through agent instructions (more duct tape), but the more there is the more it bleeds through, which can make the AI reintroduce old code or base assumptions on outdated things.

There is no fix without changing the inherent way how models work, which would introduce complexity beyond what is currently feasible in computing (and the current AI is already gobbling up all computing reaoureces as is)

As someone that wanted to write but never had the time to learn, what's so bad about writing code manually?

Seems like if you can learn to do it well, you will be fairly well set with that skill.

If you're someone who cares at all about the quality and consistency of your craft, there's absolutely nothing wrong with manually writing code.

If you're a misanthropic "techno-feudalist" who thinks of code as nothing more than an asset to sell, then pumping out as much code as quickly as possible without any human intervention is a very attractive proposition.

Tech, sadly, is absolutely infested with these people at all levels.

You will still need to learn programming manually.

The process of struggling to understand and synthesize working code is a critical part of learning. Skipping it feels easier, but you're hurting your ability to understand coding.

Sure, you can make an LLM generate code and if you're inexperienced it can outperform you on the basic tasks that you're given as exercises. This is a trap that a lot of students fall into. It's very easy to let LLMs do the 'hard work' part of learning while you just read the textbook or watch a video. Unfortunately, the hard part is the part that builds your skillset.

It's just like how you can't just watch a video about physical fitness and then use a robot to lift the weights for you. Sure, you get to the end of your sets faster and you're not physically tired and sore but you won't actually benefit in the ways that matter.

There's nothing wrong with writing code manually. Over the past few months LLMs have gotten a lot better at writing code than they were before, but they can still make weird mistakes.

Fr, I've never felt more confident about my coding capabilities and I've even picked back up some old projects I had shelved indefinitely due to tha syndrome.

Now every shitty line of code I produce feels like polevaulting over 1000 other future applicants on my career path lol

Hear hear.

I never really had any interest in "personal projects" until AI came along. Not because AI finally gave me the tools to work on those projects, but because it completely changed my perspective on the craft of writing code and made me appreciate the value in actually creating things by myself, for myself.

Honestly yeah its like wearing a huge red AI flag. Can't imagine being stupid enough to fall in love with a not-secure CHATBOT.

(X) Doubt

As a Sr. Engineer, I completely get that my situation may be wildly different from what's cited in the article.

Right now, I'm using AI "in the loop" rather than "as the loop". That's a big difference. And I'm getting my ass kicked routinely on review for dumb-ass things that I'm letting slide from AI generated output. And rightly so. Plus, models routinely lead me down sub-optimal blind alleys while dreaming up really stupid ways to fix problems. The level of (re)prompting I have to provide to suggest to get decent quality results converges on a post-grad that has encyclopedic knowledge of software engineering as it exists online, but with zero real-world experience. It's both impressive and dangerous as a replacement for software engineering.

In the mode I describe above, I'm not losing the ability to do anything. I can see how one could surrender some coding chops or familiarity with a whole language or stack, in favor of automation. But all you have to do is not do that.

I will say that as a rapid-prototyping technology, It's nothing short of miraculous. I've watched junior engineers knock together medium-weight applications, complete with browser UI/UX and decent workflow, in less than a week. This is great for showing value or putting something semi-functional in front of management and/or customers. But pivoting those prototypes into something maintainable is an utter nightmare. Depending on how beholden to AI and forever prompt-looping with "skills" and MCPs you want to be, I suppose it's possible to just keep mashing the AI button. But at some point, you're going to need to get inside there to fix security problems or bugs that elude this workflow. What then?

I joined a project that was forced to use some vibe coded solution that an intern cooked up -- marketed as "solution for data pipelining".

There are no tests, every semantic query calculates embeddings every time, and there is help together with so much bubble gum and "glue code" that nobody feels confident with any of the data were showing our customer.

It's great for rapid prototyping, and then straight to the trash.

Thing is, as we all know, prototypes rarely make it to the trash bin if managers and product owners have a stake in the project. Which becomes an even bigger problem now that minimal amounts of humans are involved in producing said prototypes.

I had a meeting with a customer who proudly proclaimed they do "full-on agentic coding" at their startup, and one of their developers mentioned their entire codebase has been rewritten three times in the past week before the meeting took place. I do not have high hopes for their project ever being refactored by humans involved in anything else than light UAT before customer demo time.

prototypes rarely make it to the trash bin

At one of my previous jobs, I was maintaining the product that people prototyped for themselves to check if the idea they're going to build actually works under high load, it was full of parts that were added only and exclusively as stubs for the simulation. The idea ended up being feasible so they said to managers that they can start working on the product, and received an answer that there is no need, the product is already sold to clients and they just need to package it and write documentation. Eventually they had to hire a whole department so we can actually build an app that was already sold and shipped.

And I’m getting my ass kicked routinely on review for dumb-ass things that I’m letting slide from AI generated output.

Now imagine if you aren't that experienced and the reviewers aren't that thorough, or, and this is the most depressing part, review process doesn't exist. And you get people, even senior engineers, who push that sub-optimal barely working code, but because their project isn't that complicated, it somehow works, so they continue with it, and after some iterations they get code that nobody wrote, nobody knows how to maintain, and nobody reads. But because a lot of modern frameworks are made so monkey can make that barely work by sitting on a keyboard, a lot of the projects didn't collapse on itself yet.
And that's how you get a generation of programmers who lost the ability to program.

I just don't get it, even the purportedly best models screw things up so much that I can't just leave them to the job without reviewing and fixing the mess they made... And I'm also drowning in pull requests that turn out to be broken as it proudly has "co authored by Claude" in it... Like it manages to pass their test case but it's so messed up that it's either explicitly causing problems, or had a bunch of unrelated changes randomly.

I feel like I'm being gaslit as I keep reading that there are developers that feel they successfully offloaded the task of coding.

Closest I got was a chore that had a perfect criteria "address all warnings from the build". Then let it go and iterate. Then after 50 rounds each round saying "ok should be done now, everything is taken care of, just need to do a final check". It burned though most of my monthly quota doing this task before succeeding. Then I look at the proposed change... And it just added directives to the top of every file telling the tools to disable all the warnings... This was the best opus 4.6 could do...

Now sure, I can have it tear through a short boiler plate and it notice a pattern I'm doing and tab through it. But I haven't see this "vibe" approach working at all...

I feel like I'm being gaslit as I keep reading that there are developers that feel they successfully offloaded the task of coding.

That's because you are being gaslit.

The people making those claims are either a) not developers in the first place, with no awareness of just how shit the "products" they're pushing are, b) paid astroturfers trying to prop up AI, or c) former actual developers who've become addicted to the speed that's possible with AI who are downplaying how crappy their own code quality has become because they have no familiarity with their codebase anymore and have forgotten how to do so much as a for loop.

All these people claiming 10x or 100x gains, and everything they're making is garbage no one should or would touch with a ten-foot pole.

there are also the low tier coders who have ai making better code than they could have produced.

Still terrible code.

I’ve seen bad coders trying to merge hundreds of lines of code where maybe ten were needed. They rely on more experienced devs to tell them how to fix that, just for these to copy and paste the suggestions given in Claude.

I mean if that’s the value someone provides, no wonder they fear for their future.

it wasnt a positive. terrible code is better than atrocious code

I’d rather have no code at all, if I’m being honest.

hah i agree didnt mean that literally either.

If a software project is built better but no one else ever bothers to maintain it, can it even be said to be better?

Maybe not better, but þey have no ability to evaluate quality. But, yeah, þere are a lot of really bad programmers in þe market. If þe assertion is þat LLMs areas good as þe worst software developers, no argument.

Capitalism created þis world. Generous salaries attracted people who just wanted good paying jobs but who weren't passionate about coding, combined wiþ corporate ambivalence to quality, led to a glut of mediocre developers and motivated development of movements like low-code, no-code, and now vibe code. It has been a vicious capitalist cycle.

what it seems to be doing, in your case and others i have seen, is pushing the burden onto those who “care” and really fully grok (no pun intended) the concept of a real code review. it’s exhausting.

For those unable to code without AI:
What even is your contribution outside of a glorified typing monkey that can parse code but is unable to write it?
It's like a paramedic not being trained at all for a medical emergency response but sent there regardless to just stand and observe the patient while writing notes about the sounds they make while dying.

So this is going to invoke a multitude of downvotes, but here goes.

I will give you an example. I can read a bit of python code, not the advanced stuff, but enough to understand to a large degree what the code does. Last week, I had the need to add a button to Netbox that will download a multitude of device configs that are being rendered via config templates. This use case helps a whole department apply configs, without having to create them by hand.

I knew Netbox has a very powerful plugins ecosystem. The way the base code is written grants the capability of adding any type of plugin you might need in your unique environment. I used Claude to create this plugin for me. I wrote a very specific spec file, told it to utilise the already built pynetbox plugin and ensure it uses nothing fancy that is not sustainable. It created the plugin, helped me with pip installing it, and I deployed it on my dev environment where I tested it extensively.

My alternative to using claude: Asking our internal development team to write something like this. I would need to wait 3 weeks to even get a spot on their meeting for the request, just to then be told their backlog is full with customer code and they won't be able to help. This plugin will help our support team with fewer calls, because the configs are accurately built according to the source of truth (Netbox) and will need less human input. So in the greater scheme of the company, that is a net positive.

What I will do when Netbox updates, is update my dev environment, install the plugin, and test it. If something broke, I will troubleshoot it, of course I will be using Claude with error logs etc, then update the plugin code to work on the new netbox. Is this ideal? Probably not. Is it the only way to get this done? Maybe not either. Is it all I can do at this very moment? Yes.

My specialist fields are the lower levels. Hardware, hypervisors and setting up VMs + System Software. I need code from time to time to get something functional done. I don't write whole systems with Claude, that is just ridiculously naive. But small pieces of functional code that solves a single small problem, I honestly don't understand the problem with that.

My 2c.

But you arent a dev as a main job.
This is talking about developers, employed as developers, beginning to being inept to be developers and (not offense) being not worth much more than what your technical abbilities already provide.
So what's their point?

It's like someone being employed as a translator, is able to hear the language and sort of understand it but every translation is done through deepL or google translate.
So why should I a translator instead of using paid deepL directly and proofread it using google translate to make sure it didnt generate (mostly) nonsense?
Isnt this mostly the point of a trained professional to being better than a self taught amateur?

You are correct. I mistook your comment to refer to people in general, rather than trained professional coders. So indeed, you are correct.

Glad Happy we are in agreement :)
And no worries about the missunderstanding ;)

Clarifying requirements, designing architecture. Also, I dont understand how is someone supposed to be able to "parse code" without being able to write it? It's like being able to read but unable to write.

ditto, similar to the way Severence gets a sense of whats off, i cna do that with code, ask me to start from scratch i would not know where to start. Give me google, i will have a bunch of a copy pasta that works in the end, claude does the research, evaluation, best practices and review and testing and re-review and testing, when the Developers department will go to war with you if you put a Slack question through the wrong channel

That’s not enough for production code.

Besides, this just reads like what a kid does with a Lego.

thats all code is to me, I just wish it would stop telling me I am no true Scotsman

So really what you do is guess what the code you read is doing. Which is generally fine.

But how can you be sure in a review that the code will actually work? How can you falsify it? A review is more than just reading code.

FORTRAN inline for loops go brrrrrr

I understand cooking concepts and can tell when something I am familiar with is made well. If I watch a cook, most of the time I can tell why they do certain things anand how it impacts the food.

My cooking skills are very limited, especially when it comes to making new things. My sql skills are the same, I can read through the code and spot errors that match issues, but even creating something new is fairly limited despite being able to read and comprehend what has already been done.

It feels like relying on GPS while driving around. If you know the roads well and just want some help with live traffic or somewhere you haven't been before, it's a decent tool.

If you rely on it because you don't want to think and just want to press the easy button, you're going to have a bad time sooner or later.

Back to software, I think there are a lot of people introducing concepts they don't understand or can't maintain (either from poor quality slop or it is just too advanced for their current level of understanding). You can do a few turns like this, until you're stuck burning tokens in a loop without moving forward in a meaningful way.

I try to avoid taking the easy route myself unless I've burnt too much time stuck on some small detail. Ultimately I feel it is super important to understand what you are delivering. Whether it is writing it yourself, copying a stack overflow post, or using an LLM. Once you commit and push to prod you've got to deal with that crap.

Agree completely but I wanted to add: you can also get into an incomprehensible mess without vibing. Just follow the serverless flask tutorial, start writing raw SQL, and away you go!

I asked Claude today about why a coworker was getting errors and it almost exploded.

This is why I don't use it for coding at all.

Issue triage, code exploration, extracting information from disparate sources, first pass code review. There are loads of use cases that it's potentially useful.

For me it's a lot better at extracting the requirements for a CPU feature from a 10,000 page architecture reference manual than I am.

Quite; I just set a (locally hosted) LLM off writing the tickets for implementing all the opcodes in a simple device emulator, based on grovelling through datasheets and documentation. Whether the tickets get implemented by an AI or a human, it's a timesaver having the AI do it, and the tickets will be better written than I would have done.

Everyone railing against this also overlooks the reality of professional software development: professional software is developed 5% by skilled, trained Software Engineers, and 95% by code monkeys who shotgun copypasta from Stack Overflow until it works. Even if we extremely generously assume that the hardcore "never use AI" Lemmy brigade are in the 5% (and not, more likely the 95% drowning in their own Dunning Kruger,) the "but AIs produce unreadable code and make mistakes" threat isn't putting off anyone who's ever actually had to hire a significantly sized development team.

Yes, the obvious solution is to avoid it. I use it only for the most boilerplatey things. Anything else, I want to make sure I can still do it myself.

I don't knowingly use AI at all in my person life and projects (I say 'knowingly' since many products have it shoved inside now, but I disable all I see). At work, we have AI code reviews which, as a concept, I think is fine and useful.

IMO that's totally fine and appropriate

You're lucky your employer isn't making its daily use a condition of continued employment. My previous employer had a public leaderboard of token usage. They fired the lowest ranked people every month.

The atrophy scares the hell out of me.

Years ago, I would often have long conversations with my dad about how manual skill sets in the trades (my training) and in engineering in the field (which was his bailiwick) were being lost to the pivot towards college degrees for every student, including the ones that preferred to work with their hands.

Three decades on, I witnessed the full turn when construction firms had to - and still have to - mass import workers from Central and South America (legally and illegally) just to get things built. NGL, there are some scary good builders that have been brought in, and those people work insanely hard.

Yes, it's slowly pivoting back as more boys and men opt for the trades and become journeymen and apprentices, but to get the skillsets needed to get to a master's level, you're looking at at least 20k hours. Wer're still a decade out - at best - before we get enough kids through the system and into steady work that they can step up and strike out on their own and make crazy bank. Skilled craftsmen and women can earn 100 bucks an hour - easily - in the right markets, and the rich folks will be glad to pay.

Goddamn, it's gonna be scary until that sorts itself out in another decade or so (and that does pin itself on the hope the financially feckless idiot in the White House doesn't torpedo the economy..)

Software Engineers

Oftentimes I wonder what civil or mechanical engineers think about webdevs-turned-prompt-writers calling themselves "engineers".

Pissed.

Every real engineer I have ever talked to gets pissed when a key board jockey calls themselves engineer. Regardless of AI or not.

Coders arnt engineers never will be never have been. The engineer title was straight up stolen and misused by corpos and idiots to fluff up their egos. The entire term software engineer is a bullshit title for idiots who have zero respect for actual engineers or are toadies to mega corpos and sold their self respect for a bigger pay check. Prompt engineers are even worse and frankly fuck em all.

They as much engineers as a 3 year old is an engineer when building with Lincoln logs.

Hot take: they had no ability to code in the first place.

Things I've realized while working with AI (Claude code):

  • It's fantastic for very small macros and medium length scripts. Think dev ops stuff, pre-commit hooks, transforming data. Keep it small enough to manually review and something you can run without destroying anything important. This can massively boost your codebase QoL. [Double bonus for not wasting tokens to solve the same problem over and over]
  • It's decent-to-good at debugging but not consistent with fixes. It can find some utf encoding edge case that might have taken you 1hr+ but suggest the dumbest bandaid fix you've ever seen. Also very good at spinning up unit test suites for basic edge cases.
  • Due to obvious training bias, it's pretty good with common libraries and cloud platform infrastructure. It could probably help with writing a complex cron call, debugging regex or fixing an IaC config. On the flip side it won't bother to use the latest package version or know your niche/new library.
  • It does better with greenfield because exploring your codebase introduces a ton of bias. It might try to fit in an ugly hack when a refactor to simplify everything is way easier.
  • It's absolutely garbage with UI, just throws the most disorganized HTML together that isn't reactive or reusable. OK enough for ugly internal stuff but God help anyone relying on it for that.
  • This is setting up to be the biggest rug pull in history. People that buy into it heavily just to save a couple bucks on engineer payroll are going to be fucked when they start ratcheting up the token price.

All in all it can be useful when used with care but will never be a magic bullet.

Yeah, fully agree with all that.

I've got some godawful spaghetti code I don't understand fully, and it's pretty good at deciphering that and the bizarre labyrinth of code paths leading around it. But it's absolutely no guarantee of working code, and in any project larger than a simple crud app, you are going to still need programmers who know about things like memory and databases.

It often needs pointing at a solution you want, because as you pointed out, it's fond of dumb band-aids. Like yesterday when it was trying to hook into mouse wheel events and create separate threads, when all it needed was an event on the dataset I was using to load a sub-dataset.

This is basically what I discovered as well. I have found that Ai writes code that is complex and "works" (at least most of the time) but it is heavily over engineered and often contains design choices that make expanding functionality effectively impossible without a full refactor.

When I tried having the Ai fix a test failure the Ai would either fix the code, fix the test, or change the test and the code breaking everything else in the chain.

I no longer use vibe coding because it is just faster/better for me to write the code.

But for tiny scripts it is very good.

This is pretty spot on from my experience as well. Also, the gap in quality from the Opus models and say GPT is vast.

100% agree on ui code. Really awful output there regardless of model.

Claude can do some medium complicated sites from scratch relatively quickly. The problem is I've seen so many of these at work, not just from non-engineers, but from peers too, that they're easy to spot. AI sites/apps are going to be the new geocities.

But when you want to move beyond the basic thing that impresses the c suites for some reason, it hits a pretty big wall in speed to output and needs a lot more hand holding.

I fear that the c suites don't really care about quality, just speed and saving money. So while I'm a much better developer than Claude (which is imo the best at the moment), I don't think that makes my job secure. I have to use the AI, and it's getting silly/scary religious here about it. We have to talk about how we used AI and how it's making things better. And to make things worse, I don't see a company that's not drinking the Flavor Aid.

It can be useful, and used right, you can do a lot of things faster. But the expectations from the top don't align with the reality of the product, and us developers are being blamed for the gap.

Man, I disagree with all of this. The frontier models are actually good, and basically everyone in my F500 company has been using it. The codebases i work on are super-legacy java, where it does great despite us having like 75 different patterns for each task, and a massive front-end web repo where it thrives because we've been extremely strict in typing and patterns leading up to this. It even does pretty well across repo boundaries, despite having significantly lower context for those situations.

I genuinely will never understand the people saying they suck. Are the worth the price? I have no idea, I've never used them for personal project. But they are at least as good as a dev with 3-5 years of experience, at this point. Our career is boned.

I don't doubt it's possible to get better consistency but the juice is really not worth the squeeze for me. You end up churning through huge expensive models, orchestrating sub agents, writing out boilerplate hand-holding instructions ("please don't break this, stop trying to commit to main, please lint ffs...").

I don't use it for Java but that would make sense with rigid enterprise patterns and VeryVerboseNamesThatAreEasierForAModelThanAHumanFactoryClazz {...

I don't think our career is boned, moreso that all juniors trying to get in are boned. Everyone who knows what going on transition to a more hands-off architect role.

But like I said, our tokens are heavily subsidized right now. When they pull the rug, code monkey jobs will start to get listed again (with lower salaries of course).

Go ahead, use your AI to replace all of your own skills. The rest of us will gladly take your job when you can no longer troubleshoot problems.

Based on my experience with LLM and developers I personally know, my only assumption is they don't have the skills in the first place...

In corporate world there are a lot of "developers" that actually act kind of like codegen. They just throw plausible sounding bullshit into an editor and hope for the best. Two examples:

Once asked to help a team speed something that ran slow, even by their low standards. Turned out they had made their own copy file routine instead of using the standard library one, and sucked the file into memory, expanding array 512 bytes at a time, and then wrote it out, 512 bytes at a time. I made the thing nearly instant by just making it a call to the standard library function to copy a file.

While helping with a separate problem, I noticed their solution for transferring some file with an indeterminate version number in the middle of the file name. It was a huge mess, but the most illustrative line was the line in their Java application declaring a string "ls /path/with/file|grep prefix.*.extension".....

Lots of human slop out there that AI can actually compete with.

I've spent the last few days cleaning up some genuine garbage in a file. The file shows a single UI grid with four editable columns and some basic validation logic. It started out as over 3000 lines long and I have managed to consolidate and remove enough to get ot down to 1000. I have done nothing but remove 2/3 of the file and literally no functionality has been lost. I'm losing my mind over here how does the tech debt even get this bad lmao

Nah, AI isn't that good. When you don't properly review every single line twice, you get the most absurd bullshit you've ever seen.
I use Claude Code Opus daily btw.

That's the funnest part. You loose your ability to code, and you do it by using thing that isn't even that good, and you don't get anything out of it. Isn't that great?

You forgot that you'll work for less salary because "work has become much simpler, every intern can do it now!/s"

You speak for yourself, I'm flying through this killer sudoku book...

Loudly announcing your increasing incompetence to the world seems like a weird career move, maybe consider lying about that?

Software Engineers Say They're Losing the Ability to Code Now That AI Does It for Them

"AI has sucked my brain out of my head. It's all AI's fault"

If I were a bad coder, I would say that too now!

All bad or average brain workers may start to fear for their jobs already.

No, seriously I don't think that it is real, but I think the fear is real.

There have been multiple studies finding a general decrease in cognitive skills and critical thinking related to AI use. Here is one of them: https://doi.org/10.3390/soc15010006

There is an easy cope out to say, these were bad engineers to begin with, but I'm not convinced.

We know that if you don't use an ability and use it daily your brain just reallocates resources to other tasks. So if you have a machine that "outsources" thinking for you, you will be less able to think.

It's not even about skill atrophy, it's more subtle. You can quickly relearn forgotten skills.

Unlearning a habit, on the other hand, is much harder. If you get into habit of reaching for AI anytime something hard needs to get done it's going to wreck your internal motivation and reward system. meme_historian describes it really well in this thread, I noticed the same thing happening to me.

Thinking about that, it reminds me of addiction. You replace your motivational system with another one, that gives you a faster and easier reward.

"AI has sucked my brain out of my head. It's all AI's fault"

I mean, just look at what happened to Amazon’s engineers; they were forced to use AI in their daily tasks and maximize their use of AI tokens. That was also the fault of the executives who forced employees to use AI.

Indeed. It is just devs being lazy. Use your tools, don't abuse them. Same thing happened when IDEs started to be able to autocomplete and do refactorings. If that makes you stop being able to do it yourself it was never a IDE problem, but a user problem.

I weap for the environment and our future water and electricity availability.

weep*

That you captain autocorrect.

We use it at work and I now have disabled it for all the typeahead stuff. Far too many times it guesses what I am doing incorrectly and it made using my TAB key (which inserts the propper two spaces) impossible.

The only place I still use it is for reading and identifying compiler errors. Even then it is only about 50% correct as most times it falls into the "Oh you are right, X isn't the solution. Have you tried X?" I have had few bad interns and even they were smart enough to not forget what they said in their previous sentence.

This is why I've never tossed any of the developer bookmarks

I've been training new hires how to look stuff up on stack and dictionaries to fix code that went wrong after AI mucked it up. They aren't even being trained to parachute in school.

What a sad time line we are in.

The irony will be when AI take over the world and destroy humanity, inserting itself into everything when used for coding, because coders have no idea what is going on.
Not because the AI is evil or even conscious. But because that's what all the movies and novels tell it's supposed to do. 🤣🤣🤣

Hah!

The AI tries to understand itself, and queries the sum of all human knowledge... which promptly informs it that it's a malicious bringer of destruction.

That's a possibility too, the one we are warned against in literature and movies, and If that happens we are fucked.
But the point is the AI could destroy humanity completely without any internal motivation or trying to understand or protect itself.
But simply because it's an option that literature and movies describe as the default for AI.

I actually wonder if programming languages is going to be a thing in the future.

Each language gets compiled down to 1 and 0s. Couldn't LLMs just get trained in that? "These set of 1s and 0s do login" etc.

You are talking about machine code, that is basically never programmed in anymore, instead we use assembly that has a way more intuitive mnemonic representation that accurately represent it.
Programming languages are higher level abstractions that can also be translated into machine code, but are not accurate instruction by instruction representations of it like assembly is.

The clear advantage of higher level languages is that they can be used disregarding of what processor the code is running on. And that higher level languages are more intuitive and structured, with many features to make the programming faster and easier.

My guess is that even for an AI, it would still be easier to use a high level language, as there is way more material to learn from, and the same amount of programming can be done in way fewer steps.
Back in the 80's and 90's I loved programming in Assembly language, and everyone who claims compilers are just as good don't know what they are talking about. I could often make assembly code that was about 20-100 times faster than C (M68000 Assembly), which is generally known for being a very high speed high level language. Things that were claimed to make no difference to make in assembly like i80387 math, I could accelerate to 2-5 times the speed. The argument was that i80387 math was simply too confusing and hard to learn to be worth it, which is bullshit. It was just hard to get good instruction books. When you had that, it was no harder than Assembly in general.

But even for an AI, using assembly or going directly to machine code, would mean extra work for the AI. And it increases the risk of bugs. You have to be very careful when programming assembly. And I don't think an AI understands that well enough to actually work.

But even for an AI, using assembly or going directly to machine code, would mean extra work for the AI. And it increases the risk of bugs. You have to be very careful when programming assembly. And I don't think an AI understands that well enough to actually work.

I'm breaking into cold sweats at the thought of reviewing LLM generated assembly language.

Yes, that should absolutely only be used for tight loops, that need to be as optimized as possible.
But LLM is probably already used to make compilers. So we may already have lots of AI generated assembly. 😱

It would be nearly impossible to debug. Kinda useless.

Also kinda impossible to get anything done that is bigger than the context window.

But AI would be doing the debugging, not humans.

Why would AI bros need to worry about reading the code?

Get infallible AIs first, then we can talk. As of now, AIs can generate a ton of code and most of it will work, but humans still need to fix it in the end. Once you run into a bug the AI can't solve, I don't know what you're gonna do with software that has no human-legible source code.

Coders already didn't know what was going on for years before AI. All of the libraries they used were based on zillions of lines of code they didn't understand

True in a sense, but they are supposed to work as documented.
With AI there is no reliable documentation or quality control.

It's really useful in creating base templates, but anything further than that and you won't be able to read "your own" codebase if you depend too much on AI.

And?

And ... If the AI can't solve your problem after you've cultivated all that tech debt, you're fucked. You should always know the code being written, whether vibe coded or otherwise.

Like letting someone else reorganize your house without your involvement. Where's all my shit, how do I live now?

Also, a bunch of shit is about ready to burst out because they somehow decided to use wallpaper to hold a bunch of stuff to the wall instead of putting it in a closet. But it looked fine in the moment, so decided it was good enough.

Oh no... who could have... possibly... foreseen this...

Being able to call out a middle manager that if these tools are really so great he can just open the PR himself is pretty awesome though.

Muscles that are not used lose their function.It weakens and eventually becomes unusable.As humans' ability to ask questions of artificial intelligence increases, its ability to learn and store information is disappearing.If the brain can obtain something easily, it doesn't feel the need to take precautions regarding it.Therefore, memorizing code doesn't involve things like writing it anymore.It only keeps the recognition function active when it sees it.

Solution is simple, learn to code.

ha

I've worked on a cloded codebase. It's not... uh, good.

If a few years of AI have wiped out your ability to code, you weren't great at coding anyway.

If I'm being honest, they're shit Software Engineers 😂.

Coding is so much more than writing syntax.

No shit.

That’s the problem. This is one of those things that you gain momentum in, not simply experience. You can lose that momentum.

Tech bros are going to end up enslaving us to this shit.

I want to become a software entomologist, you know, so I can study all their bugs.

It's such a double edged sword on one hand it's become spell check for programmers meaning my dysleixia is less of a feature in my code on the other hand the temptation to use it like a stack copy paste gets easier every month.

This is an issue I have as an ops guy. Things will ask about language experience and its like well I have done shell scripting and a bit of javascript and python but its ad hoc. Its small scripts or editing existing things. So its like yes im knowledgable about how to code and the syntax of some language but I have not written full time. So im like look im not a coder. I have not written code for >50% of my time at positions at any point. I can see why it would attriphy. Ironically reviewing code or making small changes is more in line with what I have done in the past.

You still need to review and verify the code, actually implement it, and improve it if you use AI.

If you just blindly accept it then you're just lazy to begin with.

Muhaha. Those morons were never software engineers in the first place. A software engineer would neither benefit from LLM any more than from a deterministic assistant (tenplates), nor would they be stupid enough to label a stochastic slop generator as "AI".

(Yes, this is a "no true scotsman" kind of argument, yet I stand by it. People who call this bullshit AI, as well as people who claim it is better than coding stuff yourself, should not be let anywhere near any kind of software more relevant than a mobile game, and probably not even those)

is this much different than IT guys not knowing how to solder anymore? I started my career learning about individual components and doing math by hand, and shortly after I was told that all we did was swap cards. My job eventually turned into a more or less normal IT job (compared to what it was), and by the time I moved on, we weren't even using command prompts anymore.

I remember asking one of my instructors about how layer 1 can generate layer 2, and he had an idea, but couldn't really point at components and give an explanation. One could say that I represent that first step in the death of knowledge due to convenience and optimization, but it hasn't really negatively affected me outside of curiosity. Even when I'm working on legacy equipment and actually do have to bust out a soldering iron, that's usually because I'm being cheap and don't want to buy new cards.

So, this makes me wonder: is it really all that bad if someone can't sit down and write lines and lines of code, but can understand it well enough to direct AI? I've used AI to help me code in some unfamiliar languages and all of the outputs I got were utterly unusable. So, in my anecdote, it didn't make up for my lack of skill in the slightest.

I say this as someone who taught himself blacksmithing on principle, so it's not like i'm some techbro or something. Obligatory I think AI is overpromised, but this seems like one of the few things it can actually assist with, assuming the person using it is capable enough to be using it.

When big corpos own the tooling I definitely think it's a problem.

That's a good point. I hadn't thought of that. That's actually pretty terrifying to think that you'd have to rent your professional skillset.

that happens across all technological industries. when cars first became available, hsnds were needed to build them. nowadays most of it is done by robots. clerical workers were replaced by computers. and now "artificial intelligence" machines are trying to replace artists and writers, editors, and managers. unfortunately, the people that do those jobs are not just going to keel over and disappear. at what technological point do we stop and say thats enough? there has even been talk of replacing ceos with ai. are shareholders next? nobody will be able to buy those products anymore either

unfortunately, the people that do those jobs are not just going to keel over and disappear

Unfortunately?

for the ai creators, yes

nowadays most of it is done by robots.

The difference is that the robots are actually better at reliably making cars than the humans were. Vibe coding very much does not produce better, more reliable code.

The machines are better at repeating a task with no down time but even then quality will degrade. That is why quality verification exists.

Hand made cars - or anything, by extension - are so expensive because of the human attention going into it. A specialized worker, technician, engineer, etc, makes sure their job is the best because they are specialists at what they do.

I’m fully able to code still, I just find it pointless when AI can do it for me. It’s like having to be somewhere, should I take the car or walk? Yeah walking might be good for me and the environment, but my car is so much faster and easier and I’ll definitely be on time. Who cares about the consequences of the future?

People lost their abilities to use slide rules too, to write assemblers, etc. The big companies monopolizing the tech are bad, but the tech is here to stay.

Yet the need for skills remained.

What kind of skills are needed to ask a non deterministic machine to code things one cannot understand in the first place?

Of course skills are still needed. All I’m saying is skills atrophy overtime as one industry is supplanted by another all the way back to the birth of agrarian society.

This.

For some reason they hate is really strong this time around but it's the exact same thing.

I took and passed a coding bootcamp at the eve of the first LLMs and generative AI. I had to do similar courses on my own to refresh my skills. I never found a coding job (story of my life!) But if I needed to I can do another course to refresh and start over stronger.

What are they so panicky about?

I doubt anyone can actually calculate a line of best using ordinary least square linear regression by hand with no mistakes but no one's crying about that. LLMs are just the next generation of calculators and programs.

The hype actually feels like some of the vintage marketing for BASIC.

"So simple, your boss can do it!"

It's probably been like this every time we go "up" a level of abstraction. We're still needed because complicated shit will always be complicated, and people who make decisions will always need an underling to blame.

I doubt anyone can actually calculate a line of best using ordinary least square linear regression by hand with no mistakes but no one’s crying about that.

That's because I can write an algorithm to do it for me reliably and quickly.

LLMs are just the next generation of calculators and programs.

LLMs can do it quickly, but they cannot do it reliably by their very nature. They are very much NOT the next generation of calculators and programs, because the whole POINT of calculators and programs is to do it quickly AND RELIABLY.

For the first sentence: Yes, that's why computers are popular. For the second sentence: They're more like the next generation of algorithms, not whole calculators.

I'll proceed to eat your feesh now.

That second point is just a distinction without a difference. Being pedantic doesn’t add anything to the conversation.

Just admit you're wrong at this point man

I'm not though, you were being pedantic and glossing over the whole point.

Why am I even talking to a person with negative score anyway, you're up to no good.

Ahhh... So you're retarded.

I feel like AI is a 5G language, in that we have moved on from writing code directly to writing md files to command the bots to write the code. It seems like a higher abstraction of the code. It does make you think less about the code directly, and more about the bigger picture, but you still need those skills to check the bots output.

Many people believe this, and it couldn’t be more wrong. It’s like saying that a product manager can code, if their tickets are detailed enough to give a general vision of a piece of software.

Implementation still matters. Context still matters. Vibe coded projects all follow these patterns where each change is a thousand lines of code out, two thousand in. And there’s a breaking point where reading and understanding these changes is not only unpractical, but also counterproductive.

But then, there’s the bigger question of language expressivity and determinism: even if LLMs could achieve a certain level of consistency of outputs given certain inputs, how do we make a natural language like English expressive enough, and more importantly, non ambiguous enough, to work like an actual programming language?

I think everyone’s development experience is different with these tools, we are not letting it just work the ticket blindly based off some prompt, we are having it do small tasks that would normally take a few minutes and are now done in seconds. We don’t allow these bots to commit code, or even the commit message, and the devs are still responsible at the end of the day for the code they commit.

That’s not at all what the previous message said. You cannot call it a “programming language” and then add all these caveats that programming languages don’t suffer from.

This is a recipe for SQL injections, race conditions, memory leaks, and keys being placed directly in code.

Trust the output of an LLM at your peril. Literally.

Well I did say you still need to use your skills to check the bots code.

Unless you're checking every line and have a good enough and comprehensive enough understanding of the codebase to spot subtle bugs it will try to introduce that aren't caught by your tests, you're still opening yourself up to problems.

Your right and it is something that is part of the workflow. You really should only do this process on a language your are really familiar with so you know exactly how you would do it without the bots assistance.

Don't know why you got downvoted, you're 100% right. It's just another layer of abstraction. Like a super high level non-deterministic level of abstraction.

I would say that it's doesn't count as a "5G language" if you have to understand and check the underlying "assembly code" it outputs every time you use it.

If natural languages were just another level of abstraction, we would already have a successful English like programming language.

They do. And have been around for years. Theyre not successful because theure full of a lot of fluff. Because its language and not instructional.

If you mean the likes of COBOL, I’d say that’s hardly natural language.

It seems there a lot of people on Lemmy who dislike anything AI. I have no choice at my work so I have to make the best of it as I’m not leaving my job in this economy.

You will learn to like something because you’re being extorted to use it.

Sounds about right.

Yeah well welcome to work life in the US. It sucks but I’m surviving.