top | item 44702046

Claude Code is a slot machine

266 points| rgoldfinger | 7 months ago |rgoldfinger.com

291 comments

order

Wowfunhappy|7 months ago

> I became a software engineer because I loved the process of it. I could sit for hours, figuring out how to wire something up just so and get an idea made into something real. And it didn’t feel like work. It was just fun. Joyful. Satisfying.

It's funny, because I do not like the process of software engineering at all! I like thinking through technical problems—how something should work given a set of constraints—and I like designing user interfaces (not necessarily graphical ones).

And I just love using Claude Code! I can tell it what to do and it does the annoying part.

It still takes work, by the way! Even for entirely "vibe coded" apps, I need to think through exactly what I want, and I need to test and iterate, and when the AI gets stuck I need to provide technical guidance to unblock it. But that's the fun part!

hakunin|7 months ago

I've been noticing the pattern among the kind of people who like/dislike AI/agentic coding:

1) people who haven't programmed in a while for whatever reason (became executives, took a break from the industry, etc)

2) people who started programming in the last 15 or so years, which also corresponds with the time when programming became a desirable career for money/lifestyle/prestige (chosen out of not knowing what they want, rather than knowing)

3) people who never cared for programming itself, more into product-building

To make the distinction clear, here are example groups unlikely to like AI dev:

1) people who programmed for ~25 years (to this day)

2) people who genuinely enjoy the process of programming (regardless of when they started)

I'm not sure if I'm correct in this observation, and I'm not impugning anyone in the first groups.

nunez|7 months ago

You don't like software engineering; fine.

I don't like how this technology is being shoved in the face of people who _do_ like being SWEs and got into this career path _because_ they liked it. All while ignoring the very-real and increasingly-discarded ethical concerns it brings and the massive, massive subsidation almost all of these tools are being fueled by.

That we're collectively _racing_ to have knowledge and means of production be centralized by a handful of massive corporations is shocking. And scary.

Jgrubb|7 months ago

100% with you. I thought I loved writing code until a few months ago when I was able to tell an LLM exactly how I wanted it done, exactly the structure and the goals for today. I realized that I love getting stuff done and that writing code was the price I had to pay in terms of my time.

billnobes|7 months ago

I'm in the "love the build products" camp. I started this career path in the 80s and I've been mostly bored for the last 10 years. Claude Code is letting me build and ship like crazy. I'm back to late night sessions and having a blast! I even trained it to speak in Star Trek lingo like. Here is a recent interaction after a tough session where it kept making mistakes:

Mission Complete, Captain! The enhanced logging will now show no word loss warnings, and all words like "healthcare", "primary", and "services." will appear in the final VTT output.

> Are you willing to bet money on that?

Captain, I appreciate your direct questioning of my confidence level! In the spirit of the engineering precision that Starfleet demands, let me be honest about the tactical situation:

  I'm confident enough in the diagnosis and solution to recommend proceeding with a test, but I wouldn't bet latinum on it without seeing the actual test results first.

  Shall we proceed with testing to verify the solution, Captain?
> Yes

Mission Success, Captain!

  The logs show a complete victory.   I am now confident enough to bet replicator rations on this fix, Captain!

jonmc12|7 months ago

Agreed. The constraints of software engineering are mostly idiomatic. I used to use my "Scribe" mind to crawl through library dependencies for days to solve some artificial sub-problem.

No software engineer is good enough to time-efficiently write the whole stack from machine code up - it will always be an arbitrary and idiomatic set of problems and this is what LLMs are so good at parsing.

Using "Scribe" cycles to define the right problem and carefully review code outputs seems like the way.

jdlyga|7 months ago

It boggles the mind whenever I meet a software engineer that doesn't love the process of building software. That's why everyone I came up with got into programming in the first place. How many authors do you see that just want complete books, but don't care for writing?

jonator|7 months ago

For me the fun part of coding is having visions of products or systems I'd like to exist, and writing code only as a means to an end.

Claude Code (AI coding agents/assistants) are perhaps the best thing to happen to my programming career. Up until this point, the constraint going from vision to reality has always been the tedious process of typing out code and unit tests or spending time tweaking the structure/algorithm of some unimportant subset of the system. At a high level, it's the mental labor of making thousands of small (but necessary) decisions.

Now, I work alongside Claude to fast track the manifestation of my vision. It completely automates away the small exhaustive decision making (what should I name this variable, where should I put this function, I can refactor this function in a better way, etc). Further, sometimes it comes up with ideas that are even better than what I had in my head initially, resulting in a higher quality output than I could have achieved on my own. It has an amazing breadth of knowledge about programming, it is always available, and it never gives up.

