I know someone is going to tell me I’m just “doing it wrong”, or bragging but, I’ve written some *extremely basic* code this week with an LLM (I know I know, but it was mandated that I *try*).

I am absolutely certain I could have written this faster myself.

“Yes hello, I would like to wait ~2 minutes for you to generate a code change I could have done in seconds with the built-in refactoring tool of any modern IDE” is truly a statement dreamt up by the utterly deranged.

Feeling super “accelerated” as I sit here… patiently waiting… shitposting on the internet… instead of doing the work I could have been doing.

But hey, those tokens won’t use up themselves!

Oh phew, someone else on the team built a “Slop Detection” “skill” for the LLM so now it will magically stop being a statistical model and instead be a statistical model with ✨ slightly different inputs ✨.

Thank you kind stranger, I couldn’t have done it without you.

Okay I actually timed it: 8 minutes and 40 seconds to delete 13 lines and add 4.

I sure hope my promotion prospects aren’t based on lines of code / hour, or I’m in real trouble compared to my baseline.

But it’s okay, because the LLM promises those 17 lines changes aren’t slop. It spent 3 minutes making sure they aren’t slop.

Motherfucker, I could have told you in 0.3 seconds.

“Oh but the real speed gains come from having swarms of them working in parallel”:

1. Conservatively, at this rate I would need 20 “agents” working in parallel to get the speed anywhere near my level.

2. I don’t have 20 changes I want to make to my code, so that isn’t plausible.

3. Have you tried integrating 20 merge conflicts? Hint: It takes longer than you think. But okay, we can just account for that additional slowdown by having *40* agents work in parallel except then we need to integra…

4. Sam Altman’s panties are wet just thinking about you paying for a swarm of agents. And I for one don’t want that image in my head.

“Auto generate your tests” they say. “At least skip doing the boring part”:

1. The tests are the fun part of TDD, thank you very much.

2. These tests are… about what I would expect from a very junior dev. They cover *maybe* 20% of the actual code paths.

“You need to let go of being a perfectionist”…

Yeah, because the software industry is sure *known* for our bang on reliability and stability right? We’ve been haunted by being too focused on perfection for too long!

Who cares if ~10% of insurance claims are incorrectly denied, or pedestrians run over by our autonomous vehicles.

That’s the cost of doing business baby!

I might suggest you need to let go of *not* being a perfectionist.

The 90’s called, they would really like their “Waiting 5 minutes between deciding to make a change, and receiving any feedback on whether it works” back.

Well, actually I called them and begged they take it back.

Wait, I think I figured out the secret sauce:

If you blindly accept what the LLM generates on the first pass, and never try refining anything, you don’t have to waste time waiting for it to rework the code over and over again.

Might explain all the slop code my coworkers have been shipping lately.

To review, I am not going quite so far as to saying the thing is “entirely without use”. I am saying:

* There’s a lot of FOMO around LLMs.
* There are money-men heavily invested in you using them *no matter* their efficacy.
* The ethics are… not good IMO.
* Building software is a lot more than writing code that “technically works”.
* There are definitely at least *some* times where doing it yourself is faster.
* I’m fucking tired okay.

@philip don't worry, in the end this all exists as leverage only to drive down the average salary of software engineers, rather than being anything to do with actual productivity.

@commodore I think that’s likely true :)

I was just getting tired of being called a “hater” at work. So now I can say I honestly tried.

@philip I feel this far too much; I'm in the same boat.

I'm thinking about switching jobs, or even profession to be honest.

@philip from my small observations LLM exposure seems to encourage a bias for action over thought, and it seems often to lead to what @flowchainsenseisocial describes as “doing the wrong thing righter”. And humans seem to think action means progress even when they are really going in circles or backwards.

@MikeStok @philip

HT to John Seddon and Russell Ackoff :)

@philip look they may be very long with lots of repetition, but they’re also not very good

@lkanies Boy, turns out it’s really easy to get tests to pass if you mock *literally everything* and assert all the mocks return exactly what you mocked them to return.

So good.

So much coverage.

@philip thank god the LLMs are now learning that lesson, which was literally the first thing I learned when mocking in tests.
@philip this is one case where “AI” can help a bit. I took over a test-free codebase, and getting a few tests in place was a useful crutch to get some semblance of a safety net in place quickly. The tests are naive and repetitious, but give me a toe hold, and the sooner I replace or delete them the better. TDD’s benefits aren’t just the tests, and it saddens me that so many developers don’t think beyond that, or so it seems to me.
I *love* how The Mythical Man Month is as relevant as ever, and the same voices in the room are *still* convinced more ~~bodies~~ agents is the solution to all our problems.
@philip yes, and the code is so flabby that you have to pay your cloud provider for 3x the infrastructure you need. Another win for the oligarchs stealing money from the rest of us.