Skip to content

AI slows down some experienced software developers, study finds

Technology
127 54 25
  • That's happening right now. I have a few friends who are looking for entry-level jobs and they find none.

    It really sucks.

    That said, the future lack of developers is a corporate problem, not a problem for developers. For us it just means that we'll earn a lot more in a few years.

    Only if you are able to get that experience though.

  • They wanted someone with experience, who can hit the ground running, but didn't want to pay for it, either with cash or time.

    • cheap
    • quick
    • experience

    You can only pick two.

    I know which 2 I am in my current role and I don't know if I like it or not. At least I don't have to try very hard.

  • Not really.

    Linter in the build pipeline is generally not useful because most people won’t give results time or priority. You usually can’t fail the build for lint issues so all it does is fill logs. I usually configure a linter and prettifier in a precommit hook, to shift that left. People are more willing to fix their code in small pieces as they try to commit.

    But this is also why SonarQube is a key tool. The scanners are lint-like, and you can even import some lint output. But the important part is it tries to prioritize them, score them, and enforce a quality gate based on them. I usually can’t fail a build for lint errors but SonarQube can if there are too many or too priority, or if they are security related.

    But this is not the same as a code review. If an ai can use the code base as context, it should be able to add checks for consistency and maintainability similar to the rest of the code. For example I had a junior developer blindly follow the AI to use a different mocking framework than the rest of the code, for no reason other than it may have been more common in the training data. A code review ai should be able to notice that. Maybe this is too advanced for current ai, but the same guy blindly followed ai to add classes that already existed. They were just different enough that SonarQube didn’t flag is as duplicate code but ai ought to be able to summarize functionality and realize they were the same. Or I wonder if ai could do code organization? Junior guys spew classes and methods everywhere without any effort in organizing like with like, so someone can maintain it all. Or how about style? I hope yo never revisit style wars but when you’re modifying code you really need to follow style and naming of what’s already there. Maybe ai code review can pick up on that

    Yeah, I’ve added AI to my review process. Sure, things take a bit longer, but the end result has been reviewed by me AND compared against a large body of code in the training data.

    It regularly catches stuff I miss or ignore on a first review based on ignoring context that shouldn’t matter (eg, how reliable the person is who wrote the code).

  • Who says I made my webapp with ChatGPT in an afternoon?

    I built it iteratively using ChatGPT, much like any other application. I started with the scaffolding and then slowly added more and more features over time, just like I would have done had I not used any AI at all.

    Like everybody knows, Rome wasn't built in a day.

    So you treated it like a junior developer and did a thorough review of its output.

    I think the only disagreement here is on the semantics.

  • It may also be self fulfilling. Our new ceo said all upcoming projects must save 15% using ai, and while we’re still hiring it’s only in India.

    So 6 months from now we will have status reports talking about how we saved 15% in every project

    And those status reports will be generated by AI, because that’s where the real savings is.

  • Explain this too me AI. Reads back exactly what's on the screen including comments somehow with more words but less information
    Ok....

    Ok, this is tricky. AI, can you do this refactoring so I don't have to keep track of everything. No... Thats all wrong... Yeah I know it's complicated, that's why I wanted it refactored. No you can't do that... fuck now I can either toss all your changes and do it myself or spend the next 3 hours rewriting it.

    Yeah I struggle to find how anyone finds this garbage useful.

    If you give it the right task, it’s super helpful. But you can’t ask it to write anything with any real complexity.

    Where it thrives is being given pseudo code for something simple and asking for the specific language code for it. Or translate between two languages.

    That’s… about it. And even that it fucks up.

  • If you give it the right task, it’s super helpful. But you can’t ask it to write anything with any real complexity.

    Where it thrives is being given pseudo code for something simple and asking for the specific language code for it. Or translate between two languages.

    That’s… about it. And even that it fucks up.

    I bet it slows down the idiot software developers more than anything.

    Everything can be broken into smaller easily defined chunks and for that AI is amazing.

    Give me a function in Python that if I provide it a string of XYZ it will provide me an array of ABC.

    The trick is knowing how it fits in your larger codebase. That's where your developer skill is. It's no different now than it was when coding was offshored to India. We replaced Ravinder with ChatGPT.

    Edit - what I hate about AI is the blatant lying. I asked it for some ServiceNow code Friday and it told me to use the sys_audit_report table which doesn't exist. I told it so and then it gave me the sys_audit table.

    The future will be those who are smart enough to know when AI is lying and know how to fix it when it is. Ideally you are using AI for code you can do, you just don't want to. At least that's my experience. In that, it's invaluable.

  • This post did not contain any content.

    I work for an adtech company and im pretty much the only developer for the javascript library that runs on client sites and shows our ads. I dont use AI at all because it keeps generating crap

  • So you treated it like a junior developer and did a thorough review of its output.

    I think the only disagreement here is on the semantics.

    Sure, but it still built out a full-featured webapp, not just a bit of greenfielding here or there.

  • Explain this too me AI. Reads back exactly what's on the screen including comments somehow with more words but less information
    Ok....

    Ok, this is tricky. AI, can you do this refactoring so I don't have to keep track of everything. No... Thats all wrong... Yeah I know it's complicated, that's why I wanted it refactored. No you can't do that... fuck now I can either toss all your changes and do it myself or spend the next 3 hours rewriting it.

    Yeah I struggle to find how anyone finds this garbage useful.

    This was the case a year or two ago but now if you have an MCP server for docs and your project and goals outlined properly it's pretty good.

  • Same. I also like it for basic research and helping with syntax for obscure SQL queries, but coding hasn't worked very well. One of my less technical coworkers tried to vibe code something and it didn't work well. Maybe it would do okay on something routine, but generally speaking it would probably be better to use a library for that anyway.

    I actively hate the term "vibe coding." The fact is, while using an LLM for certain tasks is helpful, trying to build out an entire, production-ready application just by prompts is a huge waste of time and is guaranteed to produce garbage code.

    At some point, people like your coworker are going to have to look at the code and work on it, and if they don't know what they're doing, they'll fail.

    I commend them for giving it a shot, but I also commend them for recognizing it wasn't working.

  • I like the saying that LLMs are good at stuff you don’t know. That’s about it.

    FreedomAdvocate is right, IMO the best use case of ai is things you have an understanding of, but need some assistance. You need to understand enough to catch atleast impactful errors by the llm

  • Fun how the article concludes that AI tools are still good anyway, actually.

    This AI hype is a sickness

    LLMs are very good In the correct context, forcing people to use them for things they are already great at is not the correct context.

  • That's still not actually knowing anything. It's just temporarily adding more context to its model.

    And it's always very temporary. I have a yarn project I'm working on right now, and I used Copilot in VS Code in agent mode to scaffold it as an experiment. One of the refinements I included in the prompt file to build it is reminders throughout for things it wouldn't need reminding of if it actually "knew" the repo.

    • I had to constantly remind it that it's a yarn project, otherwise it would inevitably start trying to use NPM as it progressed through the prompt.
    • For some reason, when it's in agent mode and it makes a mistake, it wants to delete files it has fucked up, which always requires human intervention, so I peppered the prompt with reminders not to do that, but to blank the file out and start over in it.
    • The frontend of the project uses TailwindCSS. It could not remember not to keep trying to downgrade its configuration to an earlier version instead of using the current one, so I wrote the entire configuration for it by hand and inserted it into the prompt file. If I let it try to build the configuration itself, it would inevitably fuck it up and then say something completely false, like, "The version of TailwindCSS we're using is still in beta, let me try downgrading to the previous version."

    I'm not saying it wasn't helpful. It probably cut 20% off the time it would have taken me to scaffold out the app myself, which is significant. But it certainly couldn't keep track of the context provided by the repo, even though it was creating that context itself.

    Working with Copilot is like working with a very talented and fast junior developer whose methamphetamine addiction has been getting the better of it lately, and who has early onset dementia or a brain injury that destroyed their short-term memory.

    From the article: "Even after completing the tasks with AI, the developers believed that they had decreased task times by 20%. But the study found that using AI did the opposite: it increased task completion time by 19%."

    I'm not saying you didn't save time, but it's remarkable that the research shows that this perception can be false.

  • Most ides do the boring stuff with templates and code generation for like a decade so that's not so helpful to me either but if it works for you.

    Yeah but I find code generation stuff I've used in the past takes a significant amount of configuration, and will often generate a bunch of code I don't want it to, and not in the way I want it. Many times it's more trouble than it's worth. Having an LLM do it means I don't have to deal with configuring anything and it's generating code for the specific thing I want it to so I can quickly validate it did things right and make any additions I want because it's only generating the thing I'm working on that moment. Also it's the same tool for the various languages I'm using so that adds more convenience.

    Yeah if you have your IDE setup with tools to analyze the datasource and does what you want it to do, that may work better for you. But with the number of DBs I deal with, I'd be spending more time setting up code generation than actually writing code.

  • This was the case a year or two ago but now if you have an MCP server for docs and your project and goals outlined properly it's pretty good.

    Not to sound like one of the ads or articles but I vice coded an iOS app in like 6 hours, it's not so complex I don't understand it, it's multifeatured, I learned a LOT and got a useful thing instead of doing a tutorial with sample project. I don't regret having that tool. I do regret the lack of any control and oversight and public ownership of this technology but that's the timeline we're on, let's not pretend it's gay space communism (sigh) but, since AI is probably driving my medical care decisions at the insurance company level, might as well get something to play with.

  • They're also bad at that though, because if you don't know that stuff then you don't know if what it's telling you is right or wrong.

    I...think that's their point. The only reason it seems good is because you're bad and can't spot that is bad, too.

  • I have limited AI experience, but so far that's what it means to me as well: helpful in very limited circumstances.

    Mostly, I find it useful for "speaking new languages" - if I try to use AI to "help" with the stuff I have been doing daily for the past 20 years? Yeah, it's just slowing me down.

    and the only reason it's not slowing you down on other things is that you don't know enough about those other things to recognize all the stuff you need to fix

  • I actively hate the term "vibe coding." The fact is, while using an LLM for certain tasks is helpful, trying to build out an entire, production-ready application just by prompts is a huge waste of time and is guaranteed to produce garbage code.

    At some point, people like your coworker are going to have to look at the code and work on it, and if they don't know what they're doing, they'll fail.

    I commend them for giving it a shot, but I also commend them for recognizing it wasn't working.

    I think the term pretty accurately describes what is going on: they don't know how to code, but they do know what correct output for a given input looks like, so they iterate with the LLM until they get what they want. The coding here is based on vibes (does the output feel correct?) instead of logic.

    I don't think there's any problem with the term, the problem is with what's going on.

  • This post did not contain any content.

    Yeah... It's useful for summarizing searches but I'm tempted to disable it in VSCode because it's been getting in the way more than helping lately.

  • 8 Stimmen
    4 Beiträge
    37 Aufrufe
    N
    downvoted to hell
  • 337 Stimmen
    19 Beiträge
    109 Aufrufe
    R
    What I'm speaking about is that it should be impossible to do some things. If it's possible, they will be done, and there's nothing you can do about it. To solve the problem of twiddled social media (and moderation used to assert dominance) we need a decentralized system of 90s Web reimagined, and Fediverse doesn't deliver it - if Facebook and Reddit are feudal states, then Fediverse is a confederation of smaller feudal entities. A post, a person, a community, a reaction and a change (by moderator or by the user) should be global entities (with global identifiers, so that the object by id of #0000001a2b3c4d6e7f890 would be the same object today or 10 years later on every server storing it) replicated over a network of servers similarly to Usenet (and to an IRC network, but in an IRC network servers are trusted, so it's not a good example for a global system). Really bad posts (or those by persons with history of posting such) should be banned on server level by everyone. The rest should be moderated by moderator reactions\changes of certain type. Ideally, for pooling of resources and resilience, servers would be separated by types into storage nodes (I think the name says it, FTP servers can do the job, but no need to be limited by it), index nodes (scraping many storage nodes, giving out results in structured format fit for any user representation, say, as a sequence of posts in one community, or like a list of communities found by tag, or ... , and possibly being connected into one DHT for Kademlia-like search, since no single index node will have everything), and (like in torrents?) tracker nodes for these and for identities, I think torrent-like announce-retrieve service is enough - to return a list of storage nodes storing, say, a specified partition (subspace of identifiers of objects, to make looking for something at least possibly efficient), or return a list of index nodes, or return a bunch of certificates and keys for an identity (should be somehow cryptographically connected to the global identifier of a person). So when a storage node comes online, it announces itself to a bunch of such trackers, similarly with index nodes, similarly with a user. One can also have a NOSTR-like service for real-time notifications by users. This way you'd have a global untrusted pooled infrastructure, allowing to replace many platforms. With common data, identities, services. Objects in storage and index services can be, say, in a format including a set of tags and then the body. So a specific application needing to show only data related to it would just search on index services and display only objects with tags of, say, "holo_ns:talk.bullshit.starwars" and "holo_t:post", like a sequence of posts with ability to comment, or maybe it would search objects with tags "holo_name:My 1999-like Star Wars holopage" and "holo_t:page" and display the links like search results in Google, and then clicking on that you'd see something presented like a webpage, except links would lead to global identifiers (or tag expressions interpreted by the particular application, who knows). (An index service may return, say, an array of objects, each with identifier, tags, list of locations on storage nodes where it's found or even bittorrent magnet links, and a free description possibly ; then the user application can unify responses of a few such services to avoid repetitions, maybe sort them, represent them as needed, so on.) The user applications for that common infrastructure can be different at the same time. Some like Facebook, some like ICQ, some like a web browser, some like a newsreader. (Star Wars is not a random reference, my whole habit of imagining tech stuff is from trying to imagine a science fiction world of the future, so yeah, this may seem like passive dreaming and it is.)
  • 128 Stimmen
    5 Beiträge
    32 Aufrufe
    V
    a subtle edit resolving a duplicate reference in a way that removes displays from the list of parts that must be replaceable by a layperson with basic tools That's fucking significant change, considering probably even more smartphones become ewaste from cracked screens than anything else by a long shot...
  • Meta publishes V-Jepa 2 – an AI world model

    Technology technology
    3
    1
    9 Stimmen
    3 Beiträge
    29 Aufrufe
    K
    Yay more hype. Just what we needed more of, it's hype, at last
  • 137 Stimmen
    2 Beiträge
    24 Aufrufe
    treadful@lemmy.zipT
    https://archive.is/oTR8Q
  • The largest cryptocurrency money-laundering ring

    Technology technology
    26
    326 Stimmen
    26 Beiträge
    134 Aufrufe
    ulrich@feddit.orgU
    It has their name and where it came from so. Yes? That's not what I asked. Are you expecting people to direct link everything even when it is already atributed? I mean is that really too much to expect of people? To simply copy the link where they found the information and post it along with where they shared it?
  • 4 Stimmen
    12 Beiträge
    21 Aufrufe
    guydudeman@lemmy.worldG
    Yeah, I don’t know how they’re doing it. They’re using some “zero trust” system. It’s beyond me.
  • 1 Stimmen
    5 Beiträge
    31 Aufrufe
    A
    Turns out dry sarcasm doesn't come across well in text form, if only there was a way to indicate it