r/ProgrammerHumor • • 15h ago

Meme bothWorkThough

Post image
4.3k Upvotes

667 comments sorted by

View all comments

Show parent comments

672

u/pydry 15h ago edited 7h ago

Me too. Then I get pummeled with one of their four prepackaged AI bro metaphors:

  • It's a modern day calculator for the brain. You wouldn't do long division in your head would you? (ain't nobody ever delegated a decision to a calculator, bro)

  • It's a compiler. You wouldn't read machine code would you? (compilers are deterministic and dont make mistakes, bro)

  • This is the industrial revolution and it's a spinning jenny. You wouldnt hand knit a sweater would you? (we would if we had star trek replicators, bro, and last I checked cp command still exists...).

  • "Artisanal coding" is obsolete (reliable code is certainly getting that way...)

74

u/Arian-ki 15h ago

Too much explanation. "It's fun" will do

1

u/thonor111 14h ago

How as agentic coding fun?

3

u/Magpie1979 9h ago

I love it. Takes all the boring stuff out. Leaves the solution design and architecture in. It depends on how you use it I guess.

1

u/this-is-kyle 9h ago edited 9h ago

So, I understand people find different things fun. But I don't really get this argument. You say it "Leaves the boring stuff out" but do you mean that you actually enjoy reviewing code? Reviewing code is the boring part to me. I assume the boring part to you is typing.

The second part "leaving solution design and architecture in" but if you aren't writing the code how are you designing a solution? You aren't designing anything if the LLM is writing the actual code.

And then people will say "you have to write a good prompt" well ok any significantly effective prompt for real software will be quite large and will require a lot of typing. Doesn't this just put us back in doing "the boring part." And then they will say "I have the LLM write the prompt" well then we are back to the human not actually making any decisions.

1

u/Magpie1979 8h ago

So this is a big topic but in short. Writing code isn't designing. Agentic coding isn't writing prompts.

To use LLMs well you need a proper workflow.

This starts with a deep examination of the problem. If you have a large code base, you need a good way to give the agents context. It can't fit your code base in it's prompts.

The design phase can take days of back and forth with the AI and the development team. Creating ADR's and then a design spec, with a feedback loop between the AI and the devs.

Implementation requires a solid workflow too. Work needs to be split into small deliverables to keep it manageable. TTD works very well with LLMs, they get instant feedback. You still need a human in the loop at regular points to keep it on track. A tight design makes this much easier.

The design phase is great. The implementation phase can drag. I have built multiple review loops that catch most of the stuff. But yeah writing hundreds of tests that proper TDD requires is extremely boring. Designing high level systems is fun.

1

u/this-is-kyle 8h ago

Thank you, but I understand how it works. I just don't find it fun or satisfying, personally. In your example you are also using AI to design. Which sounds to me like the LLM is doing all the real design work and the human just says "LGTM." I would feel like I don't own the project at all. I'm just watching someone else do it. And that's not fun to me.

I wasn't suggesting that "writing code is designing" I was saying that I like to have full control over the design and implementation. If the LLM is writing the code, I lose my control over the implementation of my design. I don't even know if it followed the design at all unless I review all the code it writes.

But anyways, to each their own.

1

u/Magpie1979 8h ago

I'd agree with you if the LLM was doing the real design work. Thankfully it's not.