Top
Best
New

Posted by kmelve 9/2/2025

A staff engineer's journey with Claude Code(www.sanity.io)
549 points | 395 commentspage 3
pseudosavant 9/3/2025|
This has been my experience too. I’m just not quite as far along as the author.

Detachment from the code has been excellent for me. Just started a v2 rewrite of something I’d never had done in the past. Mostly because it would have taken me too much time to try it out if I wrote it all by hand.

jedberg 9/2/2025||
I'd like to share my journey with Claude (not code).

I fed Claude a copy of everything I've ever written on Hacker News. Then I asked it to generate an essay that sounds like me.

Out of five paragraphs I had to change one sentence. Everything else sounded exactly as I would have written it.

It was scary good.

into_ruin 9/2/2025||
I'm doing a project in a codebase I'm not familiar with in a language I don't really know, and Claude Code has been amazing at _explaining_ thing to me. "Who calls this function," "how is this generated," etc. etc.

I'm not comfortable using it to generate code for this project, but I can absolutely see using it to generate code for a project I'm familiar with in a language I know well.

keeda 9/3/2025||
Reid Hoffman, LinkedIn co-founder, has gone whole hog on that idea and has a literal AI clone of himself, trained on all his writings, videos and audio interviews -- complete with AI-generated deep-fake visuals and cloned voice:

https://www.linkedin.com/posts/reidhoffman_can-talking-with-...

I've watched a handful of videos with this "digital twin", and I don't know how much post-processing has gone into them, but it is scary accurate. And this was a year+ ago.

nh43215rgb 9/2/2025||
$1000-1500/month for ai paid by employer... that's quite nice. I wonder how much would it cost to run couple of claude code instance to run 24/7 indefinitely. If company's got resources they might as well try that against their issues.
block_dagger 9/2/2025||
The author doesn't make it clear why they switched from Cursor to Claude. Curious about what they can do with Claude that can't be done with Cursor. I use both a lot and find Cursor to be superior for the very large codebases I work in.
reissbaker 9/3/2025||
Pretty much everyone I talk to prefers the opposite, and feels like Claude performs best inside the Claude Code harness and not the Cursor one. But I suppose different strokes for different folks...

Personally I'm a Neovim addict, so you can pry TUIs out of my cold dead hands (although I recognize that's not a preference everyone shares). I'm also not purely vibecoding; I just use it to speed up annoying tasks, especially UI work.

meerab 9/3/2025|||
Personal opinion:

Claude code is more user friendly than cursor with its CLI like interface. The file modifications are easy to view and it automatically runs psql, cd, ls , grep command. Output of the commands is shown in more user friendly fashion. Agents and MCPs are easy to organized and used.

block_dagger 9/3/2025||
I feel just the opposite. I think Cursor's output is actually in the realm of "beautiful." It's well formatted and shows the user snippets of code and reasoning that helps the user learn. Claude is stuck in a terminal window, so reduced to monospaced bullet lines. Its verbose mode spits out lines of file listings and other context irrelevant to the user.
RomanPushkin 9/2/2025||
It's easy: Cursor are resellers, they optimize your token usage, so they can make a profit. Claude is the final point, and they offer tokens for the cheapest price possible.
block_dagger 9/3/2025||
I use Cursor in MAX mode because my employer pays for the tokens. I probably should have mentioned that in my OP. It makes a huge difference.
maigret 9/5/2025||
Can you elaborate on “huge”?
syspec 9/3/2025||
Does this work for others when working in other domains? When creating a Swift application, I can't imagine creating 20 agents and letting them go to town. Same for the backend of such an application if it's in say, Java+Springboot
fragmede 9/3/2025|
I've been using Claude with Swift for macOS and iOS apps. What problems do you forsee where you don't think it would work out to create 20 agents for Swift?
dakiol 9/2/2025||
To all the engineers using claude code: how do you submit your (well, claude’s) to review? Say, you have a big feature/epic to implement. Typically (pre-ai) times you would split it in chunks and submit each chunk as PR to be reviewed. You don’t want to submit dozens of file changes because nobody would review it. Now with llms, one can easily explain the whole feature to the machine and they would output the whole code just fine. What do you do? You divide it manually for review submission? One chunk after another?

It’s way easier to let the agent code the whole thing if your prompt is good enough than to give instructions bit by bit only because your colleagues cannot review a PR with 50 file changes.

athrowaway3z 9/2/2025||
Practically - you can commit it all after you're done and then tell it to tease apart the commit into multiple well documented logical steps.

"Ask the LLM" is a good enough solution to an absurd number of situations. Being open to questioning your approach - or even asking the LLM (with the right context) to question your approach has been valuable in my experience.

But from a more general POV, its something we'll have to spend the next decade figuring out. 'Agile'/scrum & friends is a sort of industry-wide standard approach, and all of that should be rethought - once a bit of the dust settles.

We're so early in the change that I haven't even seen anybody get it wrong, let alone right.

yodsanklai 9/2/2025|||
I split my diffs like I've always did so they can be reviewed by a human (or even an AI which won't understand 50 file changes).

The 50 file changes is most likely unsafe to deploy and unmaintainable.