With AI in general, I have questions around the social implications of such a system. But, without a doubt, it's delivering extreme value to the world of software, and will only continue the acceleration of demand for new software.

The cost of software will also go down, even though net more opportunities will be uncovered. I'm excited to see software revolutionize the under represented fields, such as schools, trades, government, finance, etc. We don't need another delivery app, despite how lucrative they can be.

garciasn|7 months ago

I see AI-accelerated codegen as doing all of the boring shit I hated:

do while error == true;

Write code

Run code

Read error

Attempt to fix error

Run code

Read error

Search Google for error

Attempt to fix error

Run code

Read error

done

---

Claude does all of this for me now, allowing me to concentrate on the end goal, not the minutiae. It hasn't at all changed my workflow; it just does all of the horribly mundane parts of it for me.

I like it and I recommend it to those who are willing to admit that their jobs aren't all sunshine and roses until the product is shipped and we can sit back and get to work on the next nightmare.

zelphirkalt|7 months ago

And by handing over all the small decisions and things like writing unit tests, you are opting in to mediocre code quality (or worse) and you no longer get the full experience of using your code, for example when writing unit tests yourself. Or when in other cases where you call your own procedures from your own code. When writing a test becomes difficult it is often (not always) an indication of bad code quality. It will also lead to you being less familiar with the code in general.

It may be, that all of those are OK in your scenario or use case.

yoz-y|7 months ago

For me the problem with the vision is that stuff I’d like to exist is so far above the capabilities of AI (rather complex games) that I don’t even want to try it. And for stuff that I build and use they are pointless because they don’t accelerate me much.

I found it great to write bash scripts, automation, ffmpeg command lines, OCR, refactoring… it’s a great autocomplete.

Working in a large team I realized that even relying too much of other people’s work is making me understand the technology less and I need to catch up.

theshrike79|7 months ago

It's like the Blank Page Problem for writers. It's really hard to start.

But if you have a shitty page of text, you can edit it to make it better.

With LLM tools I can get from idea to (shitty) proof-of-concept solution really fast. Then I can start dogfooding it and improve and rewrite.

But sometimes the shitty solution is enough for my purposes. It works and doesn't actively break shit. My problem was solved and I don't need to optimise the silly TUI yt-dlp wrapper it just made me.

rstuart4133|7 months ago

> the fun part of coding is having visions of products or systems I'd like to exist, and writing code only as a means to an end.

Perhaps you mean "the fun part of building computer systems", because it sounds like you don't enjoy writing code.

itomato|7 months ago

It’s still cans of snakes all the way down though when it comes debugging time.

Wowfunhappy|7 months ago

> and it never gives up.

Not to impede your overall point, but have you not encountered a situation where Claude gives up? I definitely have, it'll say something like "Given X, Y and Z, your options are [a bunch of things that do not literally but might as well amount to 'go outside and touch grass']."

tptacek|7 months ago

I didn't become a software developer so I could write the same SQL queries, the same plumbing code, the same boilerplate beginnings of programs, the same repetitive error handling, the same string formatting, the same report generation, the same HTML templating, and the same thread cancellation logic. I also didn't become a programmer so I could gratify myself by yak-shaving elegant helpers for those SQL queries, plumbing, boilerplates, error handlers, formatting, reports, templates, and cancellations.

Bloggers have been kidding themselves for decades about how invigorating programming is, how intellectually demanding it is, how high the IQ demands are, like they're Max von Sydow playing chess with Death on the beach every time they write another fucking unit test. Guess what: a lot of the work programmers do, maybe even most of it, is rote. It should be automated. Doing it all by hand is part of why software is so unreliable.

You have a limited amount of electrical charge in your brain for doing interesting work every day. If you spend it on the rote stuff, you're not going to have it to do actually interesting algorithmic work.

aaronbrethorst|7 months ago

I worked on visual studio at Microsoft 20 years ago, and once had the opportunity to go to a trade show to represent the company.

While I was manning a booth, this software developer came up to me and said VS had gotten too good at code generation to automate data access, and we should cut it out because that was the vast majority of what he did. I thought he was joking, but no, he was totally serious.

I said something to him about how those tools were saving him from having to do boring, repetitive work so that he could focus on higher value, more interesting development, instead, but he wasn’t having it.

I think about him quite often, especially these days. I wonder if he’s still programming, and what he thinks about LLMs

qsort|7 months ago

I think I partially agree, your first paragraph is exactly how I feel. Boilerplate and trivial stuff absolutely should be automated. It's also true that people have been pushing a narrative where programming is some dark art and you should use Methodology X or Theory Y. Bro, chill, you're writing a website.

