12 ms·
Claude Code is hard to describe. It’s almost like I changed jobs when I started using it. I’ve been all-in with Claude as a workflow tool, but this is literally
by iambateman 1y ago
Claude Code is hard to describe. It’s almost like I changed jobs when I started using it. I’ve been all-in with Claude as a workflow tool, but this is literally steroids.
If you haven’t tried it, I can’t recommend it enough. It’s the first time it really does feel like working with a junior engineer to me.
- dejavucoder 1y agoAlmost feels like a game as you level up!
- arealaccount 1y agoWeirdly enough I have the opposite experience where it will take several minutes to do something, then I go in and debug for a while because the app has become fubar, then finally realize it did the whole thing incorrectly and throw it all away. And I reach for Claude quite a bit because if it worked as well for me like everyone here says, that would be amazing. But at best it’ll get a bunch of boilerplate done after some manual debugging, at worst I spend an hour and some amount of tokens on a total dead end
- jm4 1y agoYou can tell Claude to verify its work. I’m using it for data analysis tasks and I always have it check the raw data for accuracy. It was a whole different ballgame when I started doing that. Clear instructions go a long way, asking it to review work, asking it to debug problems, etc. definitely helps.
- vunderba 1y ago> You can tell Claude to verify its work Definitely - with ONE pretty big callout. This only works when a clear and quantifiable rubric for verification can be expressed. Case in point, I put Claude Code to work on a simple react website that needed a "Refresh button" and walked away. When I came back, the button was there, and it had used a combination of MCP playwright + screenshots to roughly verify it was working. The problem was that it decided to "draw" a circular arrow refresh icon and the arrow at the end of the semicircle was facing towards the circle centroid. Anyone (even a layman) would take one look at it and realize it looked ridiculous, but Claude couldn't tell even when I took the time to manually paste a screenshot asking if it saw any issues. While it would also be unreasonable to expect a junior engineer to hand-write the coordinates for a refresh icon in SVG - they would never even attempt to do that in the first place realizing it would be far simpler to find one from Lucide, Font Awesome, emojis, etc.
- deleted 1y ago[deleted]
- DrewADesign 1y agoIn general, using your own symbol forms for interactions rather than taking advantage of people’s existing mental models is a bad idea. Even straying from known libraries is shaky unless you’re a competent enough designer to understand what specific parts of a visual symbol signify that specific idea/action, and to whom. From a usability perspective, you’re much better off not using a symbol at all than using the wrong one.
- yakz 1y agoI second this and would add that you really need an automated way to do it. For coding, automated test suites go a long way toward catching boneheaded edits. It will understand the error messages from the failed tests and fix the mistakes more or less by itself. But for other tasks like generating reports, I ask it to write little tools to reformat data with a schema definition, perform calculations, or do other things that are fairly easy to then double-check with tests that produce errors that it can work with. Having it "do math in its head" is just begging for disaster. But, it can easily write a tool to do it correctly.
- bigiain 1y ago> Clear instructions go a long way, asking it to review work, asking it to debug problems, etc. definitely helps. That's exactly what I learned. In the early 2000's, from three expensive failed development outsourcing projects.
- tcdent 1y agoThis has a lot to do with how you structure your codebase; if you have repeatable patterns that make conventions obvious, it will follow them for the most part. When it drops in something hacky, I use that to verify the functionality is correct and then prompt a refactor to make it follow better conventions.
- hnaccount_rng 1y agoYeah that is kind of my experience as well. And - according to the friend who highly recommended it - I gave it a task that is "easily within its capabilities". Since I don't think I'm being gaslighted, I suspect it's me using it wrong. But I really can't figure out why. And I'm on my third attempt now..
- 0x_rs 1y agoSome great advice I've found that seems to work very well: ask it to keep a succinct journal of all the issues and roadblocks found during the project development, and what was done to resolve or circumvent them. As for avoiding bloating the code base with scatterbrained changes, having a tidy architecture with good separation of concerns helps leading it into working solutions, but you need to actively guide it. For someone that enjoys problem-solving more than actually implementing them, it's very fun.
- taude 1y agoto continue on this, I wouldn't let claude or any agent actually create a project structure, i'd guide it in the custom system prompt. and then in each of the folders continue to have specific prompts for what you expect the assets to be coded like, and common behavior, libraries, etc....
- gonzo41 1y agoSo you've invented writing out a full business logic spec again. btw, I'm not throwing shade. I personally think upfront design through a large lumbering document is actually a good way to develop stuff. As you either do it upfront, or through endless iterations in sprints for years.
- bugglebeetle 1y agoYeah, my experience of working with Claude Code is that I’m actually far more conscientious about design. After using it for awhile, you get a good sense of its limits and how you need to break things down and spell thing out to overcome.
- underdeserver 1y agoThe problem with waterfall wasn't the full business spec, it was that people wrote the spec once and didn't revise it when reality pushed back.
- taude 1y agoI spent 10 minutes writing out the business logic, you don't have to do it all at once. We're not talking about long complicated things here.
- taude 1y agodo you create the claude.md files at several levels of your folder structure, so you can teach it how to do different things? Configuring these default system prompts is required to get it to work well. I'd definitely watch Boris's intro video below [1] [1] Boris introduction: https://www.youtube.com/watch?v=6eBSHbLKuN0 https://www.youtube.com/watch?v=6eBSHbLKuN0 [2] summary of above video: https://www.nibzard.com/claude-code/ https://www.nibzard.com/claude-code/
- dawnerd 1y agoBy the time you do all of that you might as well just write code by hand.
- serf 1y agothat's really just a scale question. Yes, I would write a 4 line bash script by myself. But if you're trading a 200 line comprehensive claude.md document for a module that might be 20k LoC? it's a different value proposition.
- darkwater 1y agoAnd how do you actually know that those 20k line of codes have no glaring bugs, or bugs that you can find yourself, or be able to understand it completely at some point?
- libraryofbabel 1y agoSigh. As others have commented, over and over again in the last 6 months we've seen discussions on HN with the same basic variation of "Claude Code [or whatever] is amazing" with a reply along the lines of "It doesn't work for me, it just creates a bunch of slop in my codebase." I sympathize with both experiences and have had both. But I think we've reached the point where such posts (both positive and negative) are _completely useless_, unless they're accompanied with a careful summary of at least: * what kind of codebase you were working on (language, tech stack, business domain, size, age, level of cleanliness, number of contributors) * what exactly you were trying to do * how much experience you have with the AI tool * is your tool set up so it can get a feedback loop from changes, e.g. by running tests * how much prompting did you give it; do you have CLAUDE.me files in your codebase and so on. As others pointed out, TFA also has the problem of not being specific about most of this. We are still learning as an industry how to use these tools best. Yes, we know they work really well for some people and others have bad experiences. Let's try and move the discussion beyond that!
- reactordev 1y agoSeconded, that a summary description of your problem, codebase, programming dialect in use, should be included whenever a “<Model> didn’t work for me” response.
- dejavucoder 1y agoFair point. For context, I was using Claude Code on a Ruby + Typescript large open source codebase. 50M+ tokens. They had specs and e2e tests so yeah I did have feedback when I was done with a feature - I could run specs and Claude Code could form a loop. I would usually advise it to fix specs one by one. --fail-fast to find errors fast. Prior to Claude Code, I have been using Cursor for an year or so. Sonnet is particularly good at NextJS and Typescript stuff. I also ran this on a medium sized Python codebase and some ML related work too (ranging from langchain to Pytorch lol) I don't do a lot of prompting, just enough to describe my problem clearly. I try my best to identify the relevant context or direct the model to find it fast. I made new claude.md files.
- 1y ago
- wyldfire 1y agoI have seen both success and failure. It's definitely cool and I like to think of it as another perspective for when I get stuck or confused. When it creates a bunch of useless junk I feel free to discard it and either try again with clearer guidelines (or switch to Opus).
- leptons 1y agoHave you tried vibing harder?
- baka367 1y agoFor me it fixed a library compatibility issue with React 19 in 10 mins and several nudges startign from the console error and library name. It would have been a half-day worth of adventure at least should i have done it myself (from diagnosing to fixing)
- Philpax 1y ago> I go in and debug for a while because the app has become fubar, then finally realize it did the whole thing incorrectly and throw it all away. This seems consistent with some of the more precocious junior engineers I've worked with (and have been, in the past.)
- nzach 1y ago> take several minutes to do something The quality of the generated code is inversely proportional to the time it take to generate it. If you let Claude Code work alone for more than 300 seconds you will receive garbage code. Take that as a hint, if it can't finish the task in this time it means you are asking too much. Break up your feature and try with a smaller feature.
- pragmatic 1y agoCould you elaborate a bit on the tasks,languages,domain etc you’re using it with? People have such widely varying experiences and I’m wondering why.
- criddell 1y agoI haven't had great luck with Claude writing Windows Win32 (using MFC) in C++. It invents messages and APIs all the time that read like exactly what I want it to do. I'd think Win32 development would be something AIs are very strong at because it's so old, so well documented, and there's a ton of code out there for it to read. Yet it still struggles with the differences between Windows messages, control notification messages, and command messages.
- thegrim33 1y agoI find it pretty interesting that it's a roughly 2,500 word article on "using Claude Code" and they never once actually explain what they're using it for, what type of project they're coding. It's all just so generic. I read some of it then realize that there was absolutely no substance in what I just read. It's also another in my growing list of data points towards my opinion that if an author posts meme pictures in their article, it's probably not an article I'm interested in reading.
- kraftman 1y agoYeah I got about half way through before thinking "wow theres no information in this" and giving up.
- sensanaty 1y agoAlways good to be cognizant that there are MANY people out there, especially on HN/YC circles, with large vested interests in LLM tooling. Just check out the YC batches lately, you'll be hard pressed to find a single one that doesn't mention AI or LLMs in some way.
- vitaflo 1y agoIt’s always telling when people don’t show their work. I’m not saying LLMs can’t do a good job but if you’re not even explaining the steps you used or showing the code that was generated or fixed then I have to assume what was really produced was unmaintainable spaghetti code that just happened to compile.
- kbuchanan 1y agoI've had the same experience, although I feel like Claude is far more than a junior to me. It's ability to propose options, make recommendations, and illustrate trade-offs is just unreal.
- gjsman-1000 1y ago> It’s the first time it really does feel like working with a junior engineer to me. I have mixed feelings; because this means there’s really no business reason to ever hire a junior; but it also (I think) threatens the stability of senior level jobs long term, especially as seniors slowly lose their knowledge and let Claude take care of things. The result is basically: When did you get into this field, by year? I’m actually almost afraid I need to start crunching Leetcode, learning other languages, and then apply to DoD-like jobs where Claude Code (or other code security concerns) mean they need actual honest programmers without assistance. However, the future is never certain, and nothing is ever inevitable.
- Quarrelsome 1y ago> because this means there’s really no business reason to ever hire a junior aren't these people your seniors in the coming years? Its healthy to model an inflow and outflow.
- toomuchtodo 1y agoThe pipeline dries up when orgs would rather get the upfront savings of gen AI productivity gains versus invest in talent development.
- kimixa 1y agoIt's a junior engineer that doesn't learn - they make the same mistakes even after being corrected the second that falls out their context window (even often with "corrections" still there...), they struggle to abstract those categories of mistakes to avoid making similar ones in the future, and (by the looks of it) will never be "the senior". "Hiring a Junior" should really be seen as an investment more than immediate output. I keep being told that $(WHATEVER MODEL) is the greatest thing ever, but every time I actually try to use them they're of limited (but admittedly non-zero) usefulness. There's only so many breathless blogs or comments I can read that just don't mesh with the reality I personally see. Maybe it's sector? I generally work on Systems/OS/Drivers, large code bases in languages like C, C++ and Rust. Most larger than context windows even before you look at things like API documentation. Even as a "search and summarizer" tool I've found it completely wrong in enough cases to be functionally worthless as the time required to correct and check the output isn't a saving. But they can be handy for "autocompletion+" - like "here's a similar existing block of code, now do the same but with (changes)". They generally seem pretty good at being like a template engine on non-templated code, so thing like renaming/refactoring or similar structure recognition can be handy. Which I suspect might also explain some of those breathless blog posts - I've seen loads which say "Any non-coder can make a simple app in seconds!" - but you could already do that, there's a million "Simple App Tutorial" codebases that would match whatever license you want, copy one, change the name at the top and you're 99% of the way to the "Wow Magic End Result!" often described.
- apwell23 1y agohalf the posts on hackernews is same discussion over and over about coding agent usefulness or lack of
- ivanech 1y agoJust got it at work today and it’s a dramatic step change beyond Cursor despite using the same foundation models. Very surprising! There was a task a month ago where AI assistance was a big net negative. Did the same thing today w/ Claude Code in 20ish minutes. And for <$10 in API usage! Much less context babysitting too. Claude code is really good at finding the things it needs and adding them to its context. I find Cursor’s agent mode ceases to be useful at a task time horizon of 3-5 minutes but Claude Code can chug away for 10+ minutes and make meaningful progress without getting stuck in loops. Again, all very surprising given that I use sonnet 4 w/ cursor + sometimes Gemini 2.5 pro. Claude Code is just so good with tools and not getting stuck.
- iambateman 1y agoCool! If you're on pro, you can use a _lot_ of claude code without paying for API usage, btw.
- arresin 1y agoEven though it’s the same model cursor adds a massive system prompt to every request. And it’s shit and lobotomises the models. After the rug pull I’m exclusive Claude code at the end of my billing period or when cursor cut me off the $60 a month plan—-which will probably come first—-a bit over halfway into my month.
- dude250711 1y agoHow are you guys happy with an 80-s looking terminal interface is beyond me... If Claude is so amazing, could Anthropic not make their own fully-featured yet super-performant IDE in like a week?
- yoyohello13 1y agoFree yourself from the shackles of the GUI.
- dude250711 1y agoFree yourself from the shackles or displays too? Back to punched cards?
- kobe_bryant 1y agoin what sense, instead of doing your job which I assume you've been doing successfully for many years you now ask Claude to do it for you and then have to review it?
- giancarlostoro 1y agoI am loving the Zed editor and they integrate Claude primarily so I might give it a shot.
- komali2 1y agoDoes anyone have any usage guides they can recommend to feel this way about using Claude code, other than the OP article? I fired it up yesterday for about an hour and tried it on a couple tickets and it felt like a total waste of time. The answers it gave were absurdly incorrect - I was being quite specific in my prompting and it seemed to be acquiring the proper context, but just doing nothing like what I was asking. E.g. I asked it to swap all on change handlers in a component to modify a use State rather than directly fire a network request, and then add on blurs for the actual network request. It didn't add use states and just added on blurs that sent network requests to the wrong endpoint. Bizarre.
- satisfice 1y agoAre you doing anything useful? How can anyone outside of yourself know this? My own experiments only show that this technology is unreliable.
- ern 1y agoI liked Claude Code when I used it initially to document a legacy codebase. The developer who maintains the system reviewed the documentation, and said it was spot-on. But the other day I asked it to help add boundary logging to another legacy codebase and it produced some horrible, duplicated and redundant code. I see these huge Claude instruction files people share on social media, and I have to wonder... Not sure if they're rationing "the smarts" or performance is highly variable.
- polishdude20 1y agoI found cursor much better than Claude Code. Running Claude code it did so many commands and internal prompting to get a small thing done and ate up tonnes of my quota. Cursor on the other hand did it super quick and straight to the point. Claude code just got stuck in grep hell
- datpuz 1y agoJust wait til the honeymoon period ends and you actually have to stand behind that slop you didn't realize you were dumping into your codebase.
- chisleu 1y agoLike working with an incredibly talented and knowledgable junior engineer, but still a junior engineer. If you want to try something better than claude code, try Cline.
- poszlem 1y agoCan you explain how cline is better?
- chisleu 1y agoI love the interface. It makes it extremely easy to rewind time to undo code edits and rewinding the LLM context at the same time. It's prompting and toolset is great. It's got MCP which I have integrated into my workflow. It's got a solid marketplace of auto installing MCP services. I love it.
- anothernewdude 1y agoI agree with the comparison to steroids, but then I've seen people go through the health issues caused by steroids so we might mean different things by that comparison.
- poszlem 1y agoI agree. I also recommend people read this: https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/claude-4-best-practices https://docs.anthropic.com/en/docs/build-with-claude/prompt-... There are some things in there that really take this from an average tool to something great. For example, a lot of people have no idea that it recognizes different levels of reasoning and allocates a bigger number of “thinking tokens” depending on what you ask (including using “ultrathink” to max out the thinking budget). I honestly think that people who STILL get mostly garbage outputs just aren’t using it correctly. Not to mention the fact that people often don't use Opus 4 and stay with Sonnet to save money.
- Aeolun 1y ago> It’s the first time it really does feel like working with a junior engineer to me. I feel like working with Claude is what it must feel like for my boss to work with me. “Look, I did this awesome thing!” “But it’s not what I asked for…”
- strtok 1y agoUnlike a junior engineer, its feelings don’t get hurt when you ask for a redo
- actinium226 1y ago> it really does feel like working with a junior engineer to me. I agree. It reminds me of this one junior engineer I worked with who produced awful code, and it would take longer to explain stuff to him than to just do it myself, let alone all the extra time I had to spend reviewing his awful PRs. I had hoped he would improve over time, but he took my PR comments personally and refused to keep working with me. At least Claude doesn't have an attitude.