Just want to clarify, this is not my Substack, I’m just sharing this because I found it insightful.

The author describes himself as a “fractional CTO”(no clue what that means, don’t ask me) and advisor. His clients asked him how they could leverage AI. He decided to experience it for himself. From the author(emphasis mine):

I forced myself to use Claude Code exclusively to build a product. Three months. Not a single line of code written by me. I wanted to experience what my clients were considering—100% AI adoption. I needed to know firsthand why that 95% failure rate exists.

I got the product launched. It worked. I was proud of what I’d created. Then came the moment that validated every concern in that MIT study: I needed to make a small change and realized I wasn’t confident I could do it. My own product, built under my direction, and I’d lost confidence in my ability to modify it.

Now when clients ask me about AI adoption, I can tell them exactly what 100% looks like: it looks like failure. Not immediate failure—that’s the trap. Initial metrics look great. You ship faster. You feel productive. Then three months later, you realize nobody actually understands what you’ve built.

  • deathbird@mander.xyz
    link
    fedilink
    English
    arrow-up
    9
    ·
    2 hours ago

    I think this kinda points to why AI is pretty decent for short videos, photos, and texts. It produces outputs that one applies meaning to, and humans are meaning making animals. A computer can’t overlook or rationalize a coding error the same way.

  • pdxfed@lemmy.world
    link
    fedilink
    English
    arrow-up
    29
    ·
    5 hours ago

    Great article, brave and correct. Good luck getting the same leaders who blindly believe in a magical trend for this or next quarters numbers; they don’t care about things a year away let alone 10.

    I work in HR and was stuck by the parallel between management jobs being gutted by major corps starting in the 80s and 90s during “downsizing” who either never replaced them or offshore them. They had the Big 4 telling them it was the future of business. Know who is now providing consultation to them on why they have poor ops, processes, high turnover, etc? Take $ on the way in, and the way out. AI is just the next in long line of smart people pretending they know your business while you abdicate knowing your business or employees.

    Hope leaders can be a bit braver and wiser this go 'round so we don’t get to a cliffs edge in software.

    • mirshafie@europe.pub
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 hour ago

      Exactly. The problem isn’t moving part of production to some other facility or buying a part that you used to make in-house. It’s abdicating an entire process that you need to be involved in if you’re going to stay on top of the game long-term.

      Claude Code is awesome but if you let it do even 30% of the things it offers to do, then it’s not going to be your code in the end.

  • Rhoeri@lemmy.world
    link
    fedilink
    English
    arrow-up
    24
    ·
    6 hours ago

    AI is hot garbage and anyone using it is a skillless hack. This will never not be true.

      • Rhoeri@lemmy.world
        link
        fedilink
        English
        arrow-up
        14
        ·
        3 hours ago

        Do you not know the difference between an automated process and machine learning?

        • nullroot@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          55 minutes ago

          Yes? Machine learning has been huge for protein folding and not because anyone is stupid, it’s because it’s a task uniquely suited for machine learning, of which there are many. But none of that is what this AI bubble is really about, and even though I find the underlining math and technology fascinating, I share the disdain for how the bulk of it is currently being used.

  • Unlearned9545@lemmy.world
    link
    fedilink
    English
    arrow-up
    34
    ·
    7 hours ago

    Fractional CTO: Some small companies benefit from the senior experience of these kinds of executives but don’t have the money or the need to hire one full time. A fraction of the time they are C suite for various companies.

  • raspberriesareyummy@lemmy.world
    link
    fedilink
    English
    arrow-up
    88
    ·
    8 hours ago

    So there’s actual developers who could tell you from the start that LLMs are useless for coding, and then there’s this moron & similar people who first have to fuck up an ecosystem before believing the obvious. Thanks fuckhead for driving RAM prices through the ceiling… And for wasting energy and water.

    • psycotica0@lemmy.ca
      link
      fedilink
      English
      arrow-up
      55
      ·
      6 hours ago

      I can least kinda appreciate this guy’s approach. If we assume that AI is a magic bullet, then it’s not crazy to assume we, the existing programmers, would resist it just to save our own jobs. Or we’d complain because it doesn’t do things our way, but we’re the old way and this is the new way. So maybe we’re just being whiny and can be ignored.

      So he tested it to see for himself, and what he found was that he agreed with us, that it’s not worth it.

      Ignoring experts is annoying, but doing some of your own science and getting first-hand experience isn’t always a bad idea.

      • 5too@lemmy.world
        link
        fedilink
        English
        arrow-up
        13
        ·
        3 hours ago

        And not only did he see for himself, he wrote up and published his results.

      • bassomitron@lemmy.world
        link
        fedilink
        English
        arrow-up
        20
        ·
        5 hours ago

        100% this. The guy was literally a consultant and a developer. It’d just be bad business for him to outright dismiss AI without having actual hands on experience with said product. Clients want that type of experience and knowledge when paying a business to give them advice and develop a product for them.

        • raspberriesareyummy@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 hours ago

          Except that outright dismissing snake oil would not at all be bad business. Calling a turd a diamond neither makes it sparkle, nor does it get rid of the stink.

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        3 hours ago

        Problem is that statistical word prediction has fuck-all to do with AI. It’s not and will never be. By “giving it a try” you contribute to the spread of this snake oil. And even if someone came up with actual AI, if it used enough resources to impact our ecosystem, instead of being a net positive, and if it was in the greedy hands of billionaires, then using it is equivalent to selling your executioner an axe.

    • khepri@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      7 hours ago

      They are useful for doing the kind of boilerplate boring stuff that any good dev should have largely optimized and automated already. If it’s 1) dead simple and 2) extremely common, then yeah an LLM can code for you, but ask yourself why you don’t have a time-saving solution for those common tasks already in place? As with anything LLM, it’s decent at replicating how humans in general have responded to a given problem, if the problem is not too complex and not too rare, and not much else.

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 hours ago

        As you said, “boilerplate” code can be script generated - and there are IDEs that already do this, but in a deterministic way, so that you don’t have to proof-read every single line to avoid catastrophic security or crash flaws.

      • Lambda@lemmy.ca
        link
        fedilink
        English
        arrow-up
        12
        ·
        6 hours ago

        Thats exactly what I so often find myself saying when people show off some neat thing that a code bot “wrote” for them in x minutes after only y minutes of “prompt engineering”. I’ll say, yeah I could also do that in y minutes of (bash scripting/vim macroing/system architecting/whatever), but the difference is that afterwards I have a reusable solution that: I understand, is automated, is robust, and didn’t consume a ton of resources. And as a bonus I got marginally better as a developer.

        Its funny that if you stick them in an RPG and give them an ability to “kill any level 1-x enemy instantly, but don’t gain any xp for it” they’d all see it as the trap it is, but can’t see how that’s what AI so often is.

    • InvalidName2@lemmy.zip
      link
      fedilink
      English
      arrow-up
      20
      ·
      7 hours ago

      And then there are actual good developers who could or would tell you that LLMs can be useful for coding, in the right context and if used intelligently. No harm, for example, in having LLMs build out some of your more mundane code like unit/integration tests, have it help you update your deployment pipeline, generate boilerplate code that’s not already covered by your framework, etc. That it’s not able to completely write 100% of your codebase perfectly from the get-go does not mean it’s entirely useless.

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        And then there are actual good developers who could or would tell you that LLMs can be useful for coding

        The only people who believe that are managers and bad developers.

        • keegomatic@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 hour ago

          You’re wrong, whether you figure that out now or later. Using an LLM where you gatekeep every write is something that good developers have started doing. The most senior engineers I work with are the ones who have adopted the most AI into their workflow, and with the most care. There’s a difference between vibe coding and responsible use.

      • Soggy@lemmy.world
        link
        fedilink
        English
        arrow-up
        21
        ·
        6 hours ago

        Other than that it’s work that junior coders could be doing, to develop the next generation of actual good developers.

        • SreudianFlip@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          12
          ·
          edit-2
          6 hours ago

          Yes, and that’s exactly what everyone forgets about automating cognitive work. Knowledge or skill needs to be intergenerational or we lose it.

          If you have no junior developers, who will turn into senior developers later on?

          • pinball_wizard@lemmy.zip
            link
            fedilink
            English
            arrow-up
            4
            ·
            6 hours ago

            If you have no junior developers, who will turn into senior developers later on?

            At least it isn’t my problem. As long as I have CrowdStrike, Cloudflare, Windows11, AWS us-east-1 and log4j… I can just keep enjoying today’s version of the Internet, unchanged.

    • ImmersiveMatthew@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 hours ago

      I really have not found AI to be useless for coding. I have found it extremely useful and it has saved me hundreds of hours. It is not without its faults or frustrations, but the it really is a tool I would not want to be without.

      • raspberriesareyummy@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        That’s because you are not a proper developer, as proven by your comment. And you create tech legacy that will have a net cost in terms of maintenance or downtime.

    • jali67@lemmy.zip
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      6 hours ago

      Don’t worry. The people on LinkedIn and tech executives tell us it will transform everything soon!

  • ImmersiveMatthew@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    4
    ·
    5 hours ago

    This has not been my experience at all. I have a top rated VR app and use AI to code everything and change things all the time. It is not hard to understand the code and then prompt the AI to change this or that and then test to see if it got it right. If it did not, just prompt again to address. Maybe this does not work for the author or others, but it has saved my hundreds of hours in my small app.

  • vpol@feddit.uk
    link
    fedilink
    English
    arrow-up
    50
    ·
    9 hours ago

    The developers can’t debug code they didn’t write.

    This is a bit of a stretch.

    • funkless_eck@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      15
      ·
      8 hours ago

      I mean I was trying to solve a problem t’other day (hobbyist) - it told me to create a

      function foo(bar): await object.foo(bar)

      then in object

      function foo(bar): _foo(bar)

      function _foo(bar): original_object.foo(bar)

      like literally passing a variable between three wrapper functions in two objects that did nothing except pass the variable back to the original function in an infinite loop

      add some layers and complexity and it’d be very easy to get lost

      • vpol@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        19 minutes ago

        As a learning process it’s absolutely fine.

        You make a mess, you suffer, you debug, you learn.

        But you don’t call yourself a developer (at least I hope) on your CV.

      • theparadox@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        6 hours ago

        The few times I’ve used LLMs for coding help, usually because I’m curious if they’ve gotten better, they let me down. Last time it was insistent that its solution would work as expected. When I gave it an example that wouldn’t work, it even broke down each step of the function giving me the value of its variables at each step to demonstrate that it worked… but at the step where it had fucked up, it swapped the value in the variable to one that would make the final answer correct. It made me wonder how much water and energy it cost me to be gaslit into a bad solution.

        How do people vibe code with this shit?

      • Rooster326@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 hours ago

        If you’ve never had to debug code. Are you really a developer?

        There is zero chance you have never written a big so… Who is fixing them?

        Unless you just leave them because you work for Infosys or worse but then I ask again - are you really a developer?

  • HugeNerd@lemmy.ca
    link
    fedilink
    English
    arrow-up
    26
    ·
    9 hours ago

    Computers are too powerful and too cheap. Bring back COBOL, painfully expensive CPU time, and some sort of basic knowledge of what’s actually going on.

    Pain for everyone!

    • Thorry@feddit.org
      link
      fedilink
      English
      arrow-up
      15
      ·
      9 hours ago

      Yeah I think around the Pentium 200mhz point was the sweet spot. Powerful enough to do a lot of things, but not so powerful that software can be as inefficient and wasteful as it is today.

    • HC4L@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 hours ago

      Be careful what you wish for, with RAM prices soaring owning a home computer might become less of an option. Luckily we can get a subscription for computing power easily!

      • Omgpwnies@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        8 hours ago

        I built a new PC early October, literally 2 weeks later RAM prices went nuts… so glad I pulled the trigger when I did

  • Rimu@piefed.social
    link
    fedilink
    English
    arrow-up
    46
    ·
    edit-2
    11 hours ago

    FYI this article is written with a LLM.

    image

    Don’t believe a story just because it confirms your view!

    • Randelung@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      8 hours ago

      Yes, but also the opposite. Don’t discount a valid point just because it was formulated using an LLM.

      • Rimu@piefed.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        7 hours ago

        The story was invented so people would subscribe to his substack, which exists to promote his company.

        We’re being manipulated into sharing made-up rage-bait in order to put money in his pocket.

      • Dethronatus Sapiens sp.@calckey.world
        link
        fedilink
        arrow-up
        19
        ·
        11 hours ago

        @LiveLM@lemmy.zip @rimu@piefed.social

        This!

        Also, the irony: those are AI tools used by anti-AI people who use AI to try and (roughly) determine if a content is AI, by reading the output of an AI. Even worse: as far as I know, they’re paid tools (at least every tool I saw in this regard required subscription), so Anti-AI people pay for an AI in order to (supposedly) detect AI slop. Truly “AI-rony”, pun intended.

          • Dethronatus Sapiens sp.@calckey.world
            link
            fedilink
            arrow-up
            4
            ·
            10 hours ago

            @rimu@piefed.social @technology@lemmy.world

            Thanks, didn’t know about that one. It seems interesting (but limited, according to their “Pricing” ; every time a tool has a “pricing” menu item, betcha they’ll either be anything but gratis or extremely limited in their “free tier”), I created an account and I’ll soon try it with some of the occult poetry I use to write. I’m ND so I’m fully aware of how my texts often sound like AI slop.

      • Rimu@piefed.social
        link
        fedilink
        English
        arrow-up
        3
        ·
        11 hours ago

        I’ve tested lots and lots of different ones. GPTZero is really good.

        If you read the article again, with a critical perspective, I think it will be obvious.

  • edgemaster72@lemmy.world
    link
    fedilink
    English
    arrow-up
    152
    ·
    14 hours ago

    Not immediate failure—that’s the trap. Initial metrics look great. You ship faster. You feel productive.

    And all they’ll hear is “not failure, metrics great, ship faster, productive” and go against your advice because who cares about three months later, that’s next quarter, line must go up now. I also found this bit funny:

    I forced myself to use Claude Code exclusively to build a product. Three months. Not a single line of code written by me… I was proud of what I’d created.

    Well you didn’t create it, you said so yourself, not sure why you’d be proud, it’s almost like the conclusion should’ve been blindingly obvious right there.

    • AutistoMephisto@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      68
      ·
      13 hours ago

      The top comment on the article points that out.

      It’s an example of a far older phenomenon: Once you automate something, the corresponding skill set and experience atrophy. It’s a problem that predates LLMs by quite a bit. If the only experience gained is with the automated system, the skills are never acquired. I’ll have to find it but there’s a story about a modern fighter jet pilot not being able to handle a WWII era Lancaster bomber. They don’t know how to do the stuff that modern warplanes do automatically.

      • drosophila@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        10
        ·
        edit-2
        7 hours ago

        The thing about this perspective is that I think its actually overly positive about LLMs, as it frames them as just the latest in a long line of automations.

        Not all automations are created equal. For example, compare using a typewriter to using a text editor. Besides a few details about the ink ribbon and movement mechanisms you really haven’t lost much in the transition. This is despite the fact that the text editor can be highly automated with scripts and hot keys, allowing you to manipulate even thousands of pages of text at once in certain ways. Using a text editor certainly won’t make you forget how to write like using ChatGPT will.

        I think the difference lies in the relationship between the person and the machine. To paraphrase Cathode Ray Dude, people who are good at using computers deduce the internal state of the machine, mirror (a subset of) that state as a mental model, and use that to plan out their actions to get the desired result. People that aren’t good at using computers generally don’t do this, and might not even know how you would start trying to.

        For years ‘user friendly’ software design has catered to that second group, as they are both the largest contingent of users and the ones that needed the most help. To do this software vendors have generally done two things: try to move the necessary mental processes from the user’s brain into the computer and hide the computer’s internal state (so that its not implied that the user has to understand it, so that a user that doesn’t know what they’re doing won’t do something they’ll regret, etc). Unfortunately this drives that first group of people up the wall. Not only does hiding the internal state of the computer make it harder to deduce, every “smart” feature they add to try to move this mental process into the computer itself only makes the internal state more complex and harder to model.

        Many people assume that if this is the way you think about software you are just an elistist gatekeeper, and you only want your group to be able to use computers. Or you might even be accused of ableism. But the real reason is what I described above, even if its not usually articulated in that way.

        Now, I am of the opinion that the ‘mirroring the internal state’ method of thinking is the superior way to interact with machines, and the approach to user friendliness I described has actually done a lot of harm to our relationship with computers at a societal level. (This is an opinion I suspect many people here would agree with.) And yet that does not mean that I think computers should be difficult to use. Quite the opposite, I think that modern computers are too complicated, and that in an ideal world their internal states and abstractions would be much simpler and more elegant, but no less powerful. (Elaborating on that would make this comment even longer though.) Nor do I think that computers shouldn’t be accessible to people with different levels of ability. But just as a random person in a store shouldn’t grab a wheelchair user’s chair handles and start pushing them around, neither should Windows (for example) start changing your settings on updates without asking.

        Anyway, all of this is to say that I think LLMs are basically the ultimate in that approach to ‘user friendliness’. They try to move more of your thought process into the machine than ever before, their internal state is more complex than ever before, and it is also more opaque than ever before. They also reflect certain values endemic to the corporate system that produced them: that the appearance of activity is more important than the correctness or efficacy of that activity. (That is, again, a whole other comment though.) The result is that they are extremely mind numbing, in the literal sense of the phrase.

      • Cocodapuf@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 hours ago

        Once you automate something, the corresponding skill set and experience atrophy. It’s a problem that predates LLMs by quite a bit. If the only experience gained is with the automated system, the skills are never acquired.

        Well, to be fair, different skills are acquired. You’ve learned how to create automated systems, that’s definitely a skill. In one of my IT jobs there were a lot of people who did things manually, updated computers, installed software one machine at a time. But when someone figures out how to automate that, push the update to all machines in the room simultaneously, that’s valuable and not everyone in that department knew how to do it.

        So yeah, I guess my point is, you can forget how to do things the old way, but that’s not always bad. Like, so you don’t really know how to use a scythe, that’s fine if you have a tractor, and trust me, you aren’t missing much.

      • LOGIC💣@lemmy.world
        link
        fedilink
        English
        arrow-up
        38
        ·
        13 hours ago

        It’s more like the ancient phenomenon of spaghetti code. You can throw enough code at something until it works, but the moment you need to make a non-trivial change, you’re doomed. You might as well throw away the entire code base and start over.

        And if you want an exact parallel, I’ve said this from the beginning, but LLM coding at this point is the same as offshore coding was 20 years ago. You make a request, get a product that seems to work, but maintaining it, even by the same people who created it in the first place, is almost impossible.

        • Joe@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          1
          ·
          34 minutes ago

          Indeed… Throw-away code is currently where AI coding excels. And that is cool and useful - creating one off scripts, self-contained modules automating boilerplate, etc.

          You can’t quite use it the same way for complex existing code bases though… Not yet, at least…

      • ctrl_alt_esc@lemmy.ml
        link
        fedilink
        English
        arrow-up
        23
        ·
        13 hours ago

        I agree with you, though proponents will tell you that’s by design. Supposedly, it’s like with high-level languages. You don’t need to know the actual instructions in assembly anymore to write a program with them. I think the difference is that high-level language instructions are still (mostly) deterministic, while an LLM prompt certaily isn’t.

        • Scubus@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 hours ago

          Yep, thats the key issue that so many people fail to understand. They want AI to be deterministic but it simply isnt. Its like expecting a human to get the right answer to any possible question, its just not going to happen. The only thing we can do is bring error rates with ai lower than a human doing the same task, and it will be at that point that the ai becomes useful. But even at that point there will always be the alignment issue and nondeterminism, meaning ai will never behave exactly the way we want or expect it to.

    • boonhet@sopuli.xyz
      link
      fedilink
      English
      arrow-up
      11
      ·
      12 hours ago

      I forced myself to use Claude Code exclusively to build a product. Three months. Not a single line of code written by me… I was proud of what I’d created.

      Well you didn’t create it, you said so yourself, not sure why you’d be proud, it’s almost like the conclusion should’ve been blindingly obvious right there.

      Does a director create the movie? They don’t usually edit it, they don’t have to act in it, nor do all directors write movies. Yet the person giving directions is seen as the author.

      The idea is that vibe coding is like being a director or architect. I mean that’s the idea. In reality it seems it doesn’t really pan out.

      • rainwall@piefed.social
        link
        fedilink
        English
        arrow-up
        10
        ·
        10 hours ago

        You can vibe write and vibe edit a movie now too. They also turn out shit.

        The issue is that llm isnt a person with skills and knowledge. Its a complex guessing box that gets thing kinda right, but not actually right, and it absolutely cant tell whats right or not. It has no actual skills or experience or humainty that a director can expect a writer or editor to have.

  • Dethronatus Sapiens sp.@calckey.world
    link
    fedilink
    arrow-up
    41
    ·
    11 hours ago

    @AutistoMephisto@lemmy.world @technology@lemmy.world

    I used to deal with programming since I was 9 y.o., with my professional career in DevOps starting several years later, in 2013. I dealt with lots of other’s code, legacy code, very shitty code (especially done by my “managers” who cosplayed as programmers), and tons of technical debts.

    Even though I’m quite of a LLM power-user (because I’m a person devoid of other humans in my daily existence), I never relied on LLMs to “create” my code: rather, what I did a lot was tinkering with different LLMs to “analyze” my own code that I wrote myself, both to experiment with their limits (e.g.: I wrote a lot of cryptic, code-golf one-liners and fed it to the LLMs in order to test their ability to “connect the dots” on whatever was happening behind the cryptic syntax) and to try and use them as a pair of external eyes beyond mine (due to their ability to “connect the dots”, and by that I mean their ability, as fancy Markov chains, to relate tokens to other tokens with similar semantic proximity).

    I did test them (especially Claude/Sonnet) for their “ability” to output code, not intending to use the code because I’m better off writing my own thing, but you likely know the maxim, one can’t criticize what they don’t know. And I tried to know them so I could criticize them. To me, the code is… pretty readable. Definitely awful code, but readable nonetheless.

    So, when the person says…

    The developers can’t debug code they didn’t write.

    …even though they argue they have more than 25 years of experience, it feels to me like they don’t.

    One thing is saying “developers find it pretty annoying to debug code they didn’t write”, a statement that I’d totally agree! It’s awful to try to debug other’s (human or otherwise) code, because you need to try to put yourself on their shoes without knowing how their shoes are… But it’s doable, especially by people who deal with programming logic since their childhood.

    Saying “developers can’t debug code they didn’t write”, to me, seems like a layperson who doesn’t belong to the field of Computer Science, doesn’t like programming, and/or only pursued a “software engineer” career purely because of money/capitalistic mindset. Either way, if a developer can’t debug other’s code, sorry to say, but they’re not developers!

    Don’t take me wrong: I’m not intending to be prideful or pretending to be awesome, this is beyond my person, I’m nothing, I’m no one. I abandoned my career, because I hate the way the technology is growing more and more enshittified. Working as a programmer for capitalistic purposes ended up depleting the joy I used to have back when I coded in a daily basis. I’m not on the “job market” anymore, so what I’m saying is based on more than 10 years of former professional experience. And my experience says: a developer that can’t put themselves into at least trying to understand the worst code out there can’t call themselves a developer, full stop.

    • jj4211@lemmy.world
      link
      fedilink
      English
      arrow-up
      15
      ·
      10 hours ago

      An LLM can generate code like an intern getting ahead of their skis. If you let it generate enough code, it will do some gnarly stuff.

      Another facet is the nature of mistakes it makes. After years of reviewing human code, I have this tendency to take some things for granted, certain sorts of things a human would just obviously get right and I tend not to think about it. AI mistakes are frequently in areas my brain has learned to gloss over and take on faith that the developer probably didn’t screw that part up.

      AI generally generates the same sorts of code that I hate to encounter when humans write, and debugging it is a slog. Lots of repeated code, not well factored. You would assume of the same exact thing is fine in many places, you’d have a common function with common behavior, but no, AI repeated itself and didn’t always get consistent behavior out of identical requirements.

      His statement is perhaps an over simplification, but I get it. Fixing code like that is sometimes more trouble than just doing it yourself from the onset.

      Now I can see the value in generating code in digestible pieces, discarding when the LLM gets oddly verbose for simple function, or when it gets it wrong, or if you can tell by looking you’d hate to debug that code. But the code generation can just be a huge mess and if you did a large project exclusively through prompting, I could see the end result being just a hopeless mess.v frankly surprised he could even declare an initial “success”, but it was probably “tutorial ware” which would be ripe fodder for the code generators.

    • JuvenoiaAgent@piefed.ca
      link
      fedilink
      English
      arrow-up
      11
      ·
      11 hours ago

      I found the article interesting, but I agree with you. Good programmers have to and can debug other people’s code. But, to be fair, there are also a lot of bad programmers, and a lot that can’t debug for shit…

      • Dethronatus Sapiens sp.@calckey.world
        link
        fedilink
        arrow-up
        4
        ·
        10 hours ago

        @JuvenoiaAgent@piefed.ca @technology@lemmy.world

        Often, those are developers who “specialized” in one or two programming languages, without specializing in computer/programming logic.

        I used to repeat a personal saying across job interviews: “A good programmer knows a programming language. An excellent programmer knows programming logic”. IT positions often require a dev to have a specific language/framework in their portfolio (with Rust being the Current Thing™ now) and they reject people who have vast experience across several languages/frameworks but the one required, as if these people weren’t able to learn the specific language/framework they require.

        Languages and framework differ on syntax, namings, paradigms, sometimes they’re extremely different from other common languages (such as (Lisp (parenthetic-hell)), or .asciz "Assembly-x86_64"), but they all talk to the same computer logic under the hood. Once a dev becomes fluent in bitwise logic (or, even better, they become so fluent in talking with computers that they can say 41 53 43 49 49 20 63 6f 64 65 without tools, as if it were English), it’s just a matter of accustoming oneself to the specific syntax and naming conventions from a given language.

        Back when I was enrolled in college, I lost count of how many colleagues struggled with the entire course as soon as they were faced by Data Structure classes, binary trees, linked lists, queues, stacks… And Linear Programming, maximization and minimization, data fitness… To the majority of my colleagues, those classes were painful, especially because the teachers were somewhat rigid.

        And this sentiment echoes across the companies and corps. Corps (especially the wannabe-programmer managers) don’t want to deal with computers, they want to deal with consumers and their sweet money, but a civil engineer and their masons can’t possibly build a house without willing to deal with a blueprint and the physics of building materials. This is part of the root of this whole problem.

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 hours ago

        The hard thing about debugging other people’s code is understanding what they’re trying to do. Once you’ve figured that out it’s just like debugging your own code. But not all developers stick to good patterns, good conventions or good documentation, and that’s when you can spend a long time figuring out their intention. Until you’ve got that, you don’t know what’s a bug.

    • Munkisquisher@lemmy.nz
      link
      fedilink
      English
      arrow-up
      7
      ·
      10 hours ago

      When the cost to generate new code has become so cheap,and the cost of devs maintaining code they didn’t write gets higher. There’s a huge shift happening to just throw out the code and regenerate it instead. Next year will be the find out phase, where the massive decline in code quality catches up with big projects.

      • MangoCats@feddit.it
        link
        fedilink
        English
        arrow-up
        4
        ·
        9 hours ago

        where the massive decline in code quality catches up with big projects.

        That’s going to depend, as always, on how the projects are managed.

        LLMs don’t “get it right” on the first pass, ever in my experience - at least for anything of non-trivial complexity. But, their power is that they’re right more than half of the time AND when they can be told they are wrong (whether by a compiler, or a syntax nanny tool, or a human tester) AND then they can try again, and again as long as necessary to get to a final state of “right,” as defined by their operators.

        The trick, as always, is getting the managers to allow the developers to keep polishing the AI (or human developer’s) output until it’s actually good enough to ship.

        The question is: which will take longer, which will require more developer “head count” during that time to get it right - or at least good enough for business?

        I feel like the answers all depend on the particular scenarios - some places some applications current state of the art AI can deliver that “good enough” product that we have always had with lower developer head count and/or shorter delivery cycles. Other organizations with other product types, it will certainly take longer / more budget.

        However, the needle is off 0, there are some places where it really does help, a lot. The other thing I have seen over the past 12 months: it’s improving rapidly.

        Will that needle ever pass 90% of all software development benefitting from LLM agent application? I doubt it. In my outlook, I see that needle passing +50% in the near future - but not being there quite yet.

    • Jayjader@jlai.lu
      link
      fedilink
      English
      arrow-up
      3
      ·
      11 hours ago

      Given the stochastic nature of LLMs and the pseudo-darwinian nature of their training process, I sometimes wonder if geneticists wouldn’t be more suited to interpreting LLM output than programmers.

      • Dethronatus Sapiens sp.@calckey.world
        link
        fedilink
        arrow-up
        3
        ·
        10 hours ago

        @Jayjader@jlai.lu @technology@lemmy.world

        Given how it’s very akin to dynamic and chaotic systems (e.g. double pendulum, whose initial position, mass and length rules the movement of the pendulum, very similar to how the initial seed and input rule the output of generative AIs) due to the insurmountable amount of physically intertwined factors and the possibility of generalizing the system in mathematical, differential terms, I’d say that the more fit would be a physicist. Or a mathematician. lol

        As always, relevant xkcd: https://xkcd.com/435/

  • ignirtoq@feddit.online
    link
    fedilink
    English
    arrow-up
    104
    ·
    13 hours ago

    We’re about to face a crisis nobody’s talking about. In 10 years, who’s going to mentor the next generation? The developers who’ve been using AI since day one won’t have the architectural understanding to teach. The product managers who’ve always relied on AI for decisions won’t have the judgment to pass on. The leaders who’ve abdicated to algorithms won’t have the wisdom to share.

    Except we are talking about that, and the tech bro response is “in 10 years we’ll have AGI and it will do all these things all the time permanently.” In their roadmap, there won’t be a next generation of software developers, product managers, or mid-level leaders, because AGI will do all those things faster and better than humans. There will just be CEOs, the capital they control, and AI.

    What’s most absurd is that, if that were all true, that would lead to a crisis much larger than just a generational knowledge problem in a specific industry. It would cut regular workers entirely out of the economy, and regular workers form the foundation of the economy, so the entire economy would collapse.

    “Yes, the planet got destroyed. But for a beautiful moment in time we created a lot of value for shareholders.”

    • UnspecificGravity@piefed.social
      link
      fedilink
      English
      arrow-up
      15
      ·
      10 hours ago

      Yep, and now you know why all the tech companies suddenly became VERY politically active. This future isn’t compatible with democracy. Once these companies no longer provide employment their benefit to society becomes a big fat question mark.

    • HasturInYellow@lemmy.world
      link
      fedilink
      English
      arrow-up
      20
      ·
      edit-2
      10 hours ago

      According to a study, the lower top 10% accounts for something like 68% of cash flow in the economy. Us plebs are being cut out all together.

      That being said, I think if people can’t afford to eat, things might bet bad. We will probably end up a kept population in these ghouls fever dreams.

      Edit: I’m an idiot.

      • kreskin@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        10 hours ago

        Edit: I’m an idiot.

        Same here. Nobody knows what the eff they are doing. Especially the people in charge. Much of life is us believing confident people who talk a good game but dont know wtf they are doing and really shouldnt be allowed to make even basic decisions outside a very narrow range of competence.

        We have an illusion of broad meritocracy and accountability in life but its mostly just not there.

      • Prior_Industry@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        10 hours ago

        Once Boston Dynamic style dogs and Androids can operate over a number of days independently, I’d say all bets are off that we would be kept around as pets.

        I’m fairly certain your Musks and Altmans would be content with a much smaller human population existing to only maintain their little bubble and damn everything else.

    • Randelung@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      12 hours ago

      Also, even if we make it through a wave of bullshit and all these companies fail in 10 years, the next wave will be ready and waiting, spouting the same crap - until it’s actually true (or close enough to be bearable financially). We can’t wait any longer to get this shit under control.

  • dreadbeef@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    6 hours ago

    and in order for ai to do that, it has to employ strategy and resource management. And ideally a wealth of experience to rely on when facing new challenges. Good luck

  • CarbonatedPastaSauce@lemmy.world
    link
    fedilink
    English
    arrow-up
    57
    ·
    edit-2
    14 hours ago

    Something any (real, trained, educated) developer who has even touched AI in their career could have told you. Without a 3 month study.

    • AutistoMephisto@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      62
      ·
      edit-2
      13 hours ago

      What’s funny is this guy has 25 years of experience as a software developer. But three months was all it took to make it worthless. He also said it was harder than if he’d just wrote the code himself. Claude would make a mistake, he would correct it. Claude would make the same mistake again, having learned nothing, and he’d fix it again. Constant firefighting, he called it.

      • felbane@lemmy.world
        link
        fedilink
        English
        arrow-up
        15
        ·
        12 hours ago

        As someone who has been shoved in the direction of using AI for coding by my superiors, that’s been my experience as well. It’s fine at cranking out stackoverflow-level code regurgitation and mostly connecting things in a sane way if the concept is simple enough. The real breakthrough would be if the corrections you make would persist longer than a turn or two. As soon as your “fix-it prompt” is out of the context window, you’re effectively back to square one. If you’re expecting it to “learn” you’re gonna have a bad time. If you’re not constantly double checking its output, you’re gonna have a bad time.

        • TinDrum@aus.social
          link
          fedilink
          arrow-up
          2
          ·
          5 hours ago

          @felbane @AutistoMephisto i don’t have a cs degree (and am more than willing to accept the conclusions of this piece) but how is it not viable to audit code as it’s produced so as it’s both vetted and understood in sequence?

          • felbane@lemmy.world
            link
            fedilink
            English
            arrow-up
            4
            ·
            5 hours ago

            Auditing the code it produces is basically the only effective way to use coding LLMs at this point.

            You’re basically playing the role of senior dev code reviewing and editing a junior dev’s code, except in this case the junior dev randomly writes an amalgamation of mostly valid, extremely wonky, and/or complete bullshit code. It has no concept of best practices, or fitness for purpose, or anything you’d expect a junior dev to learn as they gain experience.

            Now given the above, you might ask yourself: “Self, what if I myself don’t have the skills or experience of a senior dev?” This is where vibe coding gets sketchy or downright dangerous: if you don’t notice the problems in generated code, you’re doomed to fail sooner or later. If you’re lucky, you end up having to do a big refactoring when you realize the code is brittle. If you’re unlucky, your backend is compromised and your CTO is having to decide whether to pay off the ransomware demands or just take a chance on restoring the latest backup.

            If you’re just trying to slap together a quick and dirty proof of concept or bang out a one-shot script to accomplish a task, it’s fairly useful. If you’re trying to implement anything moderately complex or that you intend to support for months/years, you’re better off just writing it yourself as you’ll end up with something stylistically cohesive and more easily maintainable.

    • ctrl_alt_esc@lemmy.ml
      link
      fedilink
      English
      arrow-up
      26
      ·
      13 hours ago

      It’s still useful to have an actual “study” (I’d rather call it a POC) with hard data you can point to, rather than just “trust me bro”.

    • Leon@pawb.social
      link
      fedilink
      English
      arrow-up
      6
      ·
      13 hours ago

      I was in charge of an AI pilot project two years back at my company. That was my conclusion, among others.

    • some_designer_dude@lemmy.world
      link
      fedilink
      English
      arrow-up
      6
      ·
      13 hours ago

      Untrained dev here, but the trend I’m seeing is spec-driven development where AI generates the specs with a human, then implements the specs. Humans can modify the specs, and AI can modify the implementation.

      This approach seems like it can get us to 99%, maybe.

      • CaptDust@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        40
        ·
        edit-2
        13 hours ago

        Trained dev with a decade of professional experience, humans routinely fail to get me workable specs without hours of back and forth discussion. I’d say a solid 25% of my work week is spent understanding what the stakeholders are asking for and how to contort the requirements to fit into the system.

        If these humans can’t be explict enough with me, a living thinking human that understands my architecture better than any LLM, what chance does an LLM have at interpreting them?

      • floofloof@lemmy.ca
        link
        fedilink
        English
        arrow-up
        8
        ·
        edit-2
        10 hours ago

        Even more efficient: humans do the specs and the implementation. AI has nothing to contribute to specs, and is worse at implementation than an experienced human. The process you describe, with current AIs, offers no advantages.

        AI can write boilerplate code and implement simple small-scale features when given very clear and specific requests, sometimes. It’s basically an assistant to type out stuff you know exactly how to do and review. It can also make suggestions, which are sometimes informative and often wrong.

        If the AI were a member of my team it would be that dodgy developer whose work you never trust without everyone else spending a lot of time holding their hand, to the point where you wish you had just done it yourself.

      • Leon@pawb.social
        link
        fedilink
        English
        arrow-up
        18
        ·
        13 hours ago

        Thus you get a piece of software that no one really knows shit about the inner workings of. Sure you have a bunch of spec sheets but no one was there doing the grunt work so when something inevitably breaks during production there’s no one on the team saying “oh, that might be related to this system I set up over here.”

      • Piatro@programming.dev
        link
        fedilink
        English
        arrow-up
        16
        ·
        13 hours ago

        How is what you’re describing different to what the author is talking about? Isn’t it essentially the same as “AI do this thing for me”, “no not like that”, “ok that’s better”? The trouble the author describes, ie the solution being difficult to change, or having no confidence that it can be safely changed, is still the same.

        • some_designer_dude@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 hours ago

          This poster https://calckey.world/notes/afzolhb0xk is more articulate than my post.

          The difference between this “spec-driven” approach is that the entire process is repeatable by AI once you’ve gotten the spec sorted. So you no longer work on the code, you just work on the spec, which can be a collection of files, files in folders, whatever — but the goal is some kind of determinism, I think.

          I use it on a much smaller scale and haven’t really cared much for the “spec as truth” approach myself, at this level. I also work almost exclusively on NextJS apps with the usual Tailwind + etc stack. I would certainly not trust a developer without experience with that stack to generate “correct” code from an AI, but it’s sort of remarkable how I can slowly document the patterns of my own codebase and just auto-include it as context on every prompt (or however Cursor does it) so that everything the LLMs suggest gets LLM-reviewed against my human-written “specs”. And doubly neat is that the resulting documentation of patterns turns out to be really helpful to developers who join or inherit the codebase.

          I think the author / developer in the article might not have been experienced enough to direct the LLMs to build good stuff, but these tools like React, NextJS, Tailwind, and so on are all about patterns that make us all build better stuff. The LLMs are like “8 year olds” (someone else in this thread) except now they’re more like somewhat insightful 14 year olds, and where they’ll be in another 5 years… Who knows.

          Anyway, just saying. They’re here to stay, and they’re going to get much better.

          • ChunkMcHorkle@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            edit-2
            7 hours ago

            They’re here to stay

            Eh, probably. At least for as long as there is corporate will to shove them down the rest of our throats. But right now, in terms of sheer numbers, humans still rule, and LLMs are pissing off more and more of us every day while their makers are finding it increasingly harder to forge ahead in spite of us, which they are having to do ever more frequently.

            and they’re going to get much better.

            They’re already getting so much worse, with what is essentially the digital equivalent of kuru, that I’d be willing to bet they’ve already jumped the shark.

            If their makers and funders had been patient, and worked the present nightmares out privately, they’d have a far better chance than they do right now, IMO.

            Simply put, LLMs/“AI” were released far too soon, and with far too much “I Have a Dream!” fairy-tale promotion that the reality never came close to living up to, and then shoved with brute corporate force down too many throats.

            As a result, now you have more and more people across every walk of society pushed into cleaning up the excesses of a product they never wanted in the first place, being forced to share their communities AND energy bills with datacenters, depleted water reserves, privacy violations, EXCESSIVE copyright violations and theft of creative property, having to seek non-AI operating systems just to avoid it . . . right down to the subject of this thread, the corruption of even the most basic video search.

            Can LLMs figure out how to override an angry mob, or resolve a situation wherein the vast majority of the masses are against the current iteration of AI even though the makers of it need us all to be avid, ignorant consumers of AI for it to succeed? Because that’s where we’re going, and we’re already farther down that road than the makers ever foresaw, apparently having no idea just how thin the appeal is getting on the ground for the rest of us.

            So yeah, I could be wrong, and you might be right. But at this point, unless something very significant changes, I’d put money on you being mostly wrong.

      • pelespirit@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        9
        ·
        12 hours ago

        Have you used any AI to try and get it to do something? It learns generally, not specifically. So you give it instructions and then it goes, “How about this?” You tell it that it’s not quite right and to fix these things and it goes off on a completely different tangent in other areas. It’s like working with an 8 year old who has access to the greatest stuff around.