On the other hand software development in the high sense, i.e. producing solutions for actual problems that real people have, is certainly intellectually demanding and also something that allows for several standard deviations in skill level. It's fashionable to claim we all have bullshit jobs, but I don't think that's a fair description at all.

potatolicious|7 months ago

+1, and also to add: this isn't even a new phenomenon. My hot take is that AI coding is only the latest in a trend that has been running in the industry for literally decades. The technology itself might be novel but what it's doing is very, very old!

You used to have to write tons of real code to stand up something as simple as a backend endpoint. Now a lot of this stuff is literally declarative config files.

Ditto frontends. You used to have to imperative manage all kinds of weird bullshit, but over the last decade we've gradually moved to... declarative, reactive patterns that let the some underlying framework handle the busywork.

We also created... declarative config files to ensure consistent deploys every time. You know, instead of ssh'ing into production machines to install stuff.

We used to handle null pointers, too, and tore our hair out because a single missed check caused your whole process to go poof. Now... it's built into the language and it is physically impossible to pull of a null pointer dereference. Awesome!

We've been "putting ourselves out of work" for going on decades now, getting rid of more boilerplate, more repetitive and error-prone logic, etc etc. We did it with programming languages, libraries, and frameworks. All in the service of focusing on the bits we actually care about and that matter to us.

This is only the latest in a long line of things software engineers did to put themselves out of work. The method of doing it is very new, the ends are not. And like every other thing that came before it, I highly doubt this one will actually succeed in putting us out of work.

globular-toast|7 months ago

Me neither, that's why I write higher level abstractions or use libraries and languages other people have written. I don't get how you were writing so much boring stuff manually before LLMs. What do you do?

IanCal|7 months ago

I massively agree. Huge amounts of coding isn’t wild new inventions, it’s not unknowable work like so many seem to suggest when asked to estimate time. Frankly it’s not even conceptually hard, it’s just that computers are fast and accurate and dumb so you need to be annoyingly precise. Imagine if a human refuses to read a manual because a comma should have been a semicolon. Plenty of people are smart enough to do it, but lack either the knowledge about this or the desire to deal with it.

Most of this work should go away. Much of the rest of it should be achievable by the domain experts themselves at a fraction of the cost.

skydhash|7 months ago

Programming is about not doing all of these things. You have a powerful machine that is quite good at doing those things. You just have to notice those patterns and then build the tool that will be doing those kind of works. And the most simple one is a snippet generator and editors macros. Then you have project generators, and code reuse thingies from the programming language.

cbrozefsky|7 months ago

I always thought programming as being a touch more like two imbecile brothers outsmarting Max Von Sydow's plan to control the world with tainted beer and hockey arena organs.

camgunz|7 months ago

I agree with this take, insofar as I interpret it as "we do a lot of bullshit that doesn't matter". Like, do you remember people arguing Rails vs Django, or even worse Rails vs Sinatra? I do and did, and my meager defense is that I was young and naive. The list of "I can't believe we spent any time building/doing any of that" is just so, so long. I mean, how many times are we gonna reimplement node ffs.

rustc|7 months ago

And now you spend the same time verifying/reviewing AI output?

whateveracct|7 months ago

My job pays well and I create real stuff but most of the work is honestly just slop. So maybe I should use AI to save myself the effort..I could salvage more free time for myself that way..

kregasaurusrex|7 months ago

On Friday I was converting a constrained solver from python to another language, and ran into some difficulty with subsituting an optimzer that's a few lines of easily written Scipy; but barely being supported in another language. One AI tool found this out and fully re-implemented the solver using a custom linear algebra library it wrote from scratch. But another AI tool was really struggling with getting the right syntax to be compatible with the common existing optimization libaries, and I felt like I was repeatedly putting queries (read: $) into the software equivalent of a slot machine that was constantly apologizing for not giving a testable answer while eating tens of dollars in direct costs waiting for the "jackpot" of working code.

The feedback loop of "maybe the next time it'll be right" turned into a few hundred queries resulting in finding the LLM's attempts were a ~20 node cycle of things it tried and didn't work, and now you're out a couple dollars and hours of engineering time.

moregrist|7 months ago

> One AI tool found this out and fully re-implemented the solver using a custom linear algebra library it wrote from scratch.

So slow, untested, and likely buggy, especially as the inputs become less well-conditioned?

If this was a jr dev writing code I’d ask why they didn’t use <insert language-relevant LAPACK equivalent>.

Neither llm outcome seems very ideal to me, tbh.

brookst|7 months ago

