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.

  • vpol@feddit.uk
    link
    fedilink
    English
    arrow-up
    58
    ·
    1 day ago

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

    This is a bit of a stretch.

      • Evotech@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 hours ago

        I don’t get this argument. Isn’t the whole point that the ai will debug and implement small changes too?

        • Cyber Yuki@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 hours ago

          Think an interior designer having to reengineer the columns and load bearing walls of a masonry construction.

          What are the proportions of cement and gravel for the mortar? What type of bricks to use? Do they comply with the PSI requirements? What caliber should the rebars be? What considerations for the pouring of concrete? Where to put the columns? What thickness? Will the building fall?

          “I don’t know that shit, I only design the color and texture of the walls!”

          And that, my friends, is why vibe coding fails.

          And it’s even worse: Because there are things you can more or less guess and research. The really bad part is the things you should know about but don’t even know they are a thing!

          Unknown unknowns: Thread synchronization, ACID transactions, resiliency patterns. That’s the REALLY SCARY part. Write code? Okay, sure, let’s give the AI a chance. Write stable, resilient code with fault tolerance, and EASY TO MAINTAIN? Nope. You’re fucked. Now the engineers are gone and the newbies are in charge of fixing bad code built by an alien intelligence that didn’t do its own homework and it’s easier to rewrite everything from scratch.

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

          Yes, this is what I intended to write but I submitted it hastily.

          Its like a catch-22, they can’t write code so they vibecode, but to maintain vibed code you would necessarily need to write code to understand what’s actually happening

    • funkless_eck@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      18
      ·
      23 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

      • theparadox@lemmy.world
        link
        fedilink
        English
        arrow-up
        13
        ·
        21 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?

      • vpol@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 hours 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.

      • Rooster326@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        21 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?

    • mal3oon@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      14 hours ago

      I think it highly depends on the skill and experience of the dev. A lot of the people flocking into the vibe coding hype are not necessarily always people who know how about coding practices (including code review etc …) nor are experienced in directing AI agent to achieve such goals. The result is MIT prediction. Although, this will start to change soon.