• @[email protected]
    link
    fedilink
    English
    569 months ago

    If I was still in a senior dev position, I’d ban AI code assistants for anyone with less than around 10 years experience. It’s a time saver if you can read code almost as fluently as you can read your own native language but even besides the A.I. code introducing bugs, it’s often not the most efficient way. It’s only useful if you can tell that at a glance and reject its suggestions as much as you accept them.

    Which, honestly, is how I was when I was first starting out as a developer. I thought I was hot shit and contributing and I was taking half a day to do tasks an experienced developer could do in minutes. Generative AI is a new developer: irrationally confident, not actually saving time, and rarely doing things the best way.

    • @[email protected]
      link
      fedilink
      English
      99 months ago

      Eh, I’m a senior dev, and I don’t ban it (my boss, the director, does that for me lol; he’s worried about company secrets leaking).

      In fact, we had an interview for a senior dev position, and the applicant asked if they could use AI, and I told them to use whatever tools they normally would for development. It shouldn’t come as a surprise that they totally botched the programming challenge because of it (introduced the same bug twice, then said they were very confident in the correctness of the code…), and that made it so much easier to filter them out from our hiring pool. If you’re going to use a tool in an interview, you better feel confident with it. If that dev had solved the problem significantly faster than our other applicants, I would’ve taken that to my boss to have the team experiment with it. We target budget 30 min for our challenges, and our seniors generally finish in under 20, and it took them more than our allotted time to get the code to actually run properly (and that’s with us pointing out certain mistakes the AI generated).

      But no, I haven’t seen an actually productive use of AI for software development, beyond searching for docs online (which you can totally do w/ Bing or Google w/o involving our codebase). You may feel more productive because more code is appearing on the screen, but the increase in bugs likely reduces overall productivity. We’re always looking for ways to improve, but when I can solve the same problem in my bare-bones editor (vim) faster than my more junior colleagues can with their fancy IDEs, I really don’t think AI is going to be the thing that improves our productivity, actually understanding logic will. If someone demonstrates that AI does save time, I’ll try it out and campaign for it.

      Anyway, that’s my take as someone who has been in the industry for something like 15 years. Knowing your tools is more important, IMO, than having more tools.

      • @[email protected]
        link
        fedilink
        English
        109 months ago

        I had my suspicions before but the moment I realized for certain Elon Musk couldn’t run a software company was when he judged people by lines of code written.

        • @[email protected]
          link
          fedilink
          English
          19 months ago

          Not trying to defend him, but I thought the reasoning behind doing that was to get the least obedient people to leave the company so that there won’t be a delayed push back from the employees.

          • @[email protected]
            link
            fedilink
            English
            3
            edit-2
            9 months ago

            In my experience working for almost 3 decades in software development, passive-agressive shit from upper management just causes the best people to leave (as they’re the ones who easilly find better jobs) leaving behind mainly a mix of the incompetent and those who never worked anywhere else (who are either already incompetent or will become so, as only ever having worked in just one company is far too narrow professional experience for anything beyond junior/mid level - you need to have seen more than one way of doing things to understand certain higher level concerns and choices in software development).

            • @[email protected]
              link
              fedilink
              English
              29 months ago

              Yeah and I’d say these people left are exactly those Elon wants, he doesn’t want white guys in their 50s, he wants obedient young guys.

              • @[email protected]
                link
                fedilink
                English
                1
                edit-2
                9 months ago

                Sound like a variant of the good old saying “pay peanuts, get monkeys” only using a stick and threats instead of payment.

                Mind you, it does sound like the kind of think somebody with his kind of personality - narcissistic shameless and dishonest salesman - would think it’s a great idea.

        • @[email protected]
          link
          fedilink
          English
          2
          edit-2
          9 months ago

          The one time some manager voiced such an idea, I very overtly in front of everybody offered to make “loop unrolling” software working at the source level (compilers already do it at the Assembly level in some cases for performance) for me and my colleagues to really boost that code line count (while totally screwing maintenability).

          Mind you, all devs in that meeting were loudly against measuring performance by code lines, but I like to think that suggestion of mine really hammered down the coup the grace on that “brilliant” idea.

        • @[email protected]
          link
          fedilink
          English
          39 months ago

          Ew, I would hate to be in charge of code reviews at an org like that.

          The proper metric is success of the actual product. We have our engineers give estimates, then hold them to those estimates and evaluate based on consistency of on-time releases and number of production bugs. At the end of the day, predictable, high quality delivery is usually more valuable than faster time to market, unless you’re in a startup or something and just need to get early adopters on-board. Judge QA by defects discovered in production and devs by defects found by QA and in production. It’s really not that hard.

    • @[email protected]
      link
      fedilink
      English
      2
      edit-2
      9 months ago

      I’ve worked as a freelancer (specifically as a Contractor) in Software Development for over a decade and more often than not I ended up having to work with some existing code base, having to deal with the design choices, coding style and bugs of somebody else, often multiple somebody elses.

      There’s nothing quite as “entertaining” as having to deal with 3+ different code and design styles in the same code base because all previous developer thought their own way of doing things was the superior way so just added one more layer of their style (not just coding but, worse, software design) on top of what was already there increasing the mess, rather than work within the existing structure and style and doing some refactoring.

      Anyway, in my experience having to read, understand and work with existing code that you yourself did not made is way more time costly and less pleasant than actually doing your stuff from scratch.

    • @[email protected]
      link
      fedilink
      English
      26
      edit-2
      9 months ago

      I’ve found they’re great as a learning tool where decent docs are available. Or as an interactive docs you can ask follow up questions to.

      We mostly use c# and it’s amazing at digging into the MS docs to pull out useful things from the bcl or common patterns.

      Our new juniors got up to speed so fast by asking it to explain stuff in the existing codebases. Which in turn takes pressure off more senior staff.

      I got productive in vuejs in a large codebase in a couple days that way.

      Using to generate actual code is insanely shit haha It is very similar to just copy pasting code and hacking it in without understanding it.

      • @[email protected]
        link
        fedilink
        English
        179 months ago

        You make a good point about using it for documentation and learning. That’s a pretty good use case. I just wouldn’t want young developers to use it for code completion any more than I’d want college sophomores to use it for writing essays. Professors don’t have you write essays because they like reading essays. Sometimes, doing a task manually is the point of the assignment.

    • @[email protected]
      link
      fedilink
      English
      99 months ago

      I’ve been laughing at this quote for 5 minutes straight

      It’s so good

      He knows he’s right

      Also: I code sometimes, and all of my code is of masterpiece quality. I cannot debug my own code, I ask for outside help and we have to dismantle the NT kernel to find out what’s gone wrong

  • @[email protected]
    link
    fedilink
    English
    189 months ago

    Good. Maybe if the stuff trashes enough of our infrastructure somebody somewhere will actually figure out that it’s bad and get rid of it forever.

    I know, it’ll never happen. But a man can dream.

    • @[email protected]
      link
      fedilink
      English
      19 months ago

      trashes enough of our infrastructure somebody somewhere will actually figure out that it’s bad and get rid of it forever

      thinking Neoliberlism.

  • @[email protected]
    link
    fedilink
    English
    20
    edit-2
    9 months ago

    Debugging and maintenance was always the hardest aspect of large code bases… writing the code is the easy part. Offloading that part to AI only makes the hard stuff harder

  • @[email protected]
    cake
    link
    fedilink
    English
    259 months ago

    The point of the article isn’t that AI is outright useless as a coding tool but that it lulls programmers into a false sense of security regarding the quality and security of their code. They aren’t reviewing their work as frequently because of this new reliance on AI as a time saver, and as such are more likely to miss any mistakes that they or the AJ made.

      • Suzune
        link
        fedilink
        English
        59 months ago

        Devs care to debug code only if they believe in its quality. Otherwise they write the code again from scratch. This is also cheaper than debugging.

        • melroy
          link
          fedilink
          29 months ago

          I dare to say it: 70% of the devs are not quality focused to start with. They are already happy if something, somewhat, sort of, works. And then not even ship a unit test with it.

    • snooggums
      link
      fedilink
      English
      199 months ago

      The point of the article isn’t that AI is outright useless as a coding tool but that it lulls programmers into a false sense of security regarding the quality and security of their code.

      Lulling them into a false sense of security is half of what makes it useless. The fact that it makes shitty code is the other half.

      • @[email protected]
        link
        fedilink
        English
        69 months ago

        But the job of a software developer is not to write good code, it is to deliver features. People have been writing bad code without any AI for decades. Businesses often prioritize speed over quality, rewarding teams that deliver features quicker.

        • synae[he/him]
          link
          fedilink
          English
          49 months ago

          A computer lets you make more mistakes faster than any other invention with the possible exceptions of handguns and Tequila.

          Now Even Faster™ with no exceptions thanks to “AI”

  • dinckel
    link
    fedilink
    English
    219 months ago

    I have a lot of empathy for a lot of people. Even ones, who really don’t deserve it. But when it comes to people like these, I have absolutely none. If you make a chatbot do your corporate security, it deserves to burn to the ground

  • @[email protected]
    link
    fedilink
    English
    709 months ago

    And none of the forced tech support “AI” replacements work. And the companies don’t give a shit.

    • Echo Dot
      link
      fedilink
      English
      499 months ago

      I’ve had this argument with them a few times at work. They are definitely going to replace this all with AI. Probably within the next year and no amount of us pointing out that it won’t work and they’ll end up having to bring us back, at 3x the rate, seems to have any effect on them.

      I’m probably going to have to listen to a lot of arguments about this strawberry thing tomorrow.

      Anyway whatever, severance is severance.

      • @[email protected]
        link
        fedilink
        English
        199 months ago

        I was once in a similar position: company merger and they decided to move support offshore. We got 6 months lead notice and generous severance paid out as long as we stayed to the end. Fast forward a year and they took 85% customer approval to 13%. We got hired back at 1.5x our old pay rate, so not quite the 3x you mentioned. Hoping this works out similar for you in the end.

  • @[email protected]
    link
    fedilink
    English
    119 months ago

    The thing I dislike most about code assisting tools is that they’re geared to answering your questions instead of giving advice. I’m sure they also give bad recommendations but I’ve seen LLMs basically double down on bad code.

    • @[email protected]
      link
      fedilink
      English
      49 months ago

      No they’re giving you exactly what you’re asking for. Problem is you’re not asking for advice. Your asking to “build a thing” and expecting it to read your mind.

  • @[email protected]
    link
    fedilink
    English
    839 months ago

    “When asked about buggy AI, a common refrain is ‘it is not my code,’ meaning they feel less accountable because they didn’t write it.”

    That’s… That’s so fucking cool…

  • @[email protected]
    link
    fedilink
    English
    319 months ago

    “AI” is just good for simple code snippets. (Which it stole from Github repos).

    This whole ai bs needs to die already, and the people who lie about it held accountable.

  • @[email protected]
    link
    fedilink
    English
    13
    edit-2
    9 months ago

    Where’s the articles about humans doing the exact same shit for the last 40-50 fucking years and no one bats an eye. Looks at the prompts from people complaining about ai responses and see they don’t know how to use this shit any better than my grandparents can use a touchtone phone.

    “Build an app”

    Fails

    “This ai is shit”.

    Just like ever other piece of technology. Garbage in garbage out. If you can’t reliably describe what you want then no one is going to be able to do it. AI just blatantly points out your descriptive failures.

    • @[email protected]
      link
      fedilink
      English
      49 months ago

      I’ve yet to see generative AI make an error that a human couldn’t make. Maybe that’s why people seem so hateful of it; they were expecting it to be superhuman but instead it’s too much like us.

      • Echo Dot
        link
        fedilink
        English
        1
        edit-2
        9 months ago

        That’s on them though. The other ones making the claim that it’s supposed to be The Culture, but I don’t think anyone at the companies is saying that it is.

      • BlitzFitz
        link
        fedilink
        English
        109 months ago

        Ai llms have learned from us. Good and bad. It doesn’t know the difference between good and bad unless you tell it.

        So you have to know what’s good or bad from the get go before using it and trusting it yet.

        And some blindly trust ai already… Which its far from that level of trust