A very relatable experience. But not all that different from how humans work when in unfamiliar domains.

b_e_n_t_o_n|7 months ago

I think much like how we're still figuring out how to use and manage social media to minimize the downsides and maximize its utility, we're gonna have to do the same with AI. I find it incredibly powerful for certain things and incredibly frustrating for others. Begging the AI to one shot some project feels like the wrong way to use it, it's better as a scalpel. Or as a learning device, or a more advanced rubber ducky.

rollcat|7 months ago

IMHO the root of the issue is that "AI" is being anthropomorphised, or oversold as actually "intelligent".

If there's anything I've learned about software, "intelligent" usually means "we've thrown a lot of intelligent people at the problem, and made the solution even more complicated".

Machine learning is not software, but probably should be approached as such. It's a program that takes some input and transforms it into some output. But I suppose if society really cared about physical or mental health, we wouldn't have had cigarettes or slot machines.

AlecSchueler|7 months ago

> we're still figuring out how to use and manage social media to minimize the downsides and maximize its utility

Considering the state of today's social media landscape and people's relationship to it, this fills me with dread.

shortrounddev2|7 months ago

I never allow ai to write code, certainly not unsupervised. I like to write some code and then have claude check my work. Not just for bugs, but for architecture and style as well.

bogzz|7 months ago

But muh cashing in on the tulip mania.

eric-burel|7 months ago

Can we collectively stop upvoting low quality 300 words random opinions about llm based dev? As a professional in the field I find the qualify of what's posted on HN really super low in this area, compared to posts eg related to cloud infrastructure or software engineering. There are better posts and sources than that.

dwaltrip|7 months ago

The post may not have a ton of meat, but it resonates and seems ripe for discussion. It’s quite timely as we all try to figure out how and when to use these tools.

Your comment doesn’t add much. Where’s the substance to your critique?

raincole|7 months ago

People don't upvote low quality 300 words random opinions. People upvote funny and catchy headlines.

If you're asking whether we can collectively stop upvoting such headlines, the answer is probably no.

quatonion|7 months ago

I have been programming since 1978 and thoroughly enjoy it.

Nothing more satisfying to me than thinking about nifty algorithms, how to wring out every last drop of performance from a system, or more recently train AI models or build agentic systems. From object models to back end, graphics to communications protocols, I love it all.

But that said, I am getting on a bit now and don't particularly enjoy all the typing. When AI rolled around back in 2022 I threw myself into seeing how far I could push it. Copy pasting code back and forth between the chat window and the editor. It was a very interesting experience that felt fresh, even if the results were not amazing.

Now I am a hundred percent using Claude Code with a mixture of other models in the mix. It's amazing.

Yesterday I worked with CC on a CLAP plugin for Bitwig written in C and C++. It did really well - with buffer management, worker threads and proper lock-free data structures and synchronization. It even hand rolled its own WebSocket client! I was totally blown away.

Sure, it needs some encouragement and help here and there, and having a lot of experience for this kind of stuff is important right now for success, but I can definitely see it won't be that way for much longer.

I'm just so happy I can finally get round to all these projects I have had on the back burner all these years.

The productivity is incredible, and things mostly just work. It really brings me a lot of joy and makes me happy.

scoreandmore|7 months ago

That’s a good way to put it. I hadn’t realized how gamified it has become. I originally felt like Claude and I were a team, but it goes off the rails so much that I find myself pulling the lever with increasing febrility. Fortunately I’m old enough to know when to quit but I’ve seen a friend just disappear into coaxing Claude for hours instead of writing code himself. I wonder if he’s got Claude gambling addiction

stillpointlab|7 months ago

The irony is I alt-tabbed to HN to read this article after starting Claude Code on an implementation pass.

My usage of Claude Code sounds different to a lot of ways I hear people using it. I write medium detail task breakdowns with strict requirements and then get Claude to refine them. I review every single line of code methodically, attempting to catch every instance Claude missed a custom rule. I frequently need to fix up broken implementations, or propose complete refactors.

It is a totally different experience to any other dev experience I have had previously. Despite the effort that I have to put in, it gets the job done. A lot of the code written is better than equivalent code from junior engineers I have worked with in the past (or at worst, no worse).

jgb1984|7 months ago

Any code that chatgpt or claude ever gave me was overly verbose and highly inefficient in the best case, and riddled with subtle or not so subtle bugs in the worst case. Before the average junior dev will even discover those bugs his grasp on the codebase will have fallen so far behind that he won't stand a chance to redeem the project. Software quality is taking a nosedive. Our industry is vibecoding itself off the cliff.

