• jaybone@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      That’s how I read it.

      But “the industry” is also telling us, we should be using AI to write all of our test code. So why is this guy writing anything at all?

    • UnderpantsWeevil@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      “I use a hammer”

      “Well, I use a device that applies an enormous amount of pressure constrained to a very particular point in space”

      “How much does your device cost?”

      “$200/mo and the company loses money every time I swing it. You?”

      “$12 and I’ve had this thing for 20 years.”

  • jbrains@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I don’t know what those first two sentences are doing. This kind of thing is exactly what mesmerized young me and puts wise me off.

    One thing worse than appealing to authority is appealing to your own authority.

    • ViatorOmnium@piefed.social
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      No. Everyone in tech that’s not a mediocre tech bro has known Uncle Bob is an overrated quack for a long time.

        • lobut@lemmy.ca
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          He’s very popular, written several books and spoken at many events. Most notably he’s written Clean Code and the follow up I never bothered reading and he’s a die hard advocate of TDD and also one of the authors of the Agile Manifesto. I met him a few times after his talks.

          I generally “like” Uncle Bob or Robert C Martin insofar as he advocated for better software design and had some good ideas and all that. I personally hate TDD but when you talk to him and stuff, he’s more flexible and nuanced than he can come across. The problem is when he comes up with (or runs into) a new “philosophy” he becomes evangelical about it and it seems like he doesn’t have as much nuance. Sadly though, growing up with his fans in the software industry has been a pain because they’d hear something from him or Fowler or Beck or whoever and then try to reshape the codebase like typical Magpie Developers.

            • lad@programming.dev
              link
              fedilink
              English
              arrow-up
              0
              ·
              2 months ago

              I expected it to be a jest, but they look serious. It might even not be too bad of a language in other circumstances

          • Valmond@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            0
            ·
            2 months ago

            The agile manifesto, ugh. We’ve been through one like that every 5-10 years since forever (super programmers, team this, pair program that), and it’s all about managerial control, no one trusts the developer.

            Except in magic fairy land where “agility” is so productive etc.

          • queerlilhayseed@piefed.blahaj.zone
            link
            fedilink
            English
            arrow-up
            0
            ·
            2 months ago

            I haven’t read it in a while but I remember finding it very helpful. I think Martin is a guy who had a good idea and wrote a good book, and then everyone told him he was smart and right, and I think if that happens enough a person will start to believe it. Happens to a lot of people who “achieve success”, whether or not success is merited. Then he kept on saying things he thought and assumed he was smart and right, and some people kept listening because they liked Clean Code, and agreeing because so many other people said he was smart and right, and it snowballed.

            I think once you hit a certain level of intellectual celebrity you can sustain your own momentum without needing to understand or respond to criticism, and that’s how people who become famous, like Bob Martin, can turn out the way they do. It happens gradually, and then one day you look at the guy and think “What happened? Was he always like this?” and the answer is yes and no: yes they always said what they think, and no, they weren’t always trapped at the bottom of their own opinion gravity well, slowly becoming a caricature of themselves because their thoughts are no longer guided by the thoughts of their peers.

            • Feyd@programming.dev
              link
              fedilink
              arrow-up
              0
              ·
              2 months ago

              had a good idea and wrote a good book

              I read the book after asking some junior engineers why they kept insisting on breaking straightforward tasks that could be a single pure function into a web of stateful method calls and learned they were being recommended it by another senior dev.

              That book is one of the major contributors to the object oriented enterprise Java from the 90s that everyone universally loathes.

              I personally think this discussion is probably the greatest thing he had contributed to software engineering, and not because it puts him in a positive light. https://github.com/johnousterhout/aposd-vs-clean-code/blob/main/README.md

              • queerlilhayseed@piefed.blahaj.zone
                link
                fedilink
                English
                arrow-up
                0
                ·
                2 months ago

                Oh yeah, the “functions should be short” thing. I think it’s a truism in all fields that novices have to learn a rule before they learn how to recognize the nuances of the rule, and even the “does one thing” guide is hard to implement if you’re in a strict rule-following culture, as many coding shops are, especially for juniors.

                It is a big problem especially in enterprise code, where a failure to rule-follow can have severe consequences, and I think the way Martin addresses the problem of function length in Clean Code could stand to be improved upon. However, I think the nature of technical argument is to identify a problem (functions that bloat over time because people keep adding bits to it) and propose a solution (functions over X lines get scrutiny, functions with names like doXandY() get scrutiny, etc), and then the next step, as Ousterhout does in that interview, is to challenge and bring nuance to those proposals in the form of new solutions. The problem with Clean Code is not that the text is imperfect, but that the text was canonized as some kind of Coder’s Bible for a long time, and that prevented a lot of people from seeing or ingesting the criticism of those imperfections, so the imperfections become conventions with inertia that have to be uprooted painstakingly.

                Could that interview have happened a decade earlier? Yeah, I think it would have been helpful. Did such an interview happen earlier? I don’t know; my impression is that Martin did little to encourage criticism of his work, and I think that is a professional failing, but I’m also not a close Bob Martin watcher and if he had tried, genuinely tried, I’m not sure I would have seen it. I think wildly successful books often take on a life of their own that authors only partially control, and I have a hard time faulting Martin exclusively for every failure of nuance that was magnified alongside the beneficial parts of the book. I think a lot of Martin’s recommendations about how to analyze code for readability did more good than harm if for no other reason that they normalized discussions about how to evaluate the readability and maintainability of code and why it’s important instead of just focusing on whether or not the code “works correctly” in the moment. I still teach people to monitor their “WTFs per minute” as a heuristic for code quality; I find it very helpful for junior devs to identify both bad code and their own misunderstandings. I think critically analyzing names is excellent advice for all coders. I’m flipping through my own copy and the first thing I underlined back when was “Professionals use their powers for good and write code that others can understand.” I think that’s very good advice for new coders.

                Thanks for the link, by the way. I had never seen that before. I haven’t read the whole thing yet but it’s on the list. And I’m reading back through Clean Code for the first time in a long time.

                • Feyd@programming.dev
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  2 months ago

                  I could maybe give him some leeway if the examples in the book itself showed responsible code, but they simply do not

                • ThirdConsul@lemmy.zip
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  2 months ago

                  Pure function = no side effects, no internal state. If you run a pure function twice with the same input, it will give the same output.

                  Example of pure function

                  (a,b) => a+b
                  

                  Example of inpure function

                  let c;
                  
                  (a, b) => {
                     c++;
                     return a+b;
                  } 
                  
      • BradleyUffner@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 months ago

        I’ve got a co-worker that worships every word that falls out of Bob’s mouth hole. Nice guy, but not a good developer.

  • SinAdjetivos@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    People don’t want to hear it, but this should be more common practice especially for human written code, and it’s best if someone specializes in doing this sort of QA testing specifically.

  • MonkderVierte@lemmy.zip
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    Actually great. Boss with the LLM-shares is satisfied, because he met the quota. Customers are satisfied, because the code at least works.
    It might still not be efficient or maintainable, even have some in the tests unaccounted-for (because they’re ridiculous) errors. But aside from that…

  • MrKoyun@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    Does he think a single AI model, perhaps in the same instance, will start to get better when put through “hard testing” in his “gauntlet”?

  • Err(()).unwrap()@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    Sounds like a cryptobro peddling some shitcoin claiming that it’s impossible to get scammed because “code is law” four seconds before the liquidity pool gets drained through a vulnerability in the code.

  • HeartyOfGlass@piefed.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    “I stopped reading code because I was too busy writing a gauntlet of unit tests”

    Sounds like 100x productivity to me.

    Edit: also, general note - I think you kneecap your argument when you start with “I’m older than you”.

  • w33n1s@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 months ago

    Been coding for about 30 years now, am I the only one who still LIKES to code? Who still LIKES to try writing a new approach to something, watching it fail, figuring out what went wrong, taking notes, learning from mistakes, and noticing improvements in their own code? Cuz it’s starting to feel like it. Web development already lost me with the culture of “glue a bunch of bulky shit together that you didn’t write and call yourself a ‘dev’ to the ladies” but this AI shit is getting absurd. And it doesn’t even work! Look at how shitty all the operating systems are getting. Look at all the total slop on the app stores. It’s depressing as hell.

    • ramjambamalam@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      I too enjoy actually writing code. I feel fortunate that I was able to make a career out of something I enjoy so much. I am not sure that most people had that experience. Alas, it seems like the industry is paying me to set up guardrails and supervise AI agents. I am not sure how long this will last, but at least I know that I will always be able to enjoy programming as a hobby if nothing else.

      • w33n1s@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        I’m glad you have enjoyed it as a career. I never even tried – I have a dumb rule that I won’t do anything I truly love for work. I guess because I don’t want others ruining it. lol

      • thevoidzero@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        Yeah, I think it used to be like that, then because programming paid a lot everyone started wanting those jobs even if they didn’t like actual programming.

    • HopeOfTheGunblade@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      We need to build a culture that values process and making beautiful things for their own sake, not simply Pile Dollars Higher, which is killing the planet and making us all miserable.

      • Avicenna@programming.dev
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        That requires basically killing all major shareholders. They are the ones who enshittified and toxified the gaming industry, same applies to basically any industry they put their little grabby hands on.

        • architect@thelemmy.club
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          It was literally Epstein that started it lol. Since activation/blizzard were integral to his operation and learning psychology through gaming (funny to think the big gold seller in wow was Steve fucking bannon). This timeline can’t be real.

    • one_old_coder@piefed.social
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      I love coding and learning new languages. I’d rather move to another industry than reviewing vibe coded crap all day long.

    • abc@suppo.fi
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      ~25 years here and I started getting bored about 15 years ago.

    • 100_kg_90_de_belin@feddit.it
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I had the same problem with translating back in the day. I really liked tackling a text in a foreign language. In the end all the pros of computer-aided translation boiled down to lining the pockets of translation agencies with even more money while paying translators peanuts.

    • yermaw@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I never got round to doing it properly. Just simple stuff, but i get a little braingasm when it finally does what I want it to and I kind of understand why.

      Made a simple game last time, following tutorials and trying to stitch others code to cobble together roughly what im trying to do. Tested a new feature by having it change colour when you hit the object at certain angles. I forget what it was supposed to do, that was just to test the concept works.

      My wife couldn’t understand why I was jumping around the room shouting WOOOOO when it actually did it.

    • Jerkface (any/all)@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Of course many people like it. It’s literally a highly addictive loop. But when you are a senior developer on a team, it’s kind of a waste of resources for most projects. Writing code is not the hard part.

      • Hackerman_uwu@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        Scrolled way too far for a lucid take like yours.

        This seems to be a bit of an echochamber.

        I wish people would just be a little more honest. When they say “writing code” they actually mean hunting through stack overflow for bits of code you can string together. Take stack overflow out of the loop for argument sake. Your a unicorn information superhighway ninja. Snowcrash hasn’t left your bedside for decades. Mountain Dew and volt cans litter the floor space of your home …and you’re still just orchestrating a bunch of libraries you never saw the source code of.

        I think a lot of people built their identity on being coders and that’s why they hate where the industry is going.

    • MonkeMischief@lemmy.today
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      Right there with you. I suck at it but I still find the pursuit worthwhile!

      This crap is brought to you by the people who are positively baffled that someone would want to learn to make music, and enjoy the process, instead of just have it generated so they can hit “publish” and supposedly be making money off of it with zero real effort besides “having an idea.”

    • HerbGrower@slrpnk.net
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      Reject their web development culture and make your own sites that run smoothly on devices using a fraction of the bandwidth theirs do.

    • ItsMeForRealNow@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I also do. One unique important thing that agents rob you of is time with your code - you don’t get to craft it so you remember just as well as you would have if you copied answers for a test.

      • w33n1s@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        2 months ago

        That’s an excellent point. With my larger personal projects, which I have to put away for weeks at a time due to my (not-at-all-programming) job, I can come back and (more or less) dive right back in because I used patterns and organizational structures familiar to me. And if I’m digging into a particular thing, I can eventually remember all the trials and tribulations that went into the decisions I made to get to that point.

        With AI code you get none of that, like you said. I can’t imagine not knowing or understanding why something works the way it does, and releasing it, with my name on it, for others to use.

        • architect@thelemmy.club
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          All of the software I use is broken to shit. If major corps can release broken shit software to waste my time all day then seems like shipping broken code is actually the norm. So if it works then you are one step ahead regardless if you use ai or not.

          Also, as a pro artist (and you all are similar), no one gives a fucking shit about the tools or software or how much blood you spilled (or didn’t) making what you made as long as they can use it.

        • baltakatei@sopuli.xyz
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          Student: “Hey, thanks for the Bash script! It didn’t know you could use the mapfile built-in to populate an array using standard input lines without a while loop. mapfile -t my_array < <(seq 1 10) is really handy!”

          Vibe coding guru: “I have no idea what you’re talking about. That sounds like plumbing. You should let AI handle those details. Focus on the big picture.”

  • vrighter@discuss.tchncs.de
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    this guy has always struck me as a shitty coder. His “clean code” is the ugliest shit i ever saw. This confirms it.

  • nanometer1625@thelemmy.club
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I had a discussion with my boss today about potential ways to write code with AI and have confidence in the results without reviewing every line. You’d also have to automate the reviews in some way, and therefore also a way to confirm that the reviewer AIs are working properly, etc. The conversation discouraged me because it made me feel like I’ll end up being a manager of AIs who write the code and test cases, and I’ll just be an ape who manually tests some of the behavior before approving it for release. This is essentially what managers have been doing with human development and QA engineers in the past, but even so, I have a really hard time letting go and not reviewing every line of code myself.