Hacker News new | ask | show | jobs
by hrideshmg 23 days ago
As a junior, i do actually enjoy going back and forth with the AI discussing different ways to implement something and exploring alternatives.

More often than not, I'd have an architectural idea that I'm not that confident in. The process of talking with the LLM takes a long time but it helps me sharpen the initial approach or even come up with a new one depending on the requirements.

8 comments

Be sure to explicitly ask for critiques or alternatives. In my experience the machine is really susceptible to a sort of anchoring effect.
I've noticed that too, once you get an initial implementation it seems to always find a way to argue for keeping that approach in the name of simplicity

Like "Let's stick with what we have, its simple and it works." or "That seems overkill, let's not over complicate things"

I've got to the point where sometimes I frame my question as if I disagree with it, just to allow the AI to "agree" with me and actually critique it.

"My team mate wants to X, but I feel like that might be a bad idea. What could go wrong?", etc.

In this vein, I have a system level memory for Claude to push back and give me direct feedback when possible. So far a success as it helps cut through the sycophancy.
This is how I do it to and I’m an architect/senior dev. Keep it up!
When doing this, I particularly like that the LLM sometimes gets things wrong.

It forces me to really understand each thing deeply so that I evaluate it properly.

It is like taking an exam where the exam writer is hostile and sneaks in trick questions. You only spot that the question is wrong when you fully reason through the answer.

Huh, good point! When a colleague asks me to review their design or otherwise discuss it, I'm always looking for things they might have missed, assumptions they silently made, or corner cases that could come up. I start from the position that there is likely something missing and I need to find out what. Likewise, when I'm looking at suggestions or code or anything else from an AI, I'm assuming it made some mistakes, made some unstated assumptions, or didn't consider some corner cases, and so I'm having to carefully think through what it says to spot the mistake, rather than casually skimming it and going, "LGTM!" If it were too reliable, I might get lazy and not look too hard knowing that it's probably right anyway so there's no point trying too hard to find something. It's the same thing my juniors will sometimes do to me: don't assume I'm right just because I'm experienced - I still make mistakes too! I want to be questioned on anything that might not make sense, because even if it was intentional, the fact that the reason isn't clear is itself a problem to resolve. And I only know so many things - we all have different experiences and a junior can have just as much they can teach me as a senior.
As a senior, I do the same.
I do the same thing as an expert with 20 years of experience. You can always benefit from a second set of eyes and a second opinion. What's important is that you consider that input and then make your own decisions, rather than deferring to the AI to make the decisions for you.
Same. My total agentic session time/effort is about 70/30 discussion vs code-gen. I've got 12 years experience.
This used to be called Pair Programming. And just letting you know, it’s not just juniors… we’re all do this :)
Yes agreed with you on this.