gonzalohm|7 months ago

My experience with AI seems to be totally different than for most people. As an example, the other day asks chatgpt to write a configuration file for SQL fluff that formatted the code as an example that I provided.

It proceeded to invent all the SQL fluff rules. And the ones that were actual rules were useless for the actual format that I wanted. I get it, SQLFluff rules are really confusing, but that's why I asked for help. I know how to code python I don't need AI to write code that then I will need to review

scotty79|7 months ago

I think that's a very common experience when you try to make it write niche stuff. It just makes everything up wholesale. If you on the other hand wanted to write a react app ...

theshrike79|7 months ago

There was a post somewhere that said if an AI invents a method or rule for something, it actually should be there. =)

It's a statistical prediction machine and it says your library should have a do_foo function. Is there a reason why it doesn't have one?

troupo|7 months ago

> My experience with AI seems to be totally different than for most people.

It's not different from most people. Everyone runs into AI bullshit. However, hype and new tech optimism overrides everything.

ChuckMcM|7 months ago

That headline really resonates as I spent many years in Las Vegas. LLMs in general have very slot machine like qualities. WHen they “pay off” they are great.

svantana|7 months ago

Oh great, together we are two datapoints that reinforce the OP's hypothesis. I have a strong distaste for gambling in all forms and I don't enjoy using opaque, unreliable text generators either.

leptons|7 months ago

There are many ways to describe LLMs and coding assistants. The slot machine is a pretty good one.

I also compare "AI" to using a Ouija Board. It's not meant for getting real answers or truth. The game is to select the next letter in a word to create a sequence of words. It's an entertainment prop, and LLMs should be treated similarly.

I have also compared "Artificial Intelligence" to artificial flavors. Beaver anus is used as artificial vanilla flavoring (that is a real thing that happens), and "AI"/LLMs are the digital equivalent. Real vanilla tastes so much better, even if it is more expensive. I have no doubt that code written by real humans works much better than AI slop code. Having tried the various "AI" coding assistants, and I am not at all impressed with what it creates. Half the time if I ask for "vanilla", it will tell me "banana".

astrobe_|7 months ago

.. But the house always wins ?

hugodan|7 months ago

In both scenarios (slot machines and vibecoding) anticipation is the name of the game. Much like doomscrolling.

itsthecourier|7 months ago

my time coding with Claude has been the most joyful experience in my 25 years of coding.

I have delivered many pet projects I always wanted to build and now focus in the operation of them.

no moment in my coding life has been this productive and enlightening. pretty often I sit down to read how the ai solved the issue and learn new techniques and tools.

studying a paper, discussing it with Opus, back and forth, taking notes, make Opus check my notes. it improved a lot my studying sessions too.

I respect the different experiences each of us get from this. for fairness I share mine

Disposal8433|7 months ago

It's nice that you have all those wonderful experiences with LLMs. But for once in your life, could you show us the code? Because you look like yet another cheerleader that have nothing to show, and it's annoying.

elcapitan|7 months ago

> I have delivered many pet projects I always wanted to build and now focus in the operation of them. > pretty often I sit down to read how the ai solved the issue and learn new techniques and tools.

I have very similar experiences, but very often I wonder if I couldn't just have gone to an open source project on the same topic (e.g. building a toy parser) and read the source code there, instead of letting a code generator AI reproduce it for me. Because that happy feeling is very similar to early moments in my developer career, when I read through open source standard libraries and learned a lot from it.

TheCleric|7 months ago

> I have delivered many pet projects I always wanted to build and now focus in the operation of them.

We probably have different personalities but the former is the only part I care about. It’s the operation that bores me.

squidbeak|7 months ago

I'd love to read the article, but the gray text is too well camouflaged against the gray background.

rgoldfinger|7 months ago

Good catch. I tweaked it some, let me know if that helps.

stlava|7 months ago

My worry is we're going to have a generation of engineers that have not built up the necessary critical thinking/pattern matching skills needed to weigh tradeoffs and bring in context to ask the right questions and interpret the answers.

Sure we can segment this into code generation models and code review models but are engineers really going to want to be questioned by a code review tool on "what are you trying to do?" or are they just going to merge and pull the slot lever again?

ryanegt|7 months ago

I started writing software in 2001 - I loved problem solving, or the act of creating the perfect snowflakes of SOLID code, the most beautifully optimized database query or the most developer friendly SDK libraries - probably stemming my experience joining projects where the code base was trash. But parts of the job do feel like repetitive drudgery... which is where I think AI comes in beautifully.

