• w33n1s@lemmy.world
    link
    fedilink
    English
    arrow-up
    81
    ·
    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.

    • one_old_coder@piefed.social
      link
      fedilink
      English
      arrow-up
      15
      ·
      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.

    • ItsMeForRealNow@lemmy.world
      link
      fedilink
      arrow-up
      8
      ·
      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
        5
        arrow-down
        1
        ·
        edit-2
        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.

        • baltakatei@sopuli.xyz
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          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.”

        • architect@thelemmy.club
          link
          fedilink
          arrow-up
          2
          arrow-down
          2
          ·
          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.

    • ramjambamalam@lemmy.ca
      link
      fedilink
      English
      arrow-up
      6
      ·
      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.

      • thevoidzero@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        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.

      • w33n1s@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        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

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

          It’s a blessing and a curse. On the one hand, I have much less time and patience for personal software projects. I prefer to do carpentry or sports as a change of pace. On the bright side though, the experience I’ve gained from working professionally makes the projects I do tackle go much more smoothly than when I was an amateur.

    • Jerkface (any/all)@lemmy.ca
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      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
        3
        arrow-down
        1
        ·
        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
      5
      ·
      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.”

    • yermaw@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      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.

  • HeartyOfGlass@piefed.social
    link
    fedilink
    English
    arrow-up
    79
    ·
    edit-2
    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”.

  • Err(()).unwrap()@lemmy.world
    link
    fedilink
    arrow-up
    77
    ·
    edit-2
    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.

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

        While I do expect a pop, I’m not so sure about this take; How does the bubble popping devalue what you already have?

        In crypto you’re left holding the bag, having paid $100 for something now worth 1c.

        If you’ve produced a bunch of work already and AI company goes out of business, how does that hurt you?

        • vanillama@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          If your workflows are deeply integrated with them and you need to pay the actual cost of it overnight it will definitely hurt, especially if the company is big enough. But yeah, theoretically you can make new workflows again and revert all organizational changes, it’s just costly and not necessarily easy for everyone involved.

  • HazardousBanjo@lemmy.world
    link
    fedilink
    arrow-up
    45
    arrow-down
    1
    ·
    edit-2
    2 months ago

    I’m significantly older than you. I started coding in the late 60’s

    Yeah, appeal to tangentially related experience, age and arrogance aren’t a way to inspire confidence in your work.

    We live in the perfect times to display that experience, age and arrogance haven’t been working in almost any field, from politics to LLM development. We’ve yet to witness any system that operates well, while also eliminating human oversight. It doesn’t matter the guard rails you put in place. They’re only as strong as your personal ability to evaluate your own product, which itself is a conflict of interest.

    Edit: Also, you can’t use your own credentials to assert the integrity of work you aren’t even actually doing yet passing as your own.

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      21
      arrow-down
      2
      ·
      edit-2
      2 months ago

      Not to be too flippant, but:

      Boomers gonna boom.

      They literally can’t help themselves, they’re egomaniacal narcissists.

      The rare ones that aren’t that way can truly be awesome sources of perspective… but goddamnit so many of them are completely insufferable man-babies.

      • HazardousBanjo@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        2 months ago

        Boomers have been noted in studies to display worse cognitive decline at their age than any prior generation and it shows.

        Its almost universally a generation that absolutely refuses to learn or adapt to the changes the world has experienced since Reagan, to the point of violence.

        The only difference between this guy and other boomers is he’s at least someone up to date with modern technology. Most boomers don’t even know how to use smart phones or self checkout. You know… technology they’ve only had ALMOST 2 FUCKING DECADES TO BECOME ACCUSTOMED TO.

        • blargh513@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          8
          ·
          2 months ago

          I’m not defending boomers in any way, but I see the same thing with younger people; that is the allergic reaction to learning about technology. I work in technology, so that’s is my sole perspective. I would wager that plenty of young people are allergic to learning about ANYTHING, I just see the tech part.

          I don’t expect people outside of my vocation to be experts, but I can’t imagine wanting to be utterly confused by the world at large–the world in which technology is literally everywhere. What would one’s life be like if you had no clue how any of it worked? You just live in some sort of magical world where digital pixies do everything for you? You’re not at all curious how it works? What about when it goes wrong? You just stand there and softly weep in a puddle of your own piss until someone rescues you?

          I feel this way about cars too. I don’t expect everyone to be a mechanic, but people will drive around with THE most horrible sounds coming out of their car and they’re like “yeah, it started doing that a while back”. Zero interest in perhaps having someone look at it or concern that it may turn into a bigger or more expensive problem in the future? A problem that they will have to pay for personally?

          The entire life approach of being absolutely rigid to change or new information is such a puzzle to me. Life is hard enough, and these people just want to make it harder all because they’re scared that they may have to put a little brainpower into learning something on their own?

          • sp3ctr4l@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            9
            ·
            edit-2
            2 months ago

            The difference is the young people got their minds obliterated by convenience through apps from a young age… and everyone saying that this would be the new permanent sustainable future, so doing anything the hardway is just stupid.

            They were presented with all this, the content on demand, the simplified UIs… things that mostly ‘just worked’.

            They also grew up in a time where there is no reward for perservering through difficulty and confusion. The economy, to a job seeker, is a random casino, or nepotism, that’s it.

            So to them… any kind of delayed benefit is more pointless.

            They’re not ‘making it harder for themselves’… curiosity is a thing that has to be nurtured, encouraged, rewarded… and everything about their lives did the opposite, punished it, mocked it.

            Thats not a switch you can just flip. They don’t know how to contemplate.


            Another important other part of this is the Boomers rigged society to work for them and fuck everyone else, and lied about doing that… and the Millenials, Zoomers and now Alphas all grew up to now in that world.

            Homeowner average age is just the Boomer’s average age. Political figures get older and older, anomalously.

            And… nobody teaches anybody anything any more. The Boomers stopped passing down useful life advice, and that has now compounded into the incredible irresponsibility of Millenial parents just handing their 6 month old an Ipad, to do the parenting for them.

            Of course the broadly shit economic conditions for Millenials are a huge part of why that happens…

            But you can’t pass down skills and habits you don’t have, because they were never passed to you.

            I am a millenial. Taught myself how to cook, taught myself car maintenance, taught myself socializing and romance advice/strategies, taught myself personal finance habits… my parents either didn’t have time, mocked me for not already knowing, or actively had terrible advice that was either immoral, ineffective, or both.

            And I think that is a very common Millenial experience.

            My dad would tell me about the good times he had learning shit from his dad… and then just… didn’t do that, with me.

            Maybe I am a bad example, because I am so no contact with my parents they probably think I am dead.

            But then again… more and more millenials are going no contact with their Boomer parents, because they’ve been treated similarly terribly.

            • blargh513@sh.itjust.works
              link
              fedilink
              English
              arrow-up
              4
              ·
              2 months ago

              You said a lot of shit, but I’m too drunk to read all of it effectively. I’m going to just go with the idea that you’re a fine young person and here’s to you. Fuggin, go get 'em sport.

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

      Makes me remember the joke of the failure of the Soviet bordello, they just didn’t understand why, they got the most experienced girls there were to find!

  • kryptonianCodeMonkey@lemmy.world
    link
    fedilink
    arrow-up
    41
    ·
    edit-2
    2 months ago

    He fails to mention that he has AI also generate and do all of those tests, which means, A) he has no quality supervision over his quality supervision. Speaking from experience, AI can and will break a test in order to pass it rather than fixing the code if it randomly decides to. It is not always reliable and does not have even the baseline of good sense you would expect a brand new junior dev to have. And B) he’s probably spending 3 times as much on tokens used for generating and running tests than he is already using on code generation. That’s only going to be sustainable while these tokens remain cheap, which won’t be for much longer, my guy.

    Also it is always fun when someone asks you basic questions about your code and you have to admit complete and total ignorance because you neither wrote nor read a single line of it. How are you going to sell confidence in your black box that even you haven’t peeked inside?

    • ZILtoid1991@lemmy.worldOP
      link
      fedilink
      arrow-up
      19
      ·
      2 months ago

      The D Language Foundation tried to incorporate LLMs in the unittests, and they created something akin to assert(5 + (funcToTest(846) * 0) == 5) early on, now they want to use it to rewrite the standard library from scratch, because “it has become better since”.

      • kryptonianCodeMonkey@lemmy.world
        link
        fedilink
        arrow-up
        27
        ·
        edit-2
        2 months ago

        The other day I had Claude write some code that failed a unit test. It was failing at a step that ran assertEquals(actualMap, expectedMap);. The reason it was failing was because one of the values in the map, a UUID, is automatically generated in the code. In the test, it has been hard coded.

        Anyone with any sense would know you need to handle that misalignment. Omit that field from the match assertion? Set that UUID based on the generated value instead of hardcoding it? Anything like that would work just fine.

        But Claud’s solution was to change that assertion to assertTrue("The actualMap and expectedMap will never be equal because the values of ID will never match");. So the test always passes and it explicitly notes that they will not match. I would have fired a Junior Dev on the spot for writing that solution.

    • ViatorOmnium@piefed.social
      link
      fedilink
      English
      arrow-up
      40
      arrow-down
      1
      ·
      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.

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        8
        arrow-down
        1
        ·
        2 months ago

        Literally never heard or read of this dude. I don’t spend any time on Xitter.

        But good to know that he’s actually serious.

        • lobut@lemmy.ca
          link
          fedilink
          arrow-up
          7
          arrow-down
          1
          ·
          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.

          • Valmond@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            4
            ·
            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.

            • lad@programming.dev
              link
              fedilink
              English
              arrow-up
              4
              ·
              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

      • BradleyUffner@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        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.

  • douglasg14b@lemmy.world
    link
    fedilink
    arrow-up
    32
    arrow-down
    1
    ·
    2 months ago

    None of this actually proves that they aren’t writing slop. It just proves that the slop that they’ve written passes your tests.

      • douglasg14b@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        I mean, screw performance. You can get away with a lot of shitty performance and still have a completely functional application. However, the kind of slop that happens around module boundaries that turns your codebase into a giant pile of workarounds and hacks really sucks.

        And AI is particularly bad at this, as AI almost always prefers to work around a problem or do everything it can to meet the plan the user approved, even if that plan meets reality, it has problems. Which tends to lead to cascading misalignment with intentions and cascading infrastructure and architectural technical debt.

        All of which culminate in less stable software, lower likelihood of long-term support of that software, and worse performance.

    • Caveman@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      I never understand why you wouldn’t want to read the code. I prevent a massive amount of correct slop by just skimming. The LLM will 10 times out of 10 never ask “this code will be a massive duplication of exact same behavior, do you want to refractor it?” because it’s trained to finish a task without asking if possible.

      Uncle Bob now writes code for his tests instead of tests for his code. I know it’s TDD but it always seemed backwards to me.

      Unit tests for logic, integration tests for outside apis, e2e for features is the sweet spot IMO.

      • GoatSynagogue@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        2 months ago

        Claude and most other of the top coding agents will check the codebase for existing patterns and functionality specifically so it doesn’t duplicate behaviours etc. Have you used any of them recently? That’s one of the first things it does before even writing a line of code.

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

          I use Claude/Codex, if it finds a thingy that’s reusable it’ll use it but it’ll never create it or ask if it should be created in my experience. I find that it doesn’t create new components but just replicates the existing one.

          Within same file is a different story though, it does write helper functions to share logic which is proper.

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

        I generally only use ai to write code I know what it should look like but don’t want to type it all out.

    • BCsven@lemmy.ca
      link
      fedilink
      arrow-up
      16
      arrow-down
      1
      ·
      2 months ago

      What he is describing is what you are supposed to do for human written code also.

    • UnderpantsWeevil@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      ·
      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.”

    • jaybone@lemmy.zip
      link
      fedilink
      English
      arrow-up
      11
      ·
      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?

  • ZoteTheMighty@lemmy.zip
    link
    fedilink
    arrow-up
    22
    ·
    2 months ago

    I’ve actually found a lot of success with the opposite where I write the code and AI writes the unittests. I would have otherwise written a few unit tests, but AI makes typically 20x that many. Since my code is already documented, it can get lots of good context. I typically instruct it to check the branch’s diff relative to main and test only those changes. I might skim them over, delete some that don’t make sense in context and would never pass, and update one or two. Typically after a few rounds of iteration, I have tons of tests I would never have written on my own, and a human-made feature.

      • Huginn12@lemmy.world
        link
        fedilink
        arrow-up
        11
        ·
        2 months ago

        In a perfect world yes, but even after all the solution in and planning, once a developer gets into the request and looks at the code things often change.

        Requirement only written test steps are rarely going to be enough to cover every scenario. Saying this as a 10 year ba veteran

  • sirdorius@programming.dev
    link
    fedilink
    arrow-up
    21
    ·
    2 months ago

    Isn’t this just the natural evolution of TDD? Write tests, pass them, don’t care about how garbage the code is to make them pass

  • Hudell@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    21
    arrow-down
    1
    ·
    2 months ago

    I saw an argument today that was presented in a very rage inducing way but in the end I had to agree that it wasn’t the worst of takes: your code won’t get any worse just because you let the infinite slop machine have a go at trying to find problems in it.

    There could be a million other reasons not to use AI but if your only argument against it is that you don’t trust the code written by AI to be good enough to be included in your code base, then you’re just not thinking about every way that the clankers can be put to work.

    I’m not arguing in favor of using AI by bringing this up. If you’re morally opposed to it then this point makes absolutely no difference.

    • Warl0k3@lemmy.world
      link
      fedilink
      arrow-up
      14
      arrow-down
      1
      ·
      edit-2
      2 months ago

      AI for code review is, I am pained to admit, a genuinely extremely pleasant addition to my workflow - it inherently is a process that involves humans checking it’s work, and that kind of pattern recognition is one of the things that AI models are actually proficient at. It’s for sure not bullet proof and it’s pretty rare for it to catch something real that I wasn’t already aware of, but it takes no time, doesn’t touch my code directly and does pick up tiny errors like fenceposts or bad typing that make up the majority of my time when I’m running things down manually.

    • Crackhappy@lemmy.world
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      2 months ago

      I trust it as far as I can code it. I use Claude to point out errors all day. I use it to take a lot of the tedious typing out and generally speed up the development process. I don’t use it to think for me. That would be stupid.

    • vanillama@programming.dev
      link
      fedilink
      arrow-up
      4
      arrow-down
      1
      ·
      2 months ago

      Almost all of my LLM usage is for that as well, I can’t wait for it to become more sustainable, but it’s definitely useful for that.

  • melfie@lemmy.zip
    link
    fedilink
    arrow-up
    20
    ·
    2 months ago

    I see all the tests are passing on this PR, so I won’t even review the code. LGTM.

    🙄😖