7 ms·
Talking the problem to death with the AI before implementation is a nice zone for me. I feel productive, get good results out of the AI, and still largely under
by aomix 4mo ago
Talking the problem to death with the AI before implementation is a nice zone for me. I feel productive, get good results out of the AI, and still largely understand the code. That’s the part of the AI revolution that I feel has made me a better engineer because I argue about design and architecture all day with a robot.
- qsera 4mo ago>I argue about design and architecture all day with a robot. You will outgrow it at some point.
- nullsanity 4mo agoIts like that phase people go through where they argue with morons on reddit, and then one day grow up and realize that most of these people are unemployed/underemployed terminally online nobodies aren't ever going to learn anything, and even if they did it wouldn't impact the world since they were just some below average hobbyist anyway and aren't in charge of anything more important than a box of paperclips.
- dash2 4mo agoAh, if it’s a robot in charge of the paperclips you need to watch out a bit.
- theK 4mo agoMostly with you, though in recent years I have wondered whether those people are part of what caused the latest boom of political populism. If there is no one there to debate the problematic ideas, problematic ideas will become the rhetoric after all.
- TeMPOraL 4mo agoThat might be true on general-population social media, but the opposite is the case in niche groups, and in particular, this very industry we're in - software - was largely built on terminally online hobbyists.
- nullsanity 4mo ago[dead]
- redsocksfan45 4mo ago[dead]
- busterarm 4mo agonullsanity's comment is dead and downvoted to oblivion but also incredibly underrated. I was more annoyed than anything that I didn't hit this moment until my 40s. Except it's not just reddit (I quit reddit 15 years ago). It's the whole internet.
- qsera 4mo ago>nullsanity's comment is dead and downvoted to oblivion but also incredibly underrated. Yes, I thought the same as well because that was the same line of thought that made me write my comment. >Except it's not just reddit (I quit reddit 15 years ago). It's the whole internet. Yea, they are like a slingshot. You need to let go at some point or else it will drag you back.
- vasco 4mo agoWhat you guys don't understand is that you don't argue with people or robots to teach them. You argue to teach yourself. Until you get out of that mindset, indeed a lot of conversation will seem useless, be it people or robots.
- qsera 4mo ago>You argue to teach yourself. Oh. I am aware. It is not that deep. But who you argues with still matter. There was a point where I have abandoned Reddit and HN. I came back to HN because people here also seem to have grown up. Reddit stays mostly the same. I credit the moderation here for that, I mean allowing people to grow out of the echo chamber.
- BillStrong 4mo agoIt does to an extent. One thing I will give AI, because of the nature of LLMs, you are essentially arguing with the median level of the input that trained the model. So, for someone new to the subject, you get access to patterns that will bring them up to a certain level. Getting past that is problem we face now.
- 4mo ago
- Terretta 4mo agoOr learn something at some point. https://en.wikipedia.org/wiki/Rubber_duck_debugging https://en.wikipedia.org/wiki/Rubber_duck_debugging
- stuaxo 4mo agoYes, this is the way I do stuff. Try and learn at every point.
- bartread 4mo agoI think this is OK though. We can still micromanage[0] the code generation part for a useful productivity boost, I think. [0] At least, in my experience, "micromanaging" the AI is what gives me the best results. Iterating on the initial design, then iterating on the plan, then reviewing the proposed code changes (including tests), then getting an independent code review from another LLM, etc. If you give an LLM too much latitude that's when the really shitty code and ill-considered breaking changes/obliteration of existing functionality starts to creep in.
- estetlinus 4mo agoQuite the opposite. It’ll most likely “outgrow” us.
- rf_physics 4mo agoI feel like there's an overly negative vibe to this response when it just seems like rubber duck debugging - I would assume the user isn't trying to argue like how you might have to argue specs, but is merely trying to clarify their own ideas and learn possible alternatives.
- mikepurvis 4mo agoDespite the cynical sibling reply, I also feel like there's real value here. Contrary to the meme, I don't think Claude just tells me I'm brilliant, but really does push back on directions that are unproductive, helps identify when a part is overcomplicated or a dependency has become redundant, etc. Those are important things to have at least a sightline on before getting too deep into the code, even (or maybe especially) in a world where an awful lot of code can be created basically for free.
- noduerme 4mo agoI'm usually the one spotting redundancies and dead branches in Claude's code, not the other way around. But I think either way, what's important is questioning the process and understanding the way the code is working so that you retain a full mental model.
- bottlepalm 4mo agoOne strategy I use in the planning phase is even when I know how I'd implement the solution, I ask the Claude/Codex how they would solve the problem or implement the feature without giving them any clues - and then compare their solutions to my own. Often I am pleasantly surprised by alternative ways of doing things and ideas that we integrate into the final design.
- didericis 4mo agoSame. I've been creating "research" documents where I let it do a freeform survey of possible solutions/have sketch out it's own solution. I'll then sketch out a plan based on what I think is good or what I think it missed, and then I'll have it interrogate me for a final PRD document. It then implements the feature in reviewable chunks, and I'll give it feedback or tweak the PRD doc as needed. Finally feel like I have a good workflow where I can fully benefit from these things without sacrificing my understanding of what they're doing.
- codebolt 4mo agoSame here. Step 1 is usually a research doc where I simply describe the task and tell it to research the relevant parts of the codebase. This gets refined to a high-level plan, which gets distilled to a detailed step-by-step implementation plan. When it comes to the actual implementation I prefer to work through it in small steps, where the AI explains to me exactly what it's about to do and why (and I approve) along the way. This enables me to catch it if it's about to do something I disagree with beforehand. And reduces the time I need to spend reviewing in the end.
- ddp26 4mo agoI like this, though it does leave me feeling more nervous when I really don't know how I'd solve the problem, still requires trust.
- vatsachak 4mo agoI agree with this take. But this take also means that actual productive token use is not as high as people currently make it out to be. AI is an excellent rubber duck and test writer. Maybe I sniff my farts too much but I like my code just the way I want it lol
- rdedev 4mo agoHow would you approach this problem if you are let's say token constrained due to per month limits set in your company? What I've tried to do is make the bot write detailed spec documents, slowly building it over time as I explain the full problem. It works for the most part but it's you have some non standard requirement, the agent seems to skip over that part of the spec document when it starts to code. Or it would have needless checks for situations that I said will never happen
- anywhichway 4mo agoIn my book, the single most effective way to spend tokens is having it review code/specs you've written. One advantage to putting the ai in that position is that unreliable competence isn't much of a problem as you can ignore bad suggestions. I would also recommend explaining the specs and doing a lot of your back and forth with a lower end model and set it to a higher end model only once the conversation history has all the context you feel the higher end model needs.
- brabel 4mo agoAs the post says, after an agent implements the plan, have another agent review it. Make sure to mention it must ensure the plan is fully executed. It works wonders!
- anon7000 4mo ago[flagged]
- throwaway7783 4mo agoI follow the same process. I have a design in mind for the problem at hand, but I don't reveal it to Codex. I go back and forth a bit to see if its proposals are better than mine. I go back and forth on tradeoffs of various approaches. And then I ask it to compare its proposals with mine. I "win" most of the time but there are many times where it shows a me a better, or simpler approach, or makes me rethink the solution altogether. Once this is done, the mechanical coding parts are mostly routine (for codex)
- hackermanai 4mo agoI think this approach is more common than the hype for actual work. I do something similar, many back and forth, then settle on something often with now known tradeoffs, written by hand to spot issues as a final guard/ keep consistent naming etc.
- yread 4mo ago> I go back and forth a bit to see if its proposals are better than mine I find it useful to let it generate benchmarks comparing the approaches. Turns out AI is terrible at guessing whats faster or allocates less
- puilp0502 4mo ago> Turns out AI is terrible at guessing whats faster or allocates less s/AI/a human being/ would work equally well, lol. Jokes aside, I do like the approach of letting the AI build something deterministic and make decisions based on that.
- chris_st 4mo agoYup, just like people!
- ptsneves 4mo agoI had the exact experience yesterday. I have a performance problem and went down the path of optimising part of a pipeline that when benchmarked was not the bottleneck, even if it looked plausible for me and the llm. When I asked it to make a final benchmark for documentation I found most of the work I did improved 30% while another path would have improved a magnitude more. Thankfully iteration is now faster than ever and given how fast it creates tests, previous tests created for the aborted optimisation were helpful.
- jylefv 4mo agoI also like doing this exact thing. I really don't like using any AI-powered IDEs but AI is still too useful, what I do is just open up a Claude or Gemini chat, explain the project, and start talking about implementations, feature additions, and how systems should be structured. Most of the time, as long as you dont let the AI be too biased towards your answers, it'll give actually good answers that help immensely for the project.
- nihsett 4mo agoYeah, me too. I argue with multiple models at the same time via a markdown doc to coordinate the discussion. I feel like it makes me less anxious about the final output if nothing else.
- lintfordpickle 4mo ago>> and still largely understand the code [...] ,that, I feel has made me a better engineer the cynic in me would say that a good engineer should fully understand the code you write. I'm not suggesting that AI is the problem here - you could vibe code with the AI have have it explain the reasoning and patterns - or else tell it to use 'simpler' patterns from the outset. For any one problem in software engineering, there are always multiple solutions; some slower, some faster, some more flexible etc. The code you produce should, imo, but at the level that you can understand it. How can you reason about code you don't fully understand? How can you judge the future impact (technical debt and the cost of maintenance) of your projects? A.I makes it easier to get yourself into problems early on.
- jnovek 4mo ago> How can you reason about code you don't fully understand? We all do, though. It takes months for a human to really get to know a project and, unless you’re working at a small startup, you’ll probably never know most of the code outside the corner you work in.
- silon42 4mo agoYes, this is why bugs get often worked around instead of being fixed properly.
- jiri 4mo agoI think that many AIs nowadays have similar process incorporated in their thinking blocks, you can see there how it discuss implementation details with itself - so such discussion happen even in case human does not participate in the loop.
- pj_mukh 4mo agoThe professionalization of rubber ducking. I like it.
- deaton 4mo agoI think this is honestly the #1 best use case for AI in development. If you use it right it can be exactly the annoying junior who questions every decision you make that you need.
- pcoyne 4mo agoYeah I feel like a rubber ducking with some feedback has been very helpful
- epolanski 4mo agoYet, so many internet users seem to only understand "hand crafted" vs "vibe coded" as if there wasn't tons of middle grounds and different uses.
- aaroninsf 4mo agoThis. This is what I tell people (including non-programmers interested in vibe coding), the results you get are product of... process. Formal process. From this naturally emerges the other thing I tell people: domain expertise (or at least, familiarity and or capacity for learning) is still determinate of outcome. I don't touch the code. But I do push back on expedience, laziness, inconsistency, and all the other recurring unsolved problems of generated code... and continue to play whack-a-mole in pursuit of process that whacks the moles.
- golly_ned 4mo agoFrom the other end, I've seen this go wrong a couple ways: When I'm doing it: I can go on way too long trying to consider way too much, when really, putting down some code and reading it and writing it myself would give me a better understanding. When others are doing it: they can get very entrenched in a certain way of thinking, and are sure it's correct because of their AI conversations. Some context or data point was missing from their conversations with the AI.