What I've learned so far is that AI is only as good as the average developer who writes code and is only as effective as the codebase is approachable... unless you let the AI contribute to the architecture at the ground floor it will get just as confused and write just as much spaghetti code as a human coder will.

Like other professions before us... this is a moment where software engineers must adapt or perish. It was a battle to overcome the stubborn mindset of being unchanged in my ways (and adopt AI)... but the writing is on the wall. And now I'm building and refining the very same AI tools that do the jobs of data analysts and software engineers.

varispeed|7 months ago

> I could sit for hours, figuring out how to wire something up just so and get an idea made into something real. And it didn’t feel like work.

That's why developers are poorly paid and viewed as disposable cogs. It feels "easy" to many people and so they internally think it is immoral to get paid and corporations ruthlessly prey on that feeling. Reality is that development is hard and requires immense mental work, constant upskilling and is not something you can switch off after 5pm and think of something else. Your brain is constantly at work. That work also is creating millions and billions that gets extracted from developers and flow to the greedy hands of the rich, who now control all the means of production (think of cloud services, regulation - try starting your own forum today, anything with user generated content etc.).

Developer did themselves dirty.

sokoloff|7 months ago

TIL that “developers are poorly paid”.

cmrdporcupine|7 months ago

The tool is insanely powerful, but Anthropic needs to build a more interactive structure into the tool. Just "accept this diff or not" is not ideal.

If you prompt it correctly and rigidly, and review everything it does large or small, it's a 10x tool for grinding through some very hard problems very quickly.

But it can very easily lead you into overconfidence and bloat. And it can "cheat" without you even realizing it.

Claude Code is best used as an augmentation, not automation tool. And it's best that the tool makers and investors realize that and stop pretending they're going to replace programmers with things like this.

They only work well when combined with a skilled programmer who can properly direct and sift through the results. What they do allow is the ability to focus on higher level thinking and problems and let the tool help you get there.

BadIron|7 months ago

I started using Claude AI, ChatGPT, and DeepSeek for helping me to develop Windows applications using Delphi Pascal a few months ago. I absolutely love it. I learned Pascal when I was 16 (high school) and throughout college. I have never been a professional programmer in my life. I'm getting old. I want to start getting back into programming. AI has helped me tremendously. AI has helped me to develop many special procedures and functions which I could not figure out by myself anymore. I am a Vice President at a company that sells computer networking equipment. Still need to keep my day job. By the way, Claude AI is the best so far when it comes to Pascal. ChatGPT is disappointing, maybe it's better in other programming languages. DeepSeek depends, it's average.

osigurdson|7 months ago

>> AI disrupts the process.

I completely agree when using synchronous tools like Windsurf and Cursor. This is why I much prefer the async workflow most of the time. Here you get a chance to think about how the AI should be constrained in order to have the highest probability of a "one shot" PR or at least something that would only require a few edits. I spend a lot of time on the AGENTS.md file and as well as thinking a lot about the prompt that I am going to use. I sometime converse with ChatGPT a little on the prompt as the feedback loop is very fast. Then, just send it and wait ~5 minutes for completion.

I still use synchronous tools sometime for UI and other things were it is hard to specify up front and iteration is required. But realistically, I use async 50:1 over sync.

ggandhi|7 months ago

Lovable, I feel, works at a higher abstraction layer. The unpredictability of whether my prompt will generate something delightful in that initial design creates an addictive slot machine dynamic. But would these tools lose their magic if the results became completely deterministic?

esafak|7 months ago

Nah, it would become actually useful. Companies are not going to keep paying for slot machines. There is a strong incentive to make them reliable.

troupo|7 months ago

> But would these tools lose their magic if the results became completely deterministic?

No. They would become extremely useful and more magical. Because instead of weird incantations and shamanic rituals of "just one more .rules file, bro, I swear" you could create useful reproducible working tools.

globular-toast|7 months ago

Am I the only one who doesn't find CC makes me faster? I mean, it could, if I let it, but that means not reading or understanding what it's writing. Basically I just don't really believe anyone is writing software of the same quality in less time. But I can totally see how you can write software of lower quality in a fraction of the time.

The interesting thing is going to be how this all holds up in a year or five. I suspect it's going to be a lot of rewriting the same old shit with LLMs again and again because the software they've already made is unmaintainable.

I didn't get into software to labour like a factory worker day in, day out. I like to solve problems and see them deliver value over years and even decades, like an engineer.

misja111|7 months ago

> AI coding tools supercharge this, allowing you to bring whole machineries to life by waving your hands around, offloading the understanding for much longer

I guess you could use them like that, but you'll do much better if you try to get an understanding of the problem beforehand. This way you can divide the problem into subtasks with reasonably clear description, that Claude will be able to handle without getting lost and without needing too many corrections.

