back to article Coders paired with bot buddies work fast, but take too many shortcuts

Developers who "pair code" with an AI assistant stand to learn as much as they do in traditional human-human pairings, but also show a less critical attitude toward their silicon-based partner’s output, academics have found. Pair programming is a common practice in developer circles, though it did not become a formal "pattern …

  1. This post has been deleted by its author

  2. HappyDog
    WTF?

    It's a tool

    Like most tools, if you don't know/learn how to use it properly, the chances are you will end up hurting yourself or the thing you are trying to build/fix.

    It's Artificial intelligence

    1. LybsterRoy Silver badge

      Re: It's a tool

      -- It's Artificial intelligence --

      Artificial: OK I understand that word in this context

      intelligence: not sure about this one, please supply example of the intelligence that the artificial is supplying

      1. HappyDog

        Re: It's a tool

        Apologies for any misunderstanding. The bold emphasis was meant to signify emphasis, as in, "It's ARTIFICIAL!". The italics emphasis was meant to signify sarcasm, as in, "Intelligence? Yeah, right."

        Thank you for the opportunity to explain myself better.

        I found myself agreeing with a lot of things in this link

        The Learning Loop and LLMs

        1. HappyDog

          Re: It's a tool

          As a follow up Tim O'Reilly presents my point much better than I managed Why It’s Better for Us to Think of AI as a Tool than as a Worker

  3. Brewster's Angle Grinder Silver badge

    I'll be honest, most of the knowledge transfer seems to be from me to the AI (as I point out all it's mistakes).

    1. Anonymous Coward
      Anonymous Coward

      Please stop!

      1. Brewster's Angle Grinder Silver badge

        It's kinda how the thing works. You write a prompt. It returns faulty code. You point out where it failed to meet the prompt.

        I'm fully aware of the risk I am training it up. Hence my cynical comment. And there are some mistakes I correct without telling it; not least because the outcome of these conversation seems to be the AI tying itself in knots.

  4. Anonymous Coward
    Anonymous Coward

    > Those conversations were analyzed for "contribution to knowledge transfer" with the researchers noting: "In most cases, utterances related to knowledge transfer contain an exchange of information between the two humans or between the human and GITHUB COPILOT."

    You're testing A-A pairs and A-B pairs with regard to X, and then state most X interactions happen between A-A or A-B pairs. Well DUH.

    1. Anonymous Coward
      Anonymous Coward

      Yeah, I think they were looking for differences in the quantity and quality of the exchanges, across pairings. There were more in A-A (210) than A-B (126) but those in A-B involved fewer of the enjoyable idle chitchats that help turn the fatigue party toil of labor into less of a torturous drudgery ...

      Plus, A-B pairings suffered more trust hazards due to the sophistry-by-design nature of vibrator coding tools (iiuc).

      1. Anonymous Coward
        Anonymous Coward

        Definitive description ...

        'AI' == pattern driven sophistry-by-design with hallucinatory tendencies

        This should be a on a T-shirt !!!

        :)

  5. T. F. M. Reader

    "AI is useful for simple, repetitive tasks"

    The whole point of programming computers is to avoid doing simple, repetitive tasks. Resorting to prompting AI (not a simple task, in my experience) to do stuff repeatedly doesn't seem a right approach - you still do stuff repeatedly, so where's the gain?

    Well, maybe the approach has a place in environments where no one can actually program computers to do repetitive tasks.

    1. Evil Auditor Silver badge

      Re: "AI is useful for simple, repetitive tasks"

      Besides, "simple, repetitive tasks" should be done by a fully reliable machine and not some part-time hallucinating tool.

      1. Anonymous Coward
        Anonymous Coward

        Re: "AI is useful for simple, repetitive tasks"

        "some part-time hallucinating tool"

        A bit unfair on the 'PFY' .... but only 'a bit' !!!

        :)

        1. LybsterRoy Silver badge

          Re: "AI is useful for simple, repetitive tasks"

          Your name is Simon and I claim my £5

  6. Ken Y-N

    What about Trio Programming?

    Have the AI to do the boring stuff, but then two pairs of eyes to criticise its output.

    A quick search tells me it is already a thing, and called Mob Agentic Engineering.

    1. Stuart Van Onselen

      Re: What about Trio Programming?

      Why not Quad programming? Two AIs pair-programming, cooperating with two flesh-bags doing pair programming.

      I guess there's no limit to "Mob Agentic Engineering".

      1. Anonymous Coward
        Anonymous Coward

        Re: What about Trio Programming?

        Pair programming with two humans tends to be more adversarial in nature. Not in a hostile or aggressive way, it just is...it's not always faster and can be much slower...it does usually lead to a better end result though.

        I don't mind pair programming with another person, but if the pace of the other person is wildly different to mine...it gets very annoying very quickly...it doesn't matter if they're faster or slower, it's annoying...it's more annoying if they are slower though. Programmers are very rarely on the same page at the same time...if one of them is too many pages ahead or behind, that's when you project starts to suffer...it really does depend on the project though and what the goals are.

        Sometimes, I find myself yanking at my chain like a rabid dog wanting to just plough on because I've got a very clear idea in my head and I fully understand what needs to be done, other times I haven't a clue and it is necessary for me to square things up in my head first...which can be very annoying for the guy yanking on his chain.

        I'm sure most of us have been that guy that left the meeting and just finished the work in an afternoon even though two weeks was assigned in the meeting...and thus pissed everyone off. I've been guilty of that a few times...it's usually not out of malice though, it's because you have such a clear idea that you need to just bang out the code to get it out of your head.

  7. Evil Auditor Silver badge

    Trust episodes? So, the old "it is on the interwebs therefore it must be true".

  8. Acrimonius

    A perfect buddy

    All my C# amatuer or hobby coding is with an AI now. It can be any AI and not just Copilot where I quickly run out of free tokens. Before my friend was Google, Stack Overflow etc but compared to the AI a tedius search process with many false leads. Now the AI generates the code snippets instantly. Many simple tasks, many tedius ones, many where I can't remember the syntax (becoming a huge problem as I do not code often enough), many showing a better way including the IDE, many invaluably showing best practice rather than my code hacking way etc. The code is usually correct and usually works but not as intended or not when integrated sometimes but this can be ironed out. I am learning less and less but I was not learning much in any case with the previous helpers I had and for a hobby I could never invest the time to become a full coder in any case. So AI is a perfect buddy in my case

    1. breakfast Silver badge

      Re: A perfect buddy

      This is a useful reminder - a lot of us on here are experienced professional developers who, for all our flaws, know what we're looking at when it comes to developing complex applications and many of us are deeply cynical about the utility of AI for people who do our work or who aspire to it.

      It's important for us to remember that there are a lot of people who want to write a bit of code now and then for fun with no real interest in taking it seriously as an activity or a profession and for whom it the consequences of failure are minimal. If you're in that position these tools probably are a useful crutch.

    2. ChrisElvidge Silver badge

      Re: A perfect buddy

      To me, the advantage(s) of finding the solution rather than being given it, is that Stack (etc.) will often include different ways of achieving the same result - with explanations.

  9. Anonymous Coward
    Anonymous Coward

    So a bunch of grad students at some no name "university..

    ..who never wrote a single line of code for a shipped product did some really stupid meaningless "study" on a trivial undergrad term paper problem.

    Read the "paper". Its just the usual zero value garbage that is typical of 99% of all academic comp sci published papers. Of the other 1% maybe 10% is worth reading. But only if the authors have actually published a book in the past. Some useful stuff in there in you dig.

    The authors of this paper sound like they would not even qualify as script kiddies.

  10. Anonymous Coward
    Anonymous Coward

    I've my doubts about the study.

    I'd like to know how competent the flesh programmers were.

    I've found that there are widely different levels of knowledge, competence and speed.

    If they are picking people from the usual study group of students or volunteers then I would question the results.

    I'd also like to see how they leveled the capabilities between the groups and how they randomised to pairings and what the control groups were.

    I've been involved in designing performance studies in the distant past and it's not at all easy to get right as people can perform differently when being watched.

    Personally I've only found pair programming to be useful in mentoring an individual. As a general approach I find it to be way too slow and restrictive. I'm however looking at tools to help with the mentoring side as teams etc are ok for meetings but naff for navigating an IDE or terminal.

    I've also noticed a significant difference in results between different people's abilities to use the AI coding tools.

    I've found that those that can articulate a problem in sufficient detail with guidelines perform better than those that expect to be provided with the detail.

    Anonymous because... too many of my colleagues read thereg.

  11. Mike 137 Silver badge

    Expertise?

    AI assistants were good at reminding humans of key details, "such as committing database changes, that might otherwise be overlooked."

    Overlooking such basics says much more about the skills and attention capacity (or lack thereof) of the practitioner than it does about the utility of "AI". I never cease to be amazed by the shallowness of many of the questions on sites such as SO -- they lead me to believe that the software development profession is to a great extent populated with mere 'coders' who are novices at programming (two very different skills).

    1. LybsterRoy Silver badge

      Re: Expertise?

      There are some things to which a programmer is "blind". My particular gotcha is forgetting to add database.next when reading through a database row by row. I generally figure it out after staring at the screen for a while wondering why nothing is happening. AI wouldn't help much but RI (or developing a habit of adding database.next BEFORE I insert any other code) would.

  12. Anonymous Coward
    Anonymous Coward

    I'd rather code with an AI than an autistic aspergers esoteric nutter with ADHD that basically ignores the spec.

    I've worked on projects where the lead was autistic / aspergers / ADHD several times. Other than pissing off every developer that tries to work with them, it's a great way to increase developer turnover...it's the fastest way to alienate the project from the entire company and if you're lucky it's what leads to that "one guy that's been looking after it for 30 years". If you're unlucky it pisses 6 months to a year and a lot of money down the drain while the lunatic re-invents the wheel 12 times.

    I don't think AI will displace many highly skilled developers, but it will push a lot of the neurodiverse ones out of the industry.

    I know the tone here probably comes off as hating these guys, but I don't...they have a place in coding teams but they need to be "handled" otherwise your project is going off the rails...at least for now with AI, you can choose to not use it or refine it yourself and it won't be disgruntled, you can even start again from scratch and the AI won't lose it's shit...with a nutter, you're going to piss him off after 2 months when he's balls deep in writing a port scanner from scratch in Java that is slow as fuck and only works on a Raspberry Pi with a specific HAT then when you try and get rid to save the project, he's going to do some fucked up shit that will set you back further.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon