• neukenindekeuken@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    7 hours ago

    I mean, yes, absolutely I can. So can my peers. I’ve been doing this for a long, long time, as have my peers.

    The code we produce is many times more readable and maintainable than anything an LLM can produce today.

    That doesn’t mean LLMs are useless, and it also doesn’t mean that we’re irreplaceable. It just means this argument isn’t very effective.

    If you’re comparing an LLM to a Junior developer? Then absolutely. Both produce about the same level of maintainable code.

    But for Senior/Principal level engineers? I mean this without any humble bragging at all: but we run circles around LLMs from the optimization and maintainability standpoint, and it’s not even close.

    This may change in the future, but today it is true (and I use all the latest Claude Code models)

  • Electricd@lemmybefree.net
    link
    fedilink
    arrow-up
    0
    ·
    8 hours ago

    More maintainable that whatever shit it put out

    Frankly I believe it can be maintainable if the person doing the prompting actually does something and correctly do their role of human reviewing and correcting. Vibe coding without any review is dooming the software maintainability

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 hours ago

      In my experience, the biggest problem is that maintainable code necessarily requires extending/adapting existing structures rather than just slapping a feature onto the side.

      And if we’re not just talking boilerplate, then this necessarily requires understanding the existing logic, which problems it solves, and how you can mold it to continue to solve those problems, while also solving the new problem.

      For that, you can’t just review the code afterwards. You have to do the understanding yourself.
      And once you have a clear understanding, it’s likely that the actual code change is rather trivial. At least more trivial than trying to convey your precise understanding to an LLM/intern/etc…

    • Feathercrown@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 hours ago

      Yeah, a lot of maintainability is about understanding how it works. Architectural decisions are the other half. Someone who’s paying attention can do well on both of these even using AI tools.

    • Omgpwnies@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      7 hours ago

      I’ll use an LLM to write bulk code, unit tests, other boring stuff… but, I specifically only have it write code I’m already very familiar with, and even then, I hand-code it every so often, like 1 in every 3 times I’ll do it by hand to make sure I’m still able to. If I have to look something up, then I’ll stop using an LLM for that task for a long while.

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    10 hours ago

    You don’t have to outrun the bear, you just have to outrun the other guy.

    I think most devs here can out-maintainable-code an llm.

    • wewbull@feddit.uk
      link
      fedilink
      English
      arrow-up
      0
      ·
      10 hours ago

      That is outrunning the bear, isn’t it. Outrunning the other guy is being the guy that makes 10 other jobs redundant by running the LLM.

      Not that I think that works.

  • Tja@programming.dev
    link
    fedilink
    arrow-up
    0
    ·
    10 hours ago

    ITT: AI induced dunning-kruger. Everybody can write maintenable code, just somehow it happens that nobody does.

    • KairuByte@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      0
      ·
      6 hours ago

      It really depends on the situation. Can I write maintainable code? Yes, to the extent that the average senior dev can.

      But that isn’t the same as being afforded the chance to write maintainable code. I’ve been part of teams where the timeline is so tight that technical debt is just a thing that builds up to be dealt with “later” and more stress is put on getting things done instead of keeping things maintainable.

      The fact of the matter is that humans can while LLMs currently can’t.

      On top of that, a human dev is going to be able to understand context a hell of a lot easier if they’ve previously worked on it, even if the code is less maintainable.

    • Bieren@lemmy.today
      link
      fedilink
      arrow-up
      0
      ·
      10 hours ago

      Can I, sure. Do I give af since my company doesn’t care about me as anything other than a number in a spreadsheet, no.

      • Tja@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        9 hours ago

        Well, even for my private projects that I care about I end up having to rewrite every few years.

        • KairuByte@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          0
          ·
          6 hours ago

          That’s just the norm tbh. You learn new techniques, the language gets new optimizations, keywords and shortcuts. That doesn’t mean your code is unmaintainable.

    • mushroommunk@lemmy.today
      link
      fedilink
      arrow-up
      0
      ·
      10 hours ago

      Most of the unmaintainable code I’ve seen is because businesses don’t appreciate the need to occasionally refactor/rewrite or do anything to maintain code. They only appreciate piling more on. They’d do away with bug fixing too if they could.

      • errer@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        9 hours ago

        This is why AI coding is being pushed so hard. Guess what’s great at piling on at 30x speed? If piling on is all companies appreciate then that’s what they’ll demand.

      • Tja@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        10 hours ago

        Many opensource projects are in same state, I know for sure my projects become spaghetti if I work more than a year on them.

        Besides, I’d argue that if you need to rewrite (part of) it is because it wasn’t maintainable in the first place.

        • brygphilomena@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          0
          ·
          9 hours ago

          I disagree. Rewriting is a core component of maintaining a code base. It’s the evolution of code. Not rewriting and hooking in some janky way is much worse. No one can see all the possible needs of code the first time they write it. Or even the tenth. Updating the code by rewriting sections is the healthier way to use everything you learned since the first time you wrote it to keep it clean and improve it.

          • Tja@programming.dev
            link
            fedilink
            arrow-up
            0
            ·
            9 hours ago

            Well, if rewriting is maintaining, everybody can write maintenable code.

            Did it become a mess? Rewrite time!

            For me the art is writing it so you don’t need to rewrite and you don’t need a janky temporary permanent workaround if requirements change. Clean interfaces, SOLID, plug-ins, etc. Can’t do it myself, but the legendary 10x devs usually do.

            • red_tomato@lemmy.world
              link
              fedilink
              arrow-up
              0
              ·
              8 hours ago

              The most maintainable code is built to be replaced with minimal impact.

              How much of the program will must be replaced if you remove one module? If you need to replace the entire program, then your program is not maintainable. Too much is heavily dependent on this module.

            • 0ops@piefed.zip
              link
              fedilink
              English
              arrow-up
              0
              ·
              8 hours ago

              I don’t believe in code that never needs a rewrite, but scalable code should be compartmentalized and future-proofed to the point that the next rewrite can be pushed as far into the future as possible. Me personally, I tend to discover what these best practices are during those rewrites.

            • brygphilomena@lemmy.dbzer0.com
              link
              fedilink
              English
              arrow-up
              0
              ·
              9 hours ago

              All code is maintainable with enough time and money.

              But yes, well structured code where those rewrites are minimal is the goal.

              There probably is a threshold where the amount you have to rewrite becomes too high. But with each rewrite, hopefully the next time you have a section you need to redo its smaller that before. Eventually going from rewriting a couple thousands of lines to just a hundred or so on the 5th iteration.

  • aMockTie@piefed.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    11 hours ago

    I would like to think that I’m capable of writing maintainable code like seemingly everyone else in this thread, and I have multiple code bases that have existed for decades that have included necessary updates over time to reinforce that opinion.

    I’ve also seen some truly unfathomable, Lovecraftian horror code in the wild that has persisted for decades.

    Seeing Will Smith’s character as a representative of humanity, and Sonny as a representative of LLM/GenAI in that context makes this joke absolutely hilarious.