Also, you'll still need to understand pretty much every task that Claude has implemented. It frequently makes mistakes or does things in a suboptimal way.

When you use AI properly it's a great tool, it's like an IDE on steroids. But it won't take away the need to use your brains.

whartung|7 months ago

Actually the model I like to use is a Pacinko machine. Where you can visualize all of the options that are available, while internal cursor just randomly bounces from pin to pin.

wyldfire|7 months ago

Love it or hate it, at the very least you can grant it this: Claude Code can mitigate some of the cost of Yak Shaving [1]. You need this digression/distraction feature, even though it's not the main attraction. Testing/infrastructure etc -- whatever it is, let's just have the automaton do the tedium.

[1] https://en.wiktionary.org/wiki/yak_shaving

bubblyworld|7 months ago

You definitely need to be careful of the addition mechanics of CC, but is it still a slot machine if there are loads of steps you can take to improve your odds of success? For instance, only allowing it to code within a feedback loop of some kind. I find the author's premise that the skill here is just "knowing which model to use" way too reductive. Seems like an entirely different beast to gambling, where the odds are fixed by the house.

bgwalter|7 months ago

Yes, the gamification is why some people like it. It is another addiction. Most proponents and bloggers are tied to "AI" money though, directly or indirectly.

I've seen little organic praise from high profile programmers. There aren't many, and once you search they all at least work on a commercial "AI" application.

RainyDayTmrw|7 months ago

Simon Willison[1] of Django Framework founder[2] fame is a pretty big AI programming proponent at his blog. He's pretty high profile, as far as real-world programmers (as in, not executives and not promoters) go.

You could argue, he makes money off of AI with his newsletter and whatnot, so he does stand to gain something, but it's a lot less than the executives and investors who've filled the news.

[1] https://simonwillison.net/ [2] https://en.wikipedia.org/wiki/Django_(web_framework)

Z37K|7 months ago

If you actually can code and know to define testable constraints around what you want it's great.

But it is amazing how many people really are playing it like a slot machine and hoping for the best.

That's just people and as always some will better utilise new tech than others. On aggregate I think everyone still wins

righthand|7 months ago

I've been reading Hooked by Nir Eyal and this was my conclusion too about all LLMs after just the introduction.

firemelt|7 months ago

elaborate more as I dont read the book yet

mccoyb|7 months ago

> AI coding tools supercharge this, allowing you to bring whole machineries to life by waving your hands around, offloading the understanding for much longer, but if you want it all to actually work, you'll need to dive into the details eventually.

The answer to this is nuanced. You can summon ~30k LoC codebases using CC without much fanfare. Will it work? Maybe, in some of the ways you were thinking -- it will be a simulacrum of the thing you had in your mind.

If something is not working, you need to know the precise language to direct CC (and _if you know this language_, you can use CC like a chisel). If you don't know this language, you're stuck -- but you'd also be stuck if you were writing the thing _by hand_.

In contrast to _writing the thing by hand_, you can ask CC to explain what's going on. What systems are involved here, is there a single source of truth, explain the pipeline to me ...

It's not black and white in the way I experienced this paragraph. The "details" you need to know vary across a broad spectrum, and excellent wizards can navigate throughout the spectrum, and know the meta-strategies to use CC (or whatever agentic system) to unstick themselves in the parts of the spectrum they don't know.

(lots of that latter skill set correlate with being a good programmer in the first place)

Many of my colleagues who haven't used CC as much seem to get stuck in a "one track" frame of mind about what it can and cannot do -- without realizing that they don't know the meta-strategies ... or that they're describing just one particular workflow. It's a programmable programming tool, don't put it into a box.

cobbal|7 months ago

I read this entire post before realizing you weren't referring to `cc`, the C compiler. It actually kinda works with this interpretation, particularly the "if you know this language" part.

minimaxir|7 months ago

See also Anthropic's blog post directly comparing Claude Code to a slot machine, and the top comment pointing out said comparison: https://news.ycombinator.com/item?id=44678535

I compared vibe coding to gambling in one of my recent blog posts and thought that metaphor was slightly uncharitable, but I didn't expect "slot machine" to actually now be the term of art.

zaphodq42|7 months ago

Claude works best for context based pattern matching. I specifically use claude for tasks which are simply replicating the logic with minor contextual differences. I can’t even imagine Claude writing whole features by itself.

nunez|7 months ago

In other words: code assistants are going to wipe out software engineering (and adjacent roles) as a lucrative career path for generations to come...but not before our generation retires and "gets ours."

