Hacker News new | ask | show | jobs
by jmcodes 24 days ago
I was already spending a lot of time reviewing other people's code. It makes no difference to me if it's coming from an agent or a person.

I can pick and choose which parts of the problem deserve my attention and which can be done by the LLM with me just keeping an eye on it while I mostly work on something else. I don't have metrics but I feel like I am doing higher leverage work with less friction.

Setting up the systems around the LLM itself is fun too. Hacking on harnesses and trying to improve the UX or the metrics is fun. Playing with different workflow topologies across agents is fun. Diving deep into context strategies, memory systems, prompting is fun. Trying to marry ideas from the past with what LLMs enable now is fun.

I don't see how this is soulless or unbearable but granted I'm not at a place that is demanding I maximize throughput. That would suck.

2 comments

nothing is really fun in trying to hack around a model to make him do things you want knowing that its barely patching it until the next disease shows up. its painful.also it is probably a temporary step before everything close up behind closed software and closed API (like anthropic tries to) and the harness wont be yours it will be on a remote cloud server. then you will just spend the time review llm generated code. also the scale and ambition of a LLM generated piece of code can be daunting. the most basic pattern since LLM can code well is overdoing. docs are longer, blogs are longer, ppt are longer, PR are longer while quality naturally drop because more people can produce this kind of content now
- building a reliable enough system out of unreliable parts is pretty fun for me. It's a different kind of puzzle.

- pi-agent or code your own harness, it is not hard.

- codex for now allows you to use it in any harness but if they ever don't open models are catching up

- Reject low quality PRs the same as before. If management doesn't enable to you do that then that's a different problem.

but it's not fun for everyone. reviewing code for people vs agents is a massive difference for me. with people i can teach them. with LLMs i can't. it makes me feel helpless. just like i feel helpless using broken non-free apps. i can tolerate the same bugs in FOSS application, because i potentially can fix them even if i don't actually do it. i don't feel helpless, i feel like i have a choice. with LLMs i don't get that choice.

most of the other things you mention feel tedious to me. i like diving into the code, understanding how to solve a problem, figuring out how to make the code structure look elegant and readable. find and comment on a clever short-cut, even if it means that i may not be clever enough to debug it later.

i don't get any of that with LLM generated code. i'd spend more time to clean up and fix the LLM code than i would writing it from scratch. to use LLM code efficiently, i'd have to give up all that. but i don't want to do that.

using LLM to code feels like gambling. every time i put in a prompt, its like rolling the dice. am i going to get a useful solution this time? and then reroll until i get a useful result rather than building up the application one step at a time.

Yeah I can kind of see that and if you don't like them you don't like them. Not all tools are for all people.

I personally draw the line at plugins that try to set up entire workflows and take the human completely out of the loop. Those are next to useless imo for an engineer who knows what they are doing and are exactly how you end up with crappy code/products.

But to give my thoughts to your points I guess I just don't really care that I can't teach LLMs? It doesn't bother me because I do also still teach people, it's not one or the other.

On what you like about coding. I like that too, I still do it where I want to or where it is needed.

I agree with you on what parts are enjoyable but I guess I don't feel that I'm giving them up? I get to pick the problems I work on that way now. The only disagreement there is around 'clever' shortcuts. I get pleasure out of making things debuggable and traceable for humans.

I wish my odds at gambling were as high as they are with LLM generated code lol.

I do run into the whole 'this session was a waste, need to restart', but like once in a blue moon? Not nearly enough to turn me off from using LLMs daily.

On the teaching point again, my learnings around coding standards, architecture -> problem mapping, how to debug, are applied at the system prompt level and around a few key skill files, so when I say "implement ..." or "I'm seeing this behavior, where in the codebase is the most likely root cause? Why?" It does so close to how I would've done it.

I cannot speak for people who are using these things raw in the harnesses provided by the companies, or god forbid in the browser but you can definitely increase the odds of a good roll enough to be productive by changing the environment around the llm and to me that is the opposite of feeling helpless when it comes to LLMs.

I feel enabled to get more done, at my standards, on my time.