Hacker News new | ask | show | jobs
by Terr_ 16 days ago
> I felt that one in my bones. I was up until nearly 2am recently, prompting, because I was so close to getting a plan right. Or so I thought. [...] And it's addictive in a way that makes the isolation worse.

Right, it's more like pulling the lever on slot machine. Oooh, 677, bad luck, do a ritual and try again, and maybe this time...

Sure, regular programming also has a feedback loop, but normal errors are--as much as possible and by design--things that happen consistently for reasons, reasons that force you to engage you mind to discern them and then eliminate them (hopefully) forever. Experienced developers don't just try something random, hope it works, and if it works you just dismiss it as unknowable.

> But the bottleneck was never the code. It was always the human attention, the engineering judgment, the ability to hold a coherent vision for a system. We just didn't notice because writing code felt like the hard part.

Unless, perhaps, you were already fatigued trying to deal with many stakeholders who can't agree what the system even is. :p

2 comments

I remember when I was just learning how to code and making some web app, I had to do a lot more blind guessing and running. "Ok let me try this... Will that work now?" I remember staying up really late, feeling stuck to the computer in that slot machine mode.

Then when I learned more I got less and less of that guessing feeling. I understood what I was building and what would work, I began using typed languages and could keep on track with the compiler/LSP. This brought me more into a satisfying flow state, and I had less of that addicting "wait let me see if this will work" magic.

It seems like coding with Claude etc is a lot like a trip back to the guesswork stage, and I don't want to go back there.

(Sometimes, when I'm doing some dev-opsy type stuff of stringing a bunch of messy components together or working with a pile of complex APIs, I can feel myself back in the blind guessing territory, and incidentally this is where I find a chat with an LLM most helpful.)

Sadly, I've met too many professional software developers in the industry, who never progressed beyond "Try something, see if it works, then try something else." AI is great for these programmers, since it's somewhat better than what they've done as a career for decades.
It's a trip back to a guesswork stage because most of the training data looks like the process you described your beginnings have been like.

Now you know how to do things first shot. When you write the code, your inner voice reminds you ahead of time to do it like this and that. And that "this and that" is what your prompt needs to have to avoid the trip to guesswork. Working with agents is like working with juniors. If you don't give them the direction and explain how, they'll be as lost as the LLM. The difference is, your brain finds guardrails as you solve the problem, the LLM doesn't have this context, you have to give it upfront. Like, you know, a good manager would.

> The difference is, your brain finds guardrails as you solve the problem, the LLM doesn't have this context, you have to give it upfront. Like, you know, a good manager would

Not really the same feeling. It’s more like speaking a foreign language. At the beginning, you’re always guessing at words, and what’s the correct structure/expression. After a few years, you can go direct from idea to sentences.

Today, my brain is familiar with “computer speak”. More often than not, it goes straight from ideas to algorithms and data structures. My time is mostly spent on checking assumptions (what’s the data type returned by this call,…) and verifying results (debugger, tests, printf,…).

Using LLM is like hiring an unreliable translator when I already know the language. Yes, it may speak faster than me, but I do not a faster pace of conversation.

> Using LLM is like hiring an unreliable translator when I already know the language.

Fantastic analogy. And when you don't really know the language that well you're just amazed at the translator, like "wow you can speak really well!"

Yes, and now they don't have to agree, they ask an LLM, and we get half baked plans and quarterly goals and are left to figure it out ourselves. So the stakeholders have some ideas, some half assed designs get put together by an LLM, stories are generated by an LLM, technical details are filled in by an LLM, the implementation and code review are LLM. I can already notice the lack of critical thinking and scrutiny in the whole process, we're offloading all thinking and just creating these artifacts, designs, documentation, code, to what purpose I'm not sure. I'm having trouble even keeping up with everything going on. Of course, plans are more likely to change at any minute and we'll just rewrite everything on a whim.