Yoric 9/2/2025|||
I regularly write big MRs, then cut them into 5+ (sometimes 10+) smaller MRs. What does Claude Code change here?
dakiol 9/2/2025||
The split seems artificial now. Before, an average engineer would produce code sequentially, chunk after chunk. Each chunk submitted only after the previous one was reviewed and approved. Today, one could submit the whole thing for review. Also, if machines can write it, why not let machines review it too? Seems weird not to do so.
Yoric 9/3/2025|||
Not sure I follow. The limitation has never been about the developer being able to write a complex feature in one MR. It has always been about the other developer not being able to review a complex MR.

So far, nothing I've seen convinces me that machines can (yet) write or review code autonomously (although they can certainly be useful as assistants). Maybe some day.

Disposal8433 9/3/2025|||
Will the LLM take responsibility for the bugs and bad code introduced by the review? If it does and I'm free, then go for it.
edverma2 9/2/2025|||
I built a tool to split up a single PR into multiple nice commits: https://github.com/edverma/git-smart-squash
bongodongobob 9/2/2025||
Do whatever you want. Tell it to make different patches in chunks if you want. It'll do what you tell it to do.
josefrichter 9/2/2025||
I'm almost sure that we all ended up at the same set of rules and steps how to get the best out of Claude - mine are almost identical, others' I know as well :-)
alessandru 9/3/2025||
did this guy read that other paper about ai usage making people stupid?

how long until he falls from staff engineer back down to senior or something less?

BhavdeepSethi 9/3/2025|
It's funny that the MIT paper HN is trending higher than this post, so it propped up before I read this article.
rester324 9/2/2025||
> If I were to give advice from an engineer's perspective, if you're a technical leader considering AI adoption: >> Let your engineers adopt and test different AI solutions: AI-assisted coding is a skill that you have to practice to learn.

I am sorry, but this is so out of touch with reality. Maybe in the US most companies are willing to allocate you 1000 or 1500 USD/month/engineer, but I am sure that in many countries outside of the US not even a single line (or other type of) manager will allocate you such a budget.

I know for a fact that in countries like Japan you even need to present your arguments for a pizza party :D So that's all you need to know about AI adoption and what's driving it

bongodongobob 9/2/2025||
Depends on the culture. I worked at a place that did $100 million in sales a year and if the cost was less than $5k for something we needed, management said just fuckin do it, don't even ask. I also worked at a place that did $2 billion a year and they required multi-level approval for MS project pro licenses. All depends.

Edit: Why is this downvoted? Different corp cultures have different ideas about what is worthwhile. Some places value innovation and experimentation and some places don't.

LtWorf 9/3/2025||
I love how you are getting downvoted, probably by people who have never set foot outside the USA.
lordnacho 9/2/2025|
I'm using Claude all the time now. It works, and I'm amazed it worked so easily for me. Here's what it looks like:

1) Summarize what I think my project currently does

2) Summarize what I think it should do

3) Give a couple of hints about how to do it

4) Watch it iterate a write-compile-test loop until it thinks it's ready

I haven't added any files or instructions anywhere, I just do that loop above. I know of people who put their Claude in YOLO mode on multiple sessions, but for the moment I'm just sitting there watching it.

Example:

"So at the moment, we're connecting to a websocket and subscribing to data, and it works fine, all the parsing tests are working, all good. But I want to connect over multiple sockets and just take whichever one receives the message first, and discard subsequent copies. Maybe you need a module that remembers what sequence number it has seen?"

Claude will then praise my insightful guidance and start making edits.

At some point, it will do something silly, and I will say:

"Why are you doing this with a bunch of Arc<RwLock> things? Let's share state by sharing messages!"

Claude will then apologize profusely and give reasons why I'm so wise, and then build the module in an async way.

I just keep an eye on what it tries, and it's completely changed how I code. For instance, I don't need to be fully concentrated anymore. I can be sitting in a meeting while I tell Claude what to do. Or I can be close to falling asleep, but still be productive.

abraxas 9/2/2025|
I tried to follow the same pattern on a backend project written in Python/FastAPI and this has been mostly a heartache. It gets kind of close but then it seems to periodically go off the rails, lose its mind and write utter shit. Like braindead code that has no chance of working.

I don't know if this is a question of the language or what but I just have no good luck with its consistency. And I did invest time into defining various CLAUDE.md files. To no avail.

ryandrake 9/3/2025|||
What I find helpful in a large project is whenever Claude goes way off the rails, I correct it, and then tell it to update CLAUDE.md with instructions in its own words how to not do it again in the future. It doesn't stop the initial hallucinations and brainfarts, but it seems to be making the tool slowly better as it adds context for itself.
lordnacho 9/2/2025||||
Has this got anything to do with using a stronger typed language? I've heard that reported, not sure whether it's true since my python scripts tend to be short.

Does it end in a forever loop for you? I used to have this problem with other models.

adastra22 9/2/2025||
I also use Rust with Claude Code, like GP. I do not experience forever loops — Claude converges on a working compiling solution every time. Sometimes the solution is garbage, and many times it gets it to “work” by disabling the test. I have layers of scaffolding (critic agents) that prevent this from being something I have to deal with, most of the time.

But yeah, strongly typed languages, test driven development, and good high quality compiler errors are real game changers for LLM performance. I use Rust for everything now.

wg0 9/2/2025|||
I can second that. Even on plain CRUD with little to no domain logic.
More comments...