back to article Forcing AI on developers is a bad idea that is going to happen

There is a thing that companies do, a pathological behavior that makes customers unhappy and makes things worse in general. It is so widespread and long-running that it should have its own name, much as an unpleasant medical condition. It does not, but you'll recognize it because it has blighted your life often enough: it's the …

  1. Pascal Monett Silver badge

    "JetBrains' own developers are, well, developers"

    They are indeed, meaning they are not management.

    They take their marching orders and they march, and if management says AI, then they do AI. If they don't like it, the door is thatta way.

    Don't blame developers for this. This falls squarely on the shoulders of whatever CxO listened to some guy in marketing and decided that they had to have "AI" to be on top of things.

    You can be sure that said CxO is not a developer, or hasn't been one for a loong time.

    1. Mike 137 Silver badge

      Re: "JetBrains' own developers are, well, developers"

      "it has blighted your life often enough: it's the unwanted new feature"

      Aren't (at least a high proportion of) developers, particularly web devs, guilty of this themselves? I can't count the number of perfectly usable (and necessary) web sites that work fine until one day they include changes that require the latest kit to render the new page, despite it having identical function from the user perspective. In a couple of critical cases I've had to buy a new laptop to continue using some work-related portal or other.

      This is most likely an outcome of a self-defined and self-opinionated technocracy that's obsessed with the 'bleeding edge' for its own sake, and believes it knows better than its customer what the customer should want.

      1. doublelayer Silver badge

        Re: "JetBrains' own developers are, well, developers"

        I am not a web developer, but I am a developer and I need something slightly between not guilty and guilty for me to plead. I have repeatedly been responsible for new features, which are probably unwanted new features to someone. Sometimes it was someone else's idea, I thought it was rubbish, but they told me to do it anyway. At least in those cases, I can comfortably blame that guy. However, there are times where I think the feature will be useful to someone and I might even know one to whom that applies.

        Unfortunately, many new features require changes that start to break things for others. I think one of the principles of good design is that those changes should be minimized when possible, but sometimes it really isn't possible. I've recently had to make significant changes to a command line program in order to add a new feature. My changes are, in my opinion, a good thing because it will make it much easier to add more similar functionality later and I'm planning for that to happen. However, it will require users of the old version to change the way they use it at least a bit and the work involved in providing an old and new interface is probably unwarranted. So yes, sometimes it's our fault, but sometimes it is not and we're usually trying to minimize the annoyance when we can.

        1. Michael Wojcik Silver badge

          Re: "JetBrains' own developers are, well, developers"

          Sure. Sometimes things need breaking changes to improve.

          When Model T owners bought a new car with a control system more like the one that's essentially standard today, many of them were probably a bit put out. Here's a complex, dangerous system that requires a lot of operator attention and intervention, sometimes very quick intervention; changing how the controls work is obviously costly in various ways. But in the end most users apparently agreed it was for the best (or we wouldn't have a de facto standard arrangement today).

          In many areas of IT we can identify cases where breaking changes are easy to justify, such as when dangerously insecure features that can't be fixed in their current form are radically altered or removed.

          What's important is that the people deciding to make those changes have a legitimate, explicit justification for the change, and do a thorough and fair calculation of the cost and benefit to the users. That includes remembering, as Platt puts it in Why Software Sucks, that your users are not you.

          1. imanidiot Silver badge

            Re: "JetBrains' own developers are, well, developers"

            I have my doubts anyone that drove a Model T would have any regrets moving away from it's arcane control scheme. Especially the "hold down the pedal continually to engage the slow gear" bit. That gets annoying and tiring on the leg muscles very quickly. But apparently it was more user friendly that way when no-one knew what a car was and gearboxes where by default "crash" gear boxes because no-one had invented synchromesh yet.

      2. Dan 55 Silver badge

        Re: "JetBrains' own developers are, well, developers"

        In a previous life I maintained a Windows 3.1 client and a UNIX document management server. One of the problems was the toolbar in the client looked like it had icons which were drawn by a drunk spider and the toolbar was not configurable, so I set about improving both of those deficiencies. After my changes the icons on the toolbar actually looked somewhat professional but you could go back if you wanted to drunk spider icons and it was configured by the standard (for the time) modal dialog with two lists and buttons for moving options to the other side and changing the order.

        Then feedback came back that that users were confused by the new icons and and they didn't know how to get the button order back to the default, even thought there was a reset to default button.

        So a few more changes - the old icon set appeared by default and it was locked to the default button order unless an option was changed in the config.ini... which of course for users confused by icons or button order didn't happen... so it was practically all for naught. It still took a few more years of IT experience to bludgeon my expectations down to the right level though.

        Who knows, maybe even JetBrains' developers thought their users would love this.

        1. Someone Else Silver badge

          Re: "JetBrains' own developers are, well, developers"

          Who knows, maybe even JetBrains' developers thought their users would love this.

          I suspect that JetBrains' developers (if they are like developers practically everywhere), cleave into basically 2 sets: Those who are easily dazzled by the shiny, and who froth at the mouth at the opportunity to imbue their latest opus dei with the latest way bitchin' k3wl whizzy-du-jour, and those who have been burned by the latest shiny, and are therefore more prone to take a measured approach. The former set tends to be populated with the new young bucks, while the latter tends to be populated by more 'seasoned' practitioners of the black arts and sciences of software development. (Yes, this is a generalization, and counterexamples abound.)

          Each of these groups tend to project their biases onto their perception of the user base. One could therefore suspect that more of the JetBrains devs fall into the former group. That may be the case, but I also suspect the vast majority of the JetBrains marketdroids also fall into that former group as well. A natural alliance formed within the JetBrains corporatocracy, and the rest, as they say, is history.

          What is yet to be written is how will that set manage to stomach the crow that the backlash from real customers is serving them, and how will they respond.

          Popcorn, anyone?

      3. Michael Wojcik Silver badge

        Re: "JetBrains' own developers are, well, developers"

        Aren't (at least a high proportion of) developers, particularly web devs, guilty of this themselves?

        Yes, but — importantly — that's generally in software that they don't have to use themselves. Who cares what you do to your users? In JetBrains' case, it's developer tools we're talking about. They're shitting where they eat.

    2. Anonymous Coward
      Anonymous Coward

      Re: "JetBrains' own developers are, well, developers"

      Tell me about it. Our C-suite occupants are working themselves into a froth pledging their undying fealty to "AI". Fortunately I've not had to take a stand against that rubbish yet, and I'll soon be out of this particular organization.

      I dunno, maybe they're sad that they missed out on the enormous success of blockchain and web3. Oh, wait.

      1. Someone Else Silver badge
        Coffee/keyboard

        Re: "JetBrains' own developers are, well, developers"

        I dunno, maybe they're sad that they missed out on the enormous success of blockchain and web3. Oh, wait.

        Stop it! Now! - - - - >

    3. Paul 195
      Headmaster

      Re: "JetBrains' own developers are, well, developers"

      I've been a developer working for a software vendor producing IDEs (it wasn't Jetbrains BTW). And I've also spent the last few years as a consultant developer working with enterprises to produce the sort of business software that the world runs on.

      Those two groups developers view the world through very different lenses. The developers in the first group are smart talented people who like to do interesting things and are always trying to find ways to make their product better. But they live in an ivory tower, they aren't allowed to meet customers often, and sometimes they can run off in weird directions. The second group of developers have a mess of bureaucracy, process, and governance to deal with. Their world is very different.

      To the first group of devs, sticking a bit of AI in there gives them fun work to do, and they think of all the ways it might make their own job easier.

      For the second group of devs, as the article points out, the AI is a potential governance nightmare.

      All I'm saying is, don't just blame management for this one.

  2. Spongibrain

    Its not on by default

    Its not 'on by default' though

    for the simple reason that they want you to take out a seperate subscription to access their AI goo.

    and is quite easy to disable.

    I appreciate the

    > Why is it bundled and therefore impossible to uninstall

    criticism, but that is a much softer problem than having this thing comandeer your auto-complete without so much as a by-your-leave

    1. b0llchit Silver badge

      Re: Its not on by default

      This is quite a different case than the seat heaters that only turn on when you pay a subscription.

      Including this code is a risk. It is a risk many can't or do not want to take. Seat heaters may just create a very hot bum. Code fail can kill your company.

    2. Missing Semicolon Silver badge

      Re: Its not on by default

      The problem is that we also don't know where it gets its training data from, and is it collecting, even if I am not using it? I should not have to trust in vague assurances.

      We know that the marketers thought they could make money out of this thing by getting devs to use it without thinking, and so make it a sticky feature that people will then pay for.

    3. sarusa Silver badge
      Devil

      Re: Its not on by default

      That's only if you trust the word of a company that was evil enough to put this in their code in the first place without warning and without a 'no, out entirely!' option. The obvious concern is that it's snaffling all your code and sending it back to JB to further train their LLM and there's something entirely misleading in the EULA that lets them do this with impunity.

      And then of course there are the other concerns given by the author. I have yet to see any substantial AI generated code that was error free. It can barely handle a single line at a time - and those are hit and miss, waste just as much time as they save. Because the AI does not, can not, understand what you are trying to do with the code. It does not understand the constraints, the desires, the engineering tradeoffs. I mean, I trust it could probably write a bubble sort, but I don't need AI to do that even if I wanted it to. I have seen things where someone eventually managed to cajole ChatGPT into writing some working code blocks, but they were basically toys and stolen wholesale from Github checkins.

  3. yogidude

    Repeatable patterns

    It's not just devs producing code who might use AI tools. When your handy LLM produces code it will have a kind of fingerprint, characteristic of the model that produced it. It will be repeatable, there won't be the entropy associated with a random factor like a dev headache, or a deadline, or a personality quirk. The structure of data and objects will likely have the common characteristics of model that produced it. For the people that want to unwind that code creation process to study its weaknesses, this kind of information is very useful. Just like the way a compiler organises code into a predictable, familiar executable format. If anyone can access the same code generation tools as the "bank" did because they used "open" AI, then their code patterns will not be private. It will make hacking their code that much easier. The information on exactly whose AI was used and which version will become a new source of income for vendors on the tor network.

    1. fajensen
      Trollface

      Re: Repeatable patterns

      The structure of data and objects will likely have the common characteristics of model that produced it.

      Like Stackoverflow.com?

      1. yogidude

        Re: Repeatable patterns

        Stackoverflow content is generated by people. It has lots of human entropy in its raw form. The whole idea of machine learning prediction is to create a model which outputs one statistically valid central value. So it takes all those stack overflow 'answers' and aggregates them. The AI doesn't give you all the stack overflow answers that it was trained on which match the coding parameters you give it. It gives you one answer.

        So AI will generate way more predictable code than a bunch of people using stack overflow would. This plays into the hands of people who get a benefit from predictable patterns. Like the people who (legally or not) step through binary execution in a debugger to figure out where the creds are cached, for example.

        1. Michael Wojcik Silver badge

          Re: Repeatable patterns

          Yes, but if a thousand developers copy and paste the sample code from the same SO post into a thousand applications, then you'll have that same code in many places. And that's certainly a way we can get widespread identical vulnerabilities.

  4. Sceptic Tank Silver badge
    Flame

    JetBrAIns drinking from the fAIre hAIdrant

    This is just an incarnation of the phenomenon in dev shops where some jet brain wanted to learn some weird or wonderful technology and then implemented a solution that looks like they're whacking a mosquito with the help of a large demolition crew.

  5. Howard Sway Silver badge

    Software Development != Coding

    As someone who has been doing this for rather a long time, the reason I see these AI assistants as little more than a gimmick is that the most important parts of the job of being a software developer are problem analysis and solution design. These are as vital to the big things like overall system design as they are to implementation of small features if you want to end up with coherent systems.

    An "AI assistant" knows nothing about these things, and exists at the same level of people who think developers are just code monkeys, that do nothing more than spit out trivial small functions to order. Anybody that's worked at a place where that mentality has taken root will have tales to tell about how systems gradually became a mass of incoherent code full of workarounds that were needed because of previous workarounds, that were no pleasure to work on at all.

    To a real software developer, coding is the least difficult part of the job, a trivial translation of their understanding of the problem into instructions for moving bits around inside the machine. It's as if engineers who design skyscrapers were being told that their jobs were going to improved, or even replaced, because somebody has invented a "magic spanner".

    1. DanielsLateToTheParty

      Re: Software Development != Coding

      In a typical day I spend perhaps a few minutes typing code, and hours reading others' bad code trying to work out why mine has failed, or finding a convenient point to make alterations. Then hours more devising test cases to find out why it's still not working. Such is development.

      A parallel can be seen with 3D printers. The machine is unaware of what is really happening in it's print area and just spits out hot plastic that should be a facsimile of the designer's idea. In reality mistakes happen and layers separate, or the nozzle gets clogged, or something warps because the temperature is wrong, or the base unsticks, or the stepper motors misalign, etc. The printer cannot see problems so cannot rectify them. It has no context on which to work so cannot incorporate real world elements (except for explicitly being made to stop part way so as to allow human intervention). Anecdotally users say that even after a successful job, clearing up the messes and supports and so on take as long as doing the work yourself. When 3D printing was a brand new fad people thought that they would take over the world of manufacturing, every home would have one and Star Trek replicators would become ordinary. What actually happened is they have become a niche tool which fits in some workshops for those professionals who have time and reason enough to master them. My prediction is AI will eventually go that way. When the hype dies down we'll be able to say I told you so to nobody in particular.

      1. Mike 137 Silver badge

        Re: Software Development != Coding

        "It has no context on which to work so cannot incorporate real world elements (except for explicitly being made to stop part way so as to allow human intervention)"

        A very valid argument, which goes right back to the roots of machine intervention. A wood turner I know pointed out once that a motor driven lathe takes away the sense of whether the work piece is cutting cleanly, as it drives it regardless of things like tool blunting, leading to reject work pieces. A treadle driven lathe turner finds out very quickly by feel whether the tool is sufficiently sharp, well before the work piece is spoilt.

        In the same way, even where motor drive is unavoidable as in metal machining, a skilled operator can detect whether the cut is going well by a combination of sound and the appearance of the swarf, whereas a CNC machine will just barge on regardless. So in both cases (and many others) we sacrifice quality for convenience by automating.

      2. fajensen

        Re: Software Development != Coding

        I think you are underestimating.

        The ChatGPT / Grimoire of today is smart enough to read the PDF-datasheet for a part, like an ADC converter, and from that it can produce Python (or C) code to set up the part's registers so that the part is configured. The typical mistakes is that sometimes it will get the lsb/msb-order wrong and sometimes it will miss that there is a specific ordering of the steps to be performed. This means that instead of spending hours reading a PDF, one can get something going well enough to begin debugging on it in one session, with time for coffee,

        I think AI is at the "Widely Affordable Tools Turning Rooms Full of Drafters and Tools Into a Couple of People in a Converted Barn"-stage. There will be tonnes of projects getting done because now the niches, and small-scale, becomes possible.

        Eventually "capital" will slurp it all up and turn it beige, because "capital" always wins.

      3. deadlockvictim

        Re: Software Development != Coding

        On 3D printers, I'm waiting for three things:

        1. A company like Apple to produce an appliance that's reasonably small, easy & intuitive to use (not that Apple products have been either of these things for quite a while now);

        2. An easy to access library that is complete with files for anything I might ever want. To be fair, Thingiverse is heading that way;

        3. More support of different plastics, which many already support;

        While it's nice to be able to design things yourself and then print it out, I want it primarily to replace parts that would cost me a fortune to get from the manufacturer/tradesman, that would make me wait 6 weeks to arrive or, most likely, is no longer available.

        To use the peripheral metaphor, I feel like as if we are still in the 1990s when it comes to printers, scanners and the like. They are pricey but getting cheaper. Colour was available, but... One could combine scanners to printers, but... Nowadays, there are easy to use MFPs, which while still a pain in the arse in some regards, are what I wanted back in 1995: a network-attached, colour 600-dpi laser-printer with scanner for €300.

    2. CowHorseFrog Silver badge

      Re: Software Development != Coding

      The REAL problem is the people who dont understand the concept of context you summarised are also often the same people running the company.

      1. Lurko

        Re: Software Development != Coding

        Don't forget the deep pockets of software vendors and consultants who are peddling AI as the latest corporate crack. Who has the ear of the C-suite at your company? You, or a salesman wearing an expensive suit, with an expenses budget almost as large as his vanity? And when the sycophants peddle some shitty, criminally dishonest study claiming 45% improvement in worker productivity, are the execs going to ask anybody who knows about either IT or research methods whether this study is meaningful?

        The bigwigs have been suckers for ridiculous ideas since the Emperor's New Clothes (which dates back to at least the early 1300s in Europe, and a similar story can be traced back to 1052 in India, so it isn't going to change any time soon. All of which means that all of us (devs, or those of us in other areas) are going to have AI shoved down our throats regardless of the consequences.

        1. CowHorseFrog Silver badge

          Re: Software Development != Coding

          If theres advertising or salespeople involved you can be sure the only truth is they are all liars and peddling lies.

          lurko: The bigwigs have been suckers for ridiculous ideas since the Emperor's New Clothes (which dates back to at least the early 1300s in Europe, and a similar story can be traced back to 1052 in India, so it isn't going to change any time soon. All of which means that all of us (devs, or those of us in other areas) are going to have AI shoved down our throats regardless of the consequences.

          cow: Not really...

          This is simply managers who having a clue which is all of them, trying to appear they are relevant. Happens all the time, in my old city, everytime tehres a new head of trains, they change the colours or logo or stupid shit that doesnt actually make the trains better. THis is another one of them.

    3. doublelayer Silver badge

      Re: Software Development != Coding

      "To a real software developer, coding is the least difficult part of the job, a trivial translation of their understanding of the problem into instructions for moving bits around inside the machine."

      Exactly right. The coding part can take a while, but usually because something went wrong in the conceptualizing part or because some system interaction doesn't work the way that was assumed or would be best. A good programming group probably spends longer figuring out what they're going to write than writing it.

      Similar to your observation about writing simple functions, another red flag in programming jobs I've seen is when people are expected to start writing code as soon as they get a task. A good programmer is told to figure out the problem and design a solution first. That design doesn't necessarily have to get reviewed, but if you just start writing, the first version that works will have something wrong with them which will either need replacement or will get released and cause a problem in a few months.

      1. Falmari Silver badge

        Re: Software Development != Coding

        @doublelayer "another red flag in programming jobs I've seen is when people are expected to start writing code as soon as they get a task".

        Luckily, I have never worked anywhere where I have been required to do that, because that’s a skill I do not possess. I am unable to start writing code, until I know what the code should do and the way in which it will do it.

        I first need to understand the problem so I can design a solution. Because without a design I haven’t a clue where to start when it comes to coding.

        1. claimed Silver badge
          Joke

          Re: Software Development != Coding

          GOTO Hello World

        2. doublelayer Silver badge

          Re: Software Development != Coding

          There are various levels of this, and it doesn't always sail under that exact flag. For example, though I've managed to avoid the worst of it (see the comment below this thread for an example of that, I have had to work in a place like this. The way it worked there: the people who wrote the tasks would write a summary of what they intended which would usually be one to four sentences. It was assumed that the design summarized, if I'm being very charitable, there was what needed to be written, and it was then assigned to someone. If it was the original creator of the idea, no problem, as they already knew what and why. If that person was busy and it landed on you, who knows. You were permitted two hours to ask questions and encouraged to do so, but sometimes those questions would be directed to a different team and would sound too much like "I see you'd like to do X. Why do you want that" and the answers sometimes started with "I didn't suggest it and I don't know why". If you were still trying to figure this out later, then you would get questions about why you hadn't just written it yet.

      2. DexterWard

        Re: Software Development != Coding

        I recall in one job being hassled by a manager for not having started writing code for a project for which the customer had not yet provided any requirements. There was however a penalty clause in the contract for being late; but apparently not a clause saying the contract didn’t start until the customer actually said what they wanted.

        Apparently the sales team had done all the hard work and got the sale, and now it was engineering holding things up by wanting to know what they were supposed to do.

        1. ecofeco Silver badge

          Re: Software Development != Coding

          Many of us here can relate to THAT!

    4. Herring` Silver badge

      Re: Software Development != Coding

      There is also the point of what to develop. Years ago people would be saying "one day we'll just be able to tell the computer what to do in English". That ignores the vast amount of work involved in getting users to specify what exactly it is that they do want the system to do.

  6. RichardBarrell

    In my experience JetBrains have some unusual perceptual gaps, generally. One that I've run into is that none of them apparently use multiple monitors because they are incapable of reproducing or fixing bugs that only manifest when you have two screens plugged in.

  7. Cloudseer

    There’s nothing substantial here and no one links to jetbrains responses that explain how the product works only with subscription, works on device and your code isn’t used for training.

    1. Sora2566 Bronze badge

      -installs AI on your computer without you asking-

      "Oh don't worry, the AI doesn't *do* anything until you turn it on, honest."

      *Then why did you install it on my computer without me asking*

      1. Ashentaine
        Terminator

        Exactly. If there isn't a specific reason for it to be there, and I didn't request for it to be put there, then it shouldn't be there to begin with.

        At best it's just wasting storage space going unused, at worst someone who shouldn't be messing with it WILL mess with it and cause a real problem.

  8. Old Man Ted

    AI tells all in the title

    I want something which is real be it:a life, food, a car, a conversation, a partner, a chair, or anything . the REAL thing not some fairy tale. This fixation with artificial things is beyond this Old codger.

    Us pre atomic generation have seen so many artificial things in our lives. The Real thing is what is needed. This should apply to Intelligence first if one desires a life, food, brains the rest is all real an imagination is what is required for to live in a world of artificial intelligence.

  9. jmch Silver badge

    Creeping Featurism

    Reminds me of the thinking that leads to this....

    https://youtu.be/Pw9gaEiQAxY

  10. ecofeco Silver badge
    Mushroom

    AI Agile Scrum Waterfall Kanban?

    What could go wrong?

  11. froggreatest

    it just does not work

    Regardless if it is InteeliJ or some other IDE like VSCode this is nothing new. The ML was there for quite some time helping us with autocomplete and other little bits that make your typing work 1% easier. The big problem I find with the current wave of these integrations is that they do not work well with simple stuff like writing a dot after some variable and then waiting to get a list of public methods but instead getting a suggestion to write 77 lines of unrelated code.

    The correctness argument is spot on. The suggestions require you to spend more time auditing, which is OK if you were writing it, but younger folks just trust it blindly.

  12. imanidiot Silver badge

    "It is so widespread and long-running that it should have its own name"

    While it covers a broader process/process I would put it under the banner of Enshitification.

  13. BizPro

    I was a management/business consultant specializing in operations improvement - the “do more with less” guy, using whatever the client already had. When it came to improvement solutions that involved a new or modified software component, I learned the following:

    1. You cannot automate that which you don’t do (and do well) manually. Cf, comments above about treadle-driven wood turning, or pretty much any software development project. Why don’t they know what they want? Because they’ve never done it before in any way/shape/form (MRP2 anyone??). Which leads to point 2.

    2. Software development is often more like R&D than manufacturing. Business requirements are fuzzy, ill-defined, or of the kitchen sink variety. Why? Because at the outset there’s no real definition of functional requirements, only a vague sense that some sort of software application should be able to do the job.

    3. The comment about AI being no more consequential to a real developer than a wrench is to structural engineer was fun to read. At least until AGI comes in and takes over all the work you used to do as a structural engineer. Then the only job you’ll be able to get as a structural engineer will be the one that actually needs to use a wrench. At least that’s something. In this way, AI and devs are going to have a very different relationship, I think.

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

Other stories you might like