These last ten years I was really enjoying what Microsoft and its .NET teams were doing. Felt like a good community to be a part of. Huge strides to make things run anywhere and be more involved with the open source community.

While that hasn’t necessarily gone away, jamming LLM’s into everything is leaving a real sour taste. Pointless copilot button anywhere and everywhere. VS and VSCode pushing the GitHub copilot chats and agents.

We are quickly back to the corporate MSFT that doesn’t listen to its users or employees. All that good will has been washed away and now I feel the need to switch off of Windows.

  • pixxelkick@lemmy.world
    link
    fedilink
    arrow-up
    7
    arrow-down
    10
    ·
    2 days ago

    Meanwhile everyone I work with is loving the smooth copilot integration with vscode.

    Its so good at automating boilerplate stuff.

    Especially testing, oh god does it make writing tests faster. I just tell it the scenarios that have to be tested and boom, 1000 lines of boilerplate produced in like 5 minutes.

    And when it has existing code to use as a reference on how to do it right, it does a very solid job, especially repetitive stuff like tests, since usually 95% of the code in a test is just arranging and boilerplate setting up the scenario.

    Also “hey go add xml docs to all the new public functions and types we made” and it just goes and does it, love that lol

    Once you acknowledge like 90% of your code is boilerplate and sonnet/opus are extremely capable at handling that stuff when they have existing references to go off of, you can just focus on the remaining 10% of “real” work.

    • Corngood@lemmy.ml
      link
      fedilink
      arrow-up
      7
      ·
      2 days ago

      Why is everyone okay with boilerplate? Did we forget what programming languages are supposed to do?

      You still have to maintain that code.

      • pixxelkick@lemmy.world
        link
        fedilink
        arrow-up
        4
        arrow-down
        3
        ·
        2 days ago

        Theres a fundamental minimum amount of boilerplate you just have to write to make a functioning app, even if its simply just describing “this thing does this”

        For example, if Im making a web api, theres just fundamentally a chunk of boilerplate that wires up “This http endpoint points to this domain logic over here”

        And then theres gonna be some form of pre-amble of describing “it takes in this input, it returns this response, and heres all its validation”

        And while its simple code, and its very simple to test, its still a buncha LOC that any half assed dev can write.

        Stuff like that AI can shit out very quick given an input requirements doc that you, the dev, were gonna get anyways

        And then you, the dev, can fill in the actual logic that matters after all that basic boilerplate stuff.

        “Yes, it has a phone number input, its required, and it must fit the phone number regex we defined. So… shocker, you gotta put a string called PhoneNumber on the inptu model, and another shocker, its gotta have the phone number validation on it and required non empty string validation on it”

        It doesnt take much trust to put into the LLM to get that sorta stuff right, but it saves me a whole bunch of time.

    • edm@thelemmy.clubOP
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      2 days ago

      Yea I am not saying the tools are bad. Also use Claude mostly via our internal corporate tooling to do initial generation of things like unit tests and it helps sketch and brainstorm.

      I will say it is crazy the amount of trust people/companies are putting in the tools though. It can and will make up straight lies out of thin air. At least with code things don’t compile which helps a bit. Even then, have been watching a few MSFT repo’s and they have devs just blanket approving copilot generated PR’s that have bugs and breaking changes.

      The tools are great, but they aren’t an excuse to be lazy. And they aren’t a replacement for that last 10% like you said, still need devs and real human problem solving.

      • pixxelkick@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        2 days ago

        Yeah, and it moreso moves a lot of your work over to other important stuff.

        Namely, planning things better, reading, documenting, and coming up with more specific scenarios to test.

        Before, because Id spend an extra chunk of my time on that 90%, maybe my documenting would be mid at best, stuff would slip through, my pile of “I prolly should get around to documenting that stuff” keeps growing and growing.

        And then while maybe I can vaguely think “yeah I bet theres edge cases for this stuff I didnt make tests for”, its followed by “But I dont got time for that shit, I have to have this done by end of day”

        Meanwhile with LLMs, I can set it off to cook on that 90% chunk of work, and while it’s cooking I can chat with another LLM instance and back-and-forth iterate on “what are some possible gotchas in this logic, what are edge case scenarios to test?” and by the time the agent finished coding, I have like 20 edge case test to copy paste over to it “Hey, make tests for all these cases, make sure those all work as expected <big copy paste of scenarios and expected outcomes>”

        It shifts my focus over from just monkey work to stuff that matters more, finding and poking holes in the code, trying to break it, making sure it withstands stress and edge cases, and finding possible gaps and flaws in it.

        When you focus like that, you definitely become way more productive.

        As opposed to people who just give up and, yeah as you said, just are lazy, they hand off the work to the LLM but arent making up for that by redirecting the energy to other places of value, they’re gonna go, I dunno, run a raid in WoW or something fuck knows.

    • iamtherealwalrus@lemmy.world
      link
      fedilink
      arrow-up
      4
      arrow-down
      2
      ·
      2 days ago

      That 10% is ideally “creating value” for the customer. Boilerplate code is not value, therefore outsource it to LLMs.

      • pixxelkick@lemmy.world
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        2 days ago

        Pretty much, its the actually important code you wanna pay attention to.

        The majority of code is just connecting pipe A up to pipe B, its honestly fine for an LLM to handle.

        The job security comes from, as a developer, knowing which code goes in the 90% bin vs which goes in the 10% bin, being able to tell the difference is part of the job now.