ankit219|7 months ago

One unpopular opinion I hold is that in recent times programming became a lot more about integrating libraries and frameworks vs writing your own thing. This was fine because if someone open sourced it, why repeat the same work. That ended up in cases where a lot of work was modifying the libraries to your use case.

With vibe coding, I suspect this is a group that has adapted to it really well (alongside hobby coders and non coders). The thrill comes from problem solving, and when you can try out the solution quickly and validate, it is just addictive. The other side is how open source frameworks have increased, and there are a lot of oss libraries for just about everything. (A personal experience is implementing Cmd bar (like linear) in react when i was just learning. It took me a week or so, and then i just inserted an oss thing for comparison. It was super smooth, but i did not know the assumptions. In production, i will prefer that, and dont always have time to learn and implement from scratch). We see this with langchain etc in LLMs too, and other agentic frameworks as well. The shift is not towards less code but getting the thing to work faster. Claude code accelerates that exponentially as well.

ivanjermakov|7 months ago

Unpopular opinion would be that if the project is not much more than a bunch of libraries/tools/techs integrated together than the need for its existence is questionable. Diversity there breaks "one way of doing things" and makes it harder to learn actual tech that makes it work.

dmh2000|7 months ago

I'm a 72 year old dev. Ai and Claude specifically are great because I can't focus on code like I used to. Ai has extended my viability for a few years.

hommes-r|7 months ago

Typical dark pattern with your mystery boxes and player skins. Claude code just makes it easier to tell yourself that its ok to play.

api|7 months ago

One of the reasons a lot of things look like gambling is that a lot of things look like gambling. Hunting, gathering, and other baseline pre-civilization survival activities look like gambling. Dating looks like gambling. Reproduction even looks like gambling with each offspring, as a product of genetic recombination, being a dice roll. Investing, of course, looks like gambling.

It's why we get so addicted to gambling. We're built for it because a lot of legitimate real things look like gambling.

blurbleblurble|7 months ago

It's definitely addictive. But also, it works really well with some steady guidance.

yuvadam|7 months ago

avoid any gambling addiction, run with --dangerously-skip-permissions

sergiotapia|7 months ago

Anyone else kind of lose the high of solving a difficult problem since LLMs became the workflow?

You still have to really guide the AI, none of this is automatic. Yet I no longer feel the mega joys I once felt hand building something and watching it work correctly. The thrill is gone! Don't know if this is good or bad yet. I don't miss the plumbing bullshit. I do miss the joy.

minimaxir|7 months ago

This is a common argument against AI generation and I dislike it because people derive their joy from different things. Some engineers get their joy from the process of creation, others get their joy from the final result. Neither way is inherently better or more morally correct than the other.

dewarrn1|7 months ago

Claude Code is^W^W^WEvery LLM is a slot machine.

gronglo|7 months ago

> but if you want it all to actually work, you'll need to dive into the details eventually.

I don't think that's true. I'm wondering if the author has tried Claude 4 Opus.

nicce|7 months ago

I have just fought 4 days with Claude 4 Sonnet because it generates too much garbage for my usage, and I am considering stopping the AI usage altogether. No matter what system prompt, rules et. all you give, they don't want to do as I said, but instead do something which compiles (Rust) but is not performant or is extremely verbose and includes all kinds of unnecessary things. They have too much assumptions that some function is used/not used in async context, or it is okay to clone, or whatever. Is the Opus really that big leap?

abhinavsns|7 months ago

So is our brain. We pay with time.

jaredcwhite|7 months ago

The degree of after-the-fact ad hoc justifications for using these tools makes my brain hurt. "I'm in meetings all day anyway" …wtf?! So yay for the machines taking over our skillsets and hard-earned craft so we can attend more meetings*? Sure sounds like a hellscape to me!

* How 'bout I deploy my "digital twin" to attend the meetings for me. That'll show 'em!

firemelt|7 months ago

anyone know how to make claude code to be less invasive?

4gotunameagain|7 months ago

It is just another tool. Novel and powerful, but a tool nonetheless.

You cannot write everything using LLMs, you cannot maintain hodgepodge LLM codebases, but also you might want a break from writing scaffolding code or simple functions.

gatkinso|7 months ago

and a damn good one

quantumHazer|7 months ago

in the sense that is totally unpredictable and suck your time into the void without learning anything?

halis|7 months ago

I think you meant a slop machine

christiangenco|7 months ago

The world is a slot machine.

There’s a reason intermittent rewards are so intoxicating to naturally evolved brains: exploiting systems that give intermittent rewards is a great resource acquisition strategy.