• dependencyinjection@discuss.tchncs.de
    link
    fedilink
    arrow-up
    8
    arrow-down
    10
    ·
    edit-2
    14 hours ago

    It’s made me a 10x developer.

    As someone who transitioned form Junior to Dev as we embraced LLMs. Our company saved that much time that we all got a pay rise with a reduction in hours to boot.

    Sick of all this anti LLM rhetoric when it’s a tool to aid you. People out here thinking we just ask ChatGPT and copy and paste. Which isn’t the case at all.

    It helps you understand topics much quicker, can review code, read documentation, etc.

    My boss is the smartest person I’ve ever met in my life and has an insane cv in the dev and open source world. If he is happy to integrate it in our work then I’m fine with it. After all we run a highly successful business with many high profile clients.

    Edit: love the downvotes that don’t explain themselves. Like I’m not earning more money for doing less hours and productivity has increased. Feel like many of the haters of LLMs don’t even work in the bloody industry. 😂

    • ThirdConsul@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      Man, I wish LLMs were more useful to me than line completion tool we already had in normal languages in normal IDEs.

      So far everything I’ve seen it do even with agentic approaches, is just not covering my use cases.

      At best I can have it generate some correct-ish terraform boilerplate. Or writing mediocre code in languages I have to use once in blue moon, that I still then have to correct. Cursorrules are meh.

      Me: fintech, 15y of exp.

      On the other hand I can imagine it creating some bullshit boilerplate in companies that require bullshit boilerplate.

      Btw I don’t think code throughput is what distinguished Junior from Dev. I rather think it’s realizing the steep decline in “Doner-Kebab” effect :)

      • dependencyinjection@discuss.tchncs.de
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        42 minutes ago

        I don’t have this experience really. So at home I used it to help me setup my docker based media server, but the key is I’ve done it before and it was to save me from Google hell and reading docs. Works like a charm now.

        At work, as I said earlier my boss is like a savant, and did great open source work on BSD back in day. The tool he built for us which uses LLM is more boilerplate based.

        So we have conventions as we make enterprise software. So when we add a new model in C# we are going to create the same missions and queries every time. We are also going to use the same structure for the GraphQL layer and again a lot of the same routes for Typescript react. For instance if we have a new model for TransactionType, the we need an admin screen for listing these, editing/creating one and deleting (which shocking for me is just Archived = 1).

        So now I add the model and the fields and the OnModelCreating rules. I then hit generate and everything else is done. We also using caching to avoid hitting the LLM again if nothing has changed. This alone saves an hour or so for every model we create. If a project has 33 models that’s over a weeks dev time saved. I just need to run the app to get the schema and copy it over and run GraphQL to generate types. Now don’t get me wrong sometimes it shits the bed and we just run it again. For instance it will regularly just fail on the db table def file(forget the file name now ).

        Then there is the simple time saving stuff. Like we use useMemo a hell of a lot. So if we have a Client dropdown and a Campaign drop down and I want to filter the Campaigns based on Campaign.ClientId then sure I can write it every time, I can go grab it from another file. Or I can write a comment like // Filtered clients and boom it’s done and it’s done based no the current project and how we do things.

        The same for sorting things, sure I know how to sort arrays but why should I waste brain capacity on this when LLM is more than capable.

        Your last point is spot on and although it’s only been two years, this is something I am better at. I look back at old projects like man I was an idiot or naive back then.

        The same is true for actually taking a step back when getting data and planning for the futures as on my first project as it went to real world use it started getting progressively slower on certain screens as the data loaded was built with the dev environment in mind with no thought to 1 year down the line. So it’s not like LLMs are hindering my progress in these areas.

        I guess what I’m always trying to convey in these posts is that people are not out here asking an LLzm to do X and then just planting that in a project and leave it at that. If I don’t know how to do something, like recently I need to integrate an app with Sage using Intracct SDK and I have no fucking idea, so I’ll get the LLM to show me how do I get Reporting Periods, Nominals, Transactions etc. then I’ll use what I learn in a console app to play around and work on getting and setting data. Then I’m ready to implement into the product. My boss charges £2000-2500 an hour for his time so to not have to spend more time showing me how to do something he could whip up in an afternoon gives him time to work on the higher skill tasks and allows me to learn at a faster rate than I could before. Sure I could read the docs, but that’s what the LLM will do if you point it to them and it’s quicker than me and will frequently point out things I didn’t even consider.

        Then if I still don’t know whether I understand what it told me I’m speak with the boss and he’ll immediately say yeah that’s bang on or that’s one way but I would do this and then explain his reasoning. Like I can’t understate that this man is a damn savant and if he is happy to use LLMs as a tool then I have no grounds to object t as this guy is of the level he could build his own just for fun. Like many times I asked him stuff in passing and responses just blow me away and sometimes I just have to accept dude is way smarter than me and I’ll just never get certain concepts.

        Like I can’t understate ask something completely obscure about how operating systems are made and I’m getting a full lecture on how to build on os and how they work.

        Finally he’s also the nicest person I’ve Denver worked for. We come first work is second. He’s amazing with my neurodivergence and neuroticism, sickness etc. I have PTSD (hyperbole) from previous bosses that it still feels surreal when he always does the right thing.

        Edit: if this is effort to read then I’ve added a reply to it with it fixed by an LLM to be more coherent and palatable.

        • ThirdConsul@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          12 minutes ago

          Everything from this

          So we have conventions as we make enterprise software

          to this

          forget the file name now ).

          Is a convention based code generation. It’s older than my tenure, so it’s older than 15 years. Having convention-based code generation is something that you do as a part of DRY rule, so somewhere after you’ve noticed that you’ve done it three times. The real boom for it was when the current hype that was supposed to get rid of programming jobs were no-code/low-code solutions.

          Or I can write a comment like // Filtered clients

          This is either reusable code composition or again convention based code generation.

          The same for sorting things, sure I know how to sort arrays but why should I waste brain capacity on this when LLM is more than capable.

          This is DRY. Create once sortBy(x=> x.name) and then import it whenever you need it.

          . If I don’t know how to do something, like recently I need to integrate an app with Sage using Intracct SDK and I have no fucking idea, so I’ll get the LLM to show me how do I get Reporting Periods, Nominals, Transactions etc. then I’ll use what I learn in a console app to play around and work on getting and setting data. Then I’m ready to implement into the product.

          Fair. POC is the only part where I could maybe see some gain in my use cases.

          play around […] Then I’m ready to implement into the product.

          Be cautious about this approach though. Usually just playing with the thing will make you a beginner with it, so usually it’s a good approach to read the documentation/manual and see where the bodies are buried.

          My boss charges £2000-2500 an hour

          First class grifter, respect.

          Like many times I asked him stuff in passing and responses just blow me away and sometimes I just have to accept dude is way smarter than me and I’ll just never get certain concepts.

          To me that’s a sign of a bad teacher. He might be a very good engineer, but not being able to tailor your responses to your junior - to me shows a lack of leadership skills.

          Edit: if this is effort to read then I’ve added a reply to it with it fixed by an LLM to be more coherent and palatable

          Bejesus, man, I’m not stupid, don’t feed me slop. I care about you, not about the translator dumbing you down to be a palatable to mediocre people.

          • dependencyinjection@discuss.tchncs.de
            link
            fedilink
            arrow-up
            2
            ·
            7 minutes ago

            Painkillers have kicked in now, but I really do want to continue this discussion so I’ll make this as unread and respond tomorrow when I can give your reply the time it deserves and I can be somewhat coherent.

            I do apologise for the LLM version, it was in no way because I think you’re stupid and more because I know I have a tendency to digress and in the past that hasn’t been received well so my intention was to have something where the writing style isn’t going to turn people off from the thoughts I’m trying to convey.

            Have a nice evening and I’ll hit you with a reply tomorrow. 😊.

        • dependencyinjection@discuss.tchncs.de
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          23 minutes ago

          Here is a rewrite of this stream of consciousness that an LLM helped with which might be more palatable. I am neurodivergent and stream of consciousness is my bag, writing isn’t. So LLMs have massive utility for here.

          I get where you’re coming from, but honestly, that’s not been my experience at all. I’ve used LLMs both at home and at work, and while they’re not magic, they’re absolutely useful—especially if you already know what you’re doing and want to skip the repetitive or boilerplate stuff.

          At home, for example, I set up a Docker-based media server. I’ve done it before, but using the LLM meant I didn’t have to dive into docs or endless Google threads. It saved time and frustration.

          At work, we use an internal tool powered by an LLM to generate the standard boilerplate we always need in enterprise apps. So when we add a new model in C#, it auto-generates the typical queries, mutations, GraphQL setup, and React admin pages. Just saving that hour or so per model adds up—on a project with 30+ models, that’s a whole week of dev time. And since it caches results unless the model changes, it’s fast and reliable (though yeah, sometimes it messes up the DB table file and we rerun it).

          It’s also great for common patterns—like useMemo for filtering dropdowns in React. I can write it manually or copy it from somewhere else, but why not just add a comment like // filtered clients and let it handle it? Same with array sorting. I know how, but my time is better spent on the harder stuff.

          And that’s the key point: LLMs free up brain space. They don’t replace learning or experience. I had to integrate with Sage using the Intacct SDK recently—had no clue where to start. The LLM helped me explore the API, figure out how to get Reporting Periods, Nominals, etc., and build a small test app. Once I understood it, then I integrated it into the product.

          It accelerates my learning, and my boss—who is ridiculously smart and built this whole system—can spend his time on the harder problems instead of walking me through step-by-step. Even he uses LLMs, and if someone of his calibre is doing that, I see no reason not to.

          LLMs aren’t doing the work for me. They’re just making me more efficient, especially on the stuff I already know how to do. And they help me ramp up quicker when learning something new.

    • burlemarx@lemmygrad.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      5 hours ago

      I am not anti-AI or something like it and I use AI on a daily basis. If you work on a domain where there’s plenty code written for it or documentation, AI acts like a very efficient search tool. It does not replace traditional documentation or stack overflow, but it significantly reduces the time I take searching for specific syntax, or an example of how to use a library, or how to use a specific feature or parameter of a library. Occasionally it gives me bad advice as well, such as doing something that results in low performance, low security, but then I can check the actual documentation and code to see the details. For code reviews, I think it’s only partially useful, while sometimes it spits something useful, most of the time it spits out bad or irrelevant advice that ends up polluting the code review screen for actual human devs trying to review the code. However, even with all the gains, which is kind of a mixed bag, I think it’s very unlikely AI will increase speed 10 fold. At best, it will be like a 25% improvement at best, and only specific to some times in the project lifecycle, and most of the gains only happen when you are dealing with generating boilerplate code and adding non business-specific functionality. Most of the time I had to maintain existing code, debug existing functionality and fix some security flaws, AI didn’t help me at all.