You only have to snorkel through the mile of shit if you let the shit-pipe in in the first place.
In my experience, AI is an amplifier.
Good engineers will produce more good code, because they ask the right questions, know what good looks like and check the output.
Bad engineers will produce reams more bad code. The mistakes they make will be amplified. They will give wrong and incomplete instructions, won’t see what the problems are with the result and will ship it anyway.
This amplification also means people will spend a larger proportion of time reviewing than coding, which I think is less interesting.
All of this is stuff that can, to some extent, be addressed with policy. You help and instruct juniors, encourage people to better understand and own their code, or at worst reprimand them if they don’t.
You can adjust expectations of product managers and explain to them that more is not better, as it always has been. Faster development can often come with bugs and tech debt and this is more of the same.
All I’ve said above is puts aside the ethical arguments of using or not using AI of course. That’s a separate can of worms entirely.
AI is an amplifier.
So very much this ^^^.
If you put in the same time and effort creating software using AI that you would have put in coding by hand, in my experience you get better software, much more thorough documentation and automated testing, and fewer “oops” moments down the line. Not perfection, but better.
If you just give a loosely specified prompt and take the first functional looking thing that comes out, you can get code 10x faster than ever before, and it’s going to be a 100x bigger mess to maintain.
A rule of thumb (aka useless constant applied to imaginary metrics) that my colleagues and I have found is: 80%. Work on an assumption that what you get back from each AI pass is about 80% good or right. Work to identify the 20% that needs more refinement, do another pass, now you’re up to 96% good - and honestly probably already better than most first pass ready for a pull request code we used to submit 2 years back. Do a third pass on that and you’ve probably got something that’s not going to give any trouble in all but some really rare cases, and you got it in about half the time you would have spent on lower quality output.
I have been trying, with limited success, to get our junior engineers to use AI to review their own code before submitting pull requests. Some do a single pass and their PRs are pretty good, one says he “doesn’t believe in AI” and his code typically needs 3-4 review passes before it’s even acceptable, even though he’s clearly using AI to write the documentation. AI review is how they’re finding all these zero day exploits in widely used products, it works, it finds maybe 80% of things you’re looking for (if you keep the scope focused inside its context window capacity.) We are having slightly more success with all the junior engineers by having them submit 5-10 small pull requests per 2 week sprint instead of one big one. This not only helps human reviewers understand the bite sized chunks, it also means the AI reviews are more thorough. It also means the architectural definition steps are much more critical because review of tiny chunks misses more of the architectural level picture.
The biggest ethical question I have about using AI centers on management of management expectations. If management really thinks the human contribution value in software creation has disappeared overnight - I’d look for different management, because that ship just steered straight into an iceberg field. Some of them may pull off the Kessel run in less than 12 parsecs, but most won’t.
This is the first comment section i’ve seen on lemmy with a reasonable discussion about AI use that wasnt instantly downvoted into oblivion for being pro-AI
Usually this place is full of the “EVERYTHING IS SLOP” crowd without any nuance as to how it is being actually used to do small tasks well under the supervision of a qualified person.
This comment thread reads 100% like AI astroturfing. AI is not an amplifier, there’s literally no evidence from any study that’s been done that backs that. That’s just AI company marketing.
And… there it is.
“AI IS AMAZING AND INEVITABLE!!!” = astroturfing
“AI sucks at X, but sometimes useful at Y… use with caution.” = astroturfing
“AI SUCKS AT LITERALLY EVERY TASK!!! ITS ALL SLOP!!! SLOP SLOP SLOPPITTY SLOP!!!” = only organic discussion and reasonable take…
Look, there are 100s of valid reasons why AI sucks and is unethical… in fact, it’s pretty much 100% built on unethical methods, no doubt…
But “AI sucks at everything and literally has zero good use cases” is not a real argument, but it seems to be the most popular opinion around here.
I disagree with 90% of the pro-AI stuff out there, i’m just pointing out that its rare to hear a reasonable discussin on the topic here that isnt just 100% hate
exactly; well said
It can work as you say, but some companies are pushing 10x (or whatever) with fewer people, so quality is guaranteed to go to shit.
Nah, good engineers are retiring, bad engineers are running rampant. You give yourself away calling us engineers, we were never, except for some yearly title increase instead of money. Just programmers, and that is fine. Engineer is a whole other thing from the steam age, my BSc was in Math, worked fine to get me in.
There are different ways to go about “programming” - if you’re “just a programmer” that’s fine, you’re essentially doing window dressing for a department store, the world needs a lot of you. There are engineering aspects to software too, and if you let "just a programmer"s handle all of that, you will find out what they are lacking as soon as the engineering gets tested in use.
Engineer is a whole other thing from the steam age, my BSc was in Math, worked fine to get me in.
As a mechanical engineer, I would beg to differ. When you strip away all the fancy math, engineering is ultimately about critical thought and solving problems/achieving functionality with limited resources. As one of my professors liked to say, “Anyone can build a bridge to support a load, but only an engineer can design a bridge that just barely holds that load.”
Engineering is an ancient domain that goes back to the very beginnings of civilization and continues to grow with our needs as we progress. Where once it was just mechanical, we now have domains like electrical, materials, and biomedical engineering. If we’ve hit a point where we need engineers who specialize in software, why shouldn’t we welcome in a new domain?
While it does feel weird calling software developers ‘engineers’, that is arguably what they do. It’s no less reductionist to suggest they are just programmers than it is to suggest that mechanical engineers are simply CAD and Excel jockeys. There’s a layer of comprehension about the systems in play and how they can be manipulated that gets lost in the reduction.
My only real sticking point about software engineers where I tend to push back is that Professional Engineer is a legally protected title and indicates licensure, at least in the US. It requires the right degree(s) and several years of work supervised by a PE to qualify for that licensure. The importance of the PE license is that you are recognized as an authority in your field- for good or ill. You can make big decisions, but you will also be held accountable if something goes wrong.
In my experience, many software engineers brush aside the importance of those types of qualifications because their field wasn’t quite as rigorous to enter. As we continue to develop a society where software mistakes can absolutely kill people (e.g. self-driving vehicles, robots, automated decision tools in medicine and insurance, etc) or cause massive economic damage, it’s critical that we decide how software engineers play a role in preventing those things and how we hold them accountable when they don’t.
As a software developer who also has a background in civil engineering and an EIT, I rue the fact that NCEES got rid of the software engineering PE exam before I had a chance to take it.
ultimately about critical thought and solving problems/achieving functionality with limited resources
I find in software engineering that the resources tend to be ample, it’s the capacity for critical thought that’s constrained. Predicting the users, predicting the future, predicting what users will do and want to do in the future… get that right and you’ve got the requirements for good software. Without good requirements, your software can build all kinds of fancy bridges to nowhere.
At one point, about 10 years after graduating with my Masters’ in Computer Engineering, I looked around about getting a PE license and the reality was: it had (and still has as far as I can tell) no value in the software field. I have a BS in EE, and if I wanted to start signing drawings for building electrical systems, a PE is just the thing for that. Around here, you need to apprentice under a PE for a time to get them to certify you as a PE, and the PEs we have aren’t in software, they wouldn’t know how to evaluate your software skills or professionalism. Reminds me of high school where they recognized that about 6 of the students knew far more about computer programming than the best (and only) teacher we had for it, so we were put in an “independent study” class to learn what we could from the equipment that various local businesses had donated to the school. Even as a practicing EE in the biomedical device design field, there was really no value to the PE license - for similar cultural reasons: the best biomedical engineers are in a different world from our existing PEs.
you will also be held accountable if something goes wrong.
I graduated before the internet. I had researched local companies the old fashioned way, and the first one I drove to to ask about a job, when I got there the parking lot was empty and there was a padlock and chain on the door. Guess I need to go to #2 on the list… turns out they (a pacemaker company) had been reprocessing faulty devices and shipping them with inadequate testing after rework, leading to the devices going bad shortly after surgical implant, requiring additional surgery for replacement. A whole chain of technicians, engineers, and executive management were culpable for the expense and risk they were causing for the users of their pacemakers. Other than the FDA shutting them down, there was a bunch of blow-hard talk about accountability, fines and jail time for management, but neither even came to a court hearing. Our system is, frankly, still very wild-west in terms of accountability for engineers in emerging fields.
it’s critical that we decide how software engineers play a role in preventing those things and how we hold them accountable when they don’t.
Agreed, but software has already had life-safety-critical and massively financially impactful roles in society for 50+ years now, and I see precious little progress toward formal accountability.
Wow, that was a screed, (a worthy one) and yeah, an engineering degree should be special IMO, as perhaps a (pure) Math one. should also be. We have a tendency to regard you lesser, in self defense, but that professional responsibility is significant, a more elegant weapon from a more civilized age. I do apologize, the steam age thing was out of line (but meant with heart, trains rock, and IMO is where ‘engineering’ started) has it’s roots.
Any shaved ape can code. One thing that distinguishes worthwhile coding from crap is adherence to engineering principles. Nitpicking about the semantics of the word “engineer” avoids the incontrovertible fact that empirically derived principles and best practices exist and that software engineering is a thing.
Coincidentally, my MSc is in mathematics and statistics, after a dual BSc in math and physics, so we’re from similar starting points. My education as a software engineer and later as a systems architect only came once I began coding. There’s a considerable body of empirical knowledge in the literature (along with too much irreproducible fluffy bullshit), but in my experience, the general awareness of that knowledge is worse among the newer generation of coders than older ones. I suspect that’s because they generally assume that the toolchain and processes do it for them.
The widespread adoption of Scrum has been another source of knowledge loss: it’s used in a number of situations where it does more harm than good, and even where it could succeed, it’s often misapplied (partially because some agile principles are impossible to implement in most real-life organizations, so misapplication is the only posssible kind of application). There are times when architecture and design matter greatly, and some agile practicioners seem to actually believe that they can be done on the fly or major shortcuts can be taken. “We’re not doing waterfall!” You know what? I’ve been in the business since before some of those fools were born, and I’ve never done a waterfall project. It was already an anti-pattern in Fred Brooks’s 1970 magnum opus. Agile vs waterfall was always a false dichotomy. It’s just that some of the OG agile people were too ignorant to know that, or too self-interested to admit it.
empirically derived principles and best practices exist and that software engineering is a thing.
The thing I find most vexing about “software engineering” is that the majority of it comes down to sociology/psychology more than it does science. People make mistakes. They mis-communicate, under-specify, assume, overlook, forget, and screw up.
Programmers practice somewhere between lawyers, authors and graphic artists, and other than the graphic art side of their endeavors, most people never “read” their product. The most valuable principles of software engineering have nothing to do with the complexity of sort algorithms, logic trees or other abstract concepts they were teaching in “computer science” back in the 1980s. The most valuable principles come down to: how do you manage the problems inherent in the situation of human beings writing a bunch of code that almost nobody ever sees which can be fraught with problems that almost nobody will detect until years after the original authors have all but forgotten what they did?
Bad & meh engineers get praised because they “waste” less time directing ai and reviewing output - barely working is good enough in the race to market.
I’ve seen things as serious as a privileged user for one customer having admin access to all customers being discovered during the last minute pentest literally days before the planned product launch. That product is supposed(and likely will) to move 250M USD for customers in the second half of this year. Under the current policy at my day job, coming all the way from the top, reviewing ai generated code at all should be an exception reserved for 0.1% most critical code. Yes, in finance.
Finance software is astoundlingly sloppy.
I was working in a university town, happened to get hired in at decent market rates by a biomed startup that didn’t mind paying for me. When they left town, I stayed, and a precious few other companies would pay “my rate” - so I ended up cold calling on quite a few places just to see what they were about. I stumbled into the software development manager’s office of a company that did ATM and POS software - they used the same tech stack I was using for biomed. After a few minutes the manager stopped the conversation and said “sure, fine, I want you, but: can I afford you? What’s your current salary?” I told him, he laughed and said: “Well, I’m the highest paid software guy in the building and I don’t make half that. Mostly we hire kids from the Uni who think they want the experience, they turn over every few months on average. I’ve told management how bad that is for the quality of our software, they don’t care.”
The major difference is that payment processors and money transfer agents are heavily regulated and require a government issued license to operate. At least KYC is not yet handled by ai…
Insane stuff.
Hopefully, those are the sorts of companies that should fail or get sued, so they learn their lesson. Not holding my breath though.
Companies have been doing insane shit for the sake of saving a buck or getting to market fast for decades, it’s nothing new. AI may or may not just make it worse.
It comes down to risk-reward. If the risk is low enough, they take it - assuming the additional reward outweighs the consequences.
When your decision makers can just declare corporate bankruptcy when the risk finally happens, with no personal exposure other than loss of future income? You can bet they’ll take that risk every time.
The neck of the finance woods my employer is in is highly regulated.
Just failing to notify a regulator on time you blocked a transaction attempt involving a sanctioned individual means hundreds of thousands in fines per transaction (not up to, flat 6-digit fine) + potential prison time (can’t remember if it was up to 15 or 20 years)
It seems I’m the only software engineer on Lemmy who loves having AI. It’s not perfect, but it’s so much better than doing everything from scratch and it’s far more reliable for solving obscure runtime errors than chasing down all the typically dead-end results on a search engine for the stack trace. Or maybe I’m just the only one willing to endure the down votes. Either way, AI has been an exceptional boon in my daily workload.
There’s a lot of existential dread out there… try talking with an out of work actress about AI and find out how she really feels…
I agree, but that’s a result of fascism, not technology. How it’s being utilized should be the target of ire, not the technology itself. The benefits of AI should be shared by all of society, but instead it’s being used to create even more wealth disparity. That actress should have access to Universal Basic Income and be able to do the work she feels passionate about, no matter what it is. Instead we have oligarchs extracting ever more from a suffering populace.
I see an LLM as my good-but-not-perfect assistant, there to code up boring bits “loop thru this data and extract…”, “improve this bit of code please”, and to help with errors “why does this code give that error”.
I never let it do big slabs of code, and always run and check its code incrementally.
It is my code and the LLM just makes it easier to do. Thanks LLM.
This is probably a fine and responsible way of using LLM, but sadly the loudest voices are those crowing about coding being a “solved” problem and bragging about being 10x more productive by doing very little and certainly not reviewing refactoring and understanding the generated code.
Only gotcha for this is LLM is being offered well below cost, will you still want yo use it at 5x or 10x the cost?
No. I stopped using Copilot after the price increase. Now I do everything locally using Qwen. There’s a significant decrease in quality, not because Qwen is inherently worse, but because I only have 12GB of VRAM, but at least it’s affordable, and still better than no AI.
I tried using LocalAI to get some kind of agent not being used to entrench fascism and destroy the environment and consume irreplaceable clean water and haven’t had much luck. Even on a beefy machine with a chonky graphics card, it’s slow. That was after trying it on my laptop and damn near burning my legs off with the graphics card going nuts and the fans spinning up like jet turbines.
I did an experiment where I tried to get it to write some code that I had already written myself, just as a test case. Even when I found a model that worked more quickly, the code it produced didn’t do the thing I had told it to do. I had to tell the LLM that, contrary to its “thinking,” inline HTML does, in fact, make for valid Markdown, and that it could actually do the thing I had already explicitly told it to do.
The second iteration worked, but the code was far from ideal. If I had been in a professional situation where i would have been putting that up for review, it would have taken me even longer to make the code presentable and up to my standard. In the end, the code I wrote was better by a mile and I wrote it maybe twice as fast as the LLM.
I’m sure this is faster if I use Claude or something and engage the Torment Nexus, but that’s kind of my point. It takes so much juice to make these things viable, and the hardware you need at home to replicate that usefulness is expensive and becoming less available. And removing the energy cost from the user’s machine (where you can literally hear and feel the energy consumption) to some bank of servers you’ll never see in person does a lot to distance a user from the effects of their usage of the tool. Running a local agent only made my view on AI lower than it already was.
I did not try the Qwen model, though I suppose I ought to since I’ve now seen you claim success with it a few times on here. Will I finally be impressed? Man, I doubt it, but I’ll give it a go.
When working with a local micro, be sure to use a prompt to seed itl. Inform it that it is an expert in whatever language you’re using, and that it is methodical, professional, intelligent, knowledgeable, and accurate; and that it produces only highly efficient, well-documented code that compiles and utilizes best practices. Throw whatever adjectives or descriptors you think are appropriate in there. This goes double if you’re using an MoE, as it primes the model to know which layers/sub-models to activate, so you don’t have code being written by the wrong aspect, such as junior programmers and examples of poorly written code.
I have coworkers with varying degrees of proficiency with AI. The ones that are better with it rein it in when it goes haywire. I have less of an issue with this. It still does awkward stuff here and there. The ones that are bad with it just commit the code for review and annoy me. When 60-80% or so of your PR can be refactored away then it’s a crap PR and honestly never should have been one. Don’t make me read through 2000 lines that should have been 400. It’s a waste of time. This mostly is it doing brain dead things like instead of passing a parameter into a method it makes 4 nearly identical methods.
I mostly use AI to implement a solution, not come up with the solution. I don’t care how fast you can type…AI can type faster. That also means I understand what it’s trying to build and how it should be going about it. That does mean you still have to use your brain and not offload your critical thinking to the machine which is what I see a lot of people doing with it.
In that regard I like AI but it’s still a love/hate relationship for sure. It both saves and costs me time just in different ways.
I have had a fair amount of success getting AI to do those refactorings, reducing 2000 lines of code to 400, and generating 3000 lines of documentation (including flowcharts) explaining how the 400 lines work, adding 1200 lines of automated testing to prevent regressions, etc. etc.
Exactly.
The shotgun approach with AI is extremely terrible. That’s where you basically give the AI your code, a description of the bug/feature, and ask it to deliver. That’s insane levels of laziness. It’s unprofessional. I’ve done it, hence I know it’s a bad idea. I usually spend more time fighting the AI in these cases because the code turns into a poison. Its context gets filled up with the bad styling, bad decisions, … the code smell gets baked into the attention layer itself, propagating through anything the AI session spits out.
I have much better results when I orchestrate the AI session. I have put together several standard SKILL.md files for doing
code-review,grill-me,feature-design, … and I end up using these in whichever order I prescribe to be best. The idea is, I want to guide the session context in the best possible way in order to receive the best possible output from the machine.I still review output and argue with it a bit, but much less now. I’ve also noticed token consumption go down when I put useful information in things like AGENTS.md
When 60-80% or so of your PR can be refactored away then it’s a crap PR and honestly never should have been one.
So their time savings in getting AI help to write their code means that you spend more of your presumably more expensive time doing reviews and educating them about slop removal instead of some higher-value activity. Sounds like you’re veering into negative ROI for the AI use if that’s true.
Luckily, I don’t review PRs very often, I have people to do that. But the general principle is that the content of a PR is the responsibility of the submitter, regardless of its source. Wrong algorithm? Their fault. No-good UTs? Their fault. Inappropriate or unsafe dependencies? Their fault. Slop? Their fault.
Luckily, with the work we do, there’s often nothing someone could train an LLM on, so we don’t see all that many PRs with AI-generated content, unless we’re using some well-known commodity library or framework in a common way. And that was always the easy stuff anyway.
A slop PR should be the submitter’s responsibility, but if they’re trying to push out unreviewed slop, you know they’re just going to ask an LLM to refactor it instead of looking at it themselves. The best response is just to reject it outright and have someone else work on a new solution.
Yeah, I use it to spar with when deciding on solving something. I ask it what are the domain-or-language-typical, idiomatic or best-practice ways of solving something. I trace errors by using AI. I even take whole-sale code it produces if it isn’t “serious” like just wanting the HTML or CSS lines that will do the trick.
It will definitely suggest things that I don’t think are correct and then I ignore it. It definitely wastes my time sometimes. I definitely don’t learn things well enough when using it. But I only have so much time and too many problems I need to solve.
I recently helped evaluate it for company use. My test considered of vibecoding an App that takes a Pipewire screencast and does some basic image processing on each frame. In C#, which doesn’t have great options for talking to Pipewire. I did several runs with various iterations of Claude.
On the upside, it had few problems navigating DBus to negotiate a screencast handle. So that’s one annoying API out of the way.
On the downside, all attempts at taking to libpipewire through P/Invoke failed, usually because Claude hallucinated parts of the API or set constants to incorrect values. I only got a working program when I allowed the use of a prerelease Pipewire NuGet package.
The generated code was of acceptable quality but I wouldn’t allow it into a codebase without a refactor. The code has zero consistency and one time the whole solution didn’t have any namespaces. The fact that the LLM writes and rewrites the code during a single prompt means that you can get mild spaghetti as an initial state.
Honestly, I can see it for something like rapid prototyping or implementing basic scaffolding for an annoying API. But damn is Claude bad at detail work.
I was doing a code review this week. There was nothing wrong with the code in terms of structure or performance, but it was doing this really weird operation with an ID after DB insert. I asked about it and the author was like “yeah, that’s weird; I don’t know why the AI did that. I’ll remove it.” My dude, I know you can write good code. Don’t be lazy!
I know it’s because LLMs are bad at what they do, but I like to imagine that all these weird things getting slipped into code are an attempt to create skynet without us noticing
I worked with a guy that 100% used AI to dev everything. didn’t even check to see if it would work before submitting a MR.
It got to the point that I stopped reviewing them and just rejected them outright with a simple comment, “doesn’t work”.
eventually he was fired. the evidence? the four months of shitty MRs he opened. the best part was, when I said “doesn’t work”, I was never wrong. none of his changes worked.
i dont understand that. i use ai for help reading through old stuff or to help me remember how tondo a thing i havent done in two years but blindly copy pasting blows my mind.
I suspect it’s the same people that blindly copied stackoverflow code without understanding it. Which is likely where the LLMs are getting most of its answers from in the first place.
and these people were always the majority.
so people saying that genai amplifies, they are correct, it amplifies the bullshit and the bad things.
there were always more mediocre and useless people that top performers.
it has been a miracle that anything has worked good enough so far.
Same. I also code up about 50% of stuff so all the structure is there, effectively as guardrails, before using AI. Then prompting it instructions that are effectively the solution, so it doesn’t come up with its own.
Then, read through it all, replace things that could’ve been done better, and test.
On average it’s maybe 15-20% quicker than manually coding the whole lot. Try skip any of those steps and the chances of it blowing out increase to the point I just end up doing it all anyway and it’s taken twice as long because of it.
It’s alarming when people don’t even check.
On average it’s maybe 15-20% quicker than manually coding the whole lot.
Out of interest, how much is this 15-20% increase in productivity costing in tokens?
It’d be minimal since I’m doing all the hard work initially and feeding it logic to follow. I find open vibe coding does rip tokens and usually ends up with an overcomplicate mess. Many rabbit holes the AI creates and sends itself down, so a lot more unnecessary lines and often entire redundant blocks.
If someone’s going to do that, at the least break it up into sections to save tokens and time. But ideally, just get some coding experience under the belt of have a crack at it yourself first so it’s easy to identify the pitfalls and where clear instructions is needed.
You’d really need to know the fully burdened cost of an hour of the person’s time who’d be doing the work, versus the cost of the tokens plus all the overheads involved in its administration and use of the AI solution (tokens, support, training). Same goes with the downsides-- you’d need to know how the rate of serious bugs changes when you incorporate the slop. Some of the defects will make it through reviews and testing and into prod.
The lazy part is not questioning the bullshit they noticed and did nothing about - not using the tool
That’s one of my major beefs with AI: it worsens the signal/noise ratio throughout the dev process. The two greatest enemies of good software are complexity and its deformed cousin, extraneous crap. AI increases both, making it harder to address the real underlying problems.
I disagree on that; we lose the muscles we don’t use and I’ve already seen that happening. It’s also making people want to jump straight to implementation without proper design and I think that’s a recipe for trouble.
Again, cowboys have been skipping steps and doing things lazily and poorly well before AI. Everyone knows people who jump straight into an IDE instead of following proper workflows. Yes, skills you don’t practice take a hit. In a professional setting there is such a substantial productivity hit to avoid all AI use, compared to correct and proper use. It will soon be infeasible to take such at anti AI stance and remain in the industry
cowboys have been skipping steps and doing things lazily and poorly well before AI
Of course, but I think not understanding what they’re committing is more dangerous than before (even allowing for the classic “I copied and pasted this from xxxx site”). This is also true when people are fully trusting AI to review code as well.
We use AI for code reviews which I do find useful. It’s still wrong part of the time (sometimes ridiculously so). So far, it’s also failed to provide accurate documentation for various repos which seems like something rather basic. I’m not against all AI (though I do have ethical and environmental concerns with several of the commercial options). I will not have them write code for me, though.
As for the future, we’ll just have to wait and see. I’ve seen a lot of AI budgets exceeded and/or cut. I do think it’s not there yet for a number of tasks but is suitable (again minus certain concerns) for others.
This is also true when people are fully trusting AI to review code as well.
Holy shit.
We use AI for code reviews which I do find useful.
What’s it going to tell you that a static analysis tool wouldn’t? (And we all know what a hell of false positives you get into with those).
Machines cannot take responsibility for problems, which is why I feel containment barriers cannot be entirely AI. AI reviews are fine (and catch a lot of wild issues humans miss) if a human genuinely reviews it too
I’ve lost count of how many snippets I’ve reviewed that were verbatim pasted from stack overflow pre-AI lol
My view is that humans produce a lot of garbage, and AI tooling currently amplifies your productivity. If you’re careless, don’t take pride and normally commit tech debt then with AI tooling that’s going to be amplified 10-100x. The more careless you are the faster you can commit more garbage - especially if you’re skipping on unit/integration/functional testing
especially if you’re skipping on unit/integration/functional testing
That’s a career-limiting move where I work. I draw a hard line on that. You don’t get many chances to blow up prod because you left out mandatory process steps. You might not get sacked the first time (though you should), but it if happens again, you’d better be contemplating your future life as a barista, or pounding farts out of shirt-tails in a steam laundry.
Machines cannot take responsibility for problems, which is why I feel containment barriers cannot be entirely AI.
Where I work AI is being pushed hard, but the company has made it their policy that there must be a human in the loop. Ownership of the code written by AI is down to the person using the AI. “Oops, don’t know why the AI wrote that!” Is not a valid answer to bugs being introduced into production.
I’m seeing senior engineers of 15+ years no longer writing code and churning out a ton more work. They are disappointed they don’t write code anymore but working with the AI is the job they have to do to be able to afford to live. They say the cognitive load has shot up for them, they are constantly spinning plates.
To make the plate spinning job easier they have implemented guard rails to ensure the agents don’t do anything stupid. I’m seeing a number of stories posted to Lemmy where the AI does dumb shit but the stories don’t apply any accountability to the developers using it.
Hahaha either we work at the same place or it’s identical across the industry
I think not understanding what they’re committing is more dangerous than before
This kind of reasoning applies to every new tool. 20 years ago I was saying the same thing about work from co-workers who started programming on Java and didn’t understand what their beloved HashMap actually does under the hood.
Eventually we adapt to either the new tools or to the new dangers, the ones who don’t just become fossils.
IDK, cobol programmers still do well these days
Eventually we adapt to either the new tools or to the new dangers
Another option is to stop using new tools and frameworks that don’t benefit us. Adoption should be based on a good cost/benefit ratio, not treated as an inevitability.
It’s also good to re-examine old choices and shitcan them when they’re no longer earning their keep. We were using NiFi for something non-core that we do, and replacing it with a simple hand-coded solution gave us a massive performance bump that’s more maintainable as well. Our use case was well outside NiFi’s sweet spot, so we shouldn’t have used it in the first place. But the person who made that decision is long gone, and it’s always someone else who ends up having to clean up those messes. Here’s hoping that someday I find that guy in a dark alley with no camera coverage.
Yep… I’m leaving the industry after 20+ years because of this industry hellscape
im pretty sure this isn the reason, its the dread of being laid off, and unable to find another job, because these companies think AI replaced them. i had one person i know that was laid off since 2023, and another had been put on hold indefinitely.
There can be different reasons for different people. I personally have zero fear of being laid off (strong worker protection laws in Germany) and finding a new job this year was surprisingly easy (50-ish applications with no cover letters -> 3 interviews -> 3 offers) and I still feel the exact dread that is described in the article. The industry sucks in multiple different ways rn.

If you want to burn the world to see how hot it gets, you’ll have to compete with AI for that as well. It’s already doing that pretty well.
deleted by creator
If I got an AI-written codebase hard to navigate, I’d bill the AI usage it took to clean it up and, on top of it, the hours I have to put to actually do the job. We can definitely use AI to write good code, but it takes the kind of professional criteria that vibe coding lacks in order to do that.
We can definitely use AI to write good code
Get a different job. Now!
Removed by mod











