Vibecoding isn't as fun as writing code by hand
autodidacts.io
autodidacts.io
Anyone that assumes an author is speaking for everyone will find something else to gripe about, IMO.
It depends, some think it's fun :)
Oh, and the irony
Always a hazard when you use objective language to describe the subjective.
It's ironic but you should have started with "In my opinion", "I think" or something to that effect. Now you never hear the end of it!
unless you want to water down the title with an "i think"
When I say "juggling is fun", I'm talking about my own experience. I'm not saying that everyone else should drop their hobbies and take up juggling.
Why should the author have to couch the headline of their article with this kind of defensive language that you suggest? The very first word of the article is "I", it is clear that the author is talking about their own experience.
https://news.ycombinator.com/item?id=49977612
It is clearly their opinion, but it was downvoted heavily. Doesn’t help that he is pro AI.
i read it as the former, and hence upvoted your comment because i agree, but the downvotes of your comment suggest that others are reading the latter which feels wrong to me. that is of course if they actually agree with me.
It can make sense to disagree and argue with the former, but for the latter, having different subjective opinion doesn't invalidate or contradict the original.
(In my opinion.)
For me it's mixed. There's aspects of coding I do enjoy but also there's tedium that I don't. What I don't like about vibe coding is it has turned me into just a code reviewer in a lot of cases.
Now it's just work. There's not a ton of pride in it.
Would I want to build a business around products that are built this way? Not yet. I'm definitely not comfortable supporting a vibe coded heap of code in a production setting.
I do love the weird new world we're in. I feel as though I've been a player in an orchestra all my life, doing a little one-man-band act on the side, and suddenly I've been handed the baton and now I get to conduct the whole show.
I don't want to be a typist, I want to make things.
It's not much different from assigning a task to a more junior dev. I'm the architect, it's my goals we're working towards, but I don't need to be the one to go wire it together.
I never said anything about pride. I was talking about whether terms like "build" apply when the act of building is outsourced to an AI agent.
Also, I would seriously scrutinize the claim that a person vibe coding an application is really getting into the nitty gritty details. These days it seems like people are merely describing what they want and a few high level guidelines, and then letting the AI agents to do the rest of the planning + architecture.
Good news: It doesn't.
I just don't have to do the typing, pre-acceptance testing, fuzzing, etc.
People are famously terrible at analyzing their own behavior. I would bet that people who "no longer write code" are actually way more hands off about their work than they believe they are.
Good for you!
The joy comes from the problem no longer existing, being solved, not from the physical act of typing.
Anyway, let's burn the data centers and become Luddites. Wait, first become Luddites, the we can burn things.
I am not a "programmer", I do "programming".
Good for you!
But for most people, their identity is often strongly influenced by how their community sees them
If you get paid to be a programmer, then society treats you as such, which often causes you to perceive yourself in kind.
To which the obvious answer is often: then why didn't you think of it? And if you thought of it, why didn't you iterate on it and polish it to achieve a proper product that actually matched your vision?
For some people, they seem to believe that an idea isn't worth anything, and only the building is. And, even then, they don't really understand that building a proper product (even with vibecoding) takes a lot of effort to get right, because as you build you find more about the domain, about how the product should work, etc. Sure, loads of people vibecode crap, but many don't. They build things with real care over the course of many many many hours.
It's not that I love agile, but this is one of the reasons it exists. I wonder if the people who so openly bash solving a problem through vibecoding (with multiple iterations) also fail to see this value of agile?
To answer your question (acknowledging I don't really know): If all you had to do was get Claude/Codex to work and it came out perfectly very fast, then I believe you did commission it (and I have no problem with that), but, more often that that, you will have built it by iterating on product decisions.
When I "build" products for clients, I am not doing commission development work. In fact, I'm not building it for them -- we are building it together, learning requirements, failing, iterating. Otherwise, I would have just been a code monkey, and that I have sincerely despised for years.
Lastly: at least for now, the impact of knowing how to guide the AI is still very relevant. Good problem solvers who embrace AI completely blow "regular guys" out of the water. Maybe, as models get better, this will not be as prevalent, but you can clearly tell when someone "knows" what they're doing with the AI, even if they NEVER look at the code. The knowledge from the coding days is definitely partly transferable.
But most software engineers I’ve worked with are not like that. In fact, they want to be as far away from the customer/user as possible and they love the coding for coding’s sake. I’m afraid those are the first to be replaced by AI as their skills don’t extend beyond writing code, which is probably why they are screaming so much now.
Look, you like AI, that's fine. But stop lying to yourself for fuck sakes.
The downside is that of course the further you stay away from actually playing your instrument, the rustier you will get; this might or might not be an issue, but it is a significant downside, also being away from the technique side means that as the years go by, you might not be able anymore to have an intuitive understanding of "this sounds wrong" and why it does.
I don't want to stretch the metaphor too far, but it does feel that agentic coding is a bit like building skill tech debt, the more you do it, the more you'll have to work later to bring back the skills you lost. The meta could be that models will get so good so that only a small percentage of developers will ever need to sully their eyes again with looking at code (same as while when we started most people had at least a passing familiarity with assembly, nowadays nearly nobody does), jury's out on that.
Either way, what before needed a full orchestra of developers, now could be doable by a good conductor and maybe a couple of soloists: how many orchestras will be needed? and what will the section musicians not good enough to be soloists and that don't have an interest in becoming a conductor will do? and how are new conductors going to develop their technical chops if there are no more orchestral jobs?
Many more. There isn't a fixed amount of software needed in the world: the amount will expand to fit the capacity. There's a reason it's been consistently difficult to find good programmers: there's more work than the existing population can handle. By expanding to use AI, I expect that the amount of programming work will grow, not shrink. However, the amount of programmers may decline.
If I were to guess, those devs are at least half of the readers of HN, if not the commenters as well. That's why there's so much push back and arguing against LLMs.
Software like that is almost entirely maintenance work. The requirements trickle in slowly and the changes are small but precise. They require deep knowledge of the broader topic, not just programming.
The deadlines are generous now, but what happens longer term? In the future nobody knows how to code without LLMs, most of the topical knowledge is long gone, and the deadlines are always urgent.
But hey, maybe the slopocalypse will incentivize us to disconnect and engage with the physical world a bit more.
All of the drama and discomfort since then is 100% caused by that residual economic impact. LLM hype and more aggressive enshittification are just the symptoms, not the root cause. It's not "the new normal", or rather it's totally normal but not the default case for the majority of fiscal years. These dips happen almost every decade.
When that ramp up happens (it kind of already is), the media will do a 180 like the first half of the 2020s never even happened. You will be slightly annoyed, but not complaining because hey we all have more money again.
Building things with LLMs is the closest I can get (perhaps even surpass?) the feeling I had as a kid, learning to code.
I feel rather sad that most (though luckily not all) of my friends despise AI, as I feel a (small, but relevant) part of the connective tissue we had is sort of gone. I'm in love with what I can do, I've re-gained the superpowers I had back in college (and even before that) and I can't really share that with them (and they can't really share their concerns and frustrations with me). In two weeks of vacation (actually: in 1 week of those) I finally got around to tackling 5 different projects I had in the back of my mind, mostly for fun (but one of them is genuinely generating some income as well) -- this is amazing, but I have actively avoided talking about this with them, bar sharing a link to some of the things (and even that I'm feeling some regret over)
It's so fun to tinker around with everything! Modding a game, revitalizing abandonware with custom patches, building a harness to know how it works or just...you know...building what is in my mind, whenever, wherever, without it taking foreeeveeeeeeer.
I used to think what I loved was coding, but I have really come to realize I liked both building and coding. The latter I haven't really done much of in more than a year and....it doesn't annoy me at all? I know for a fact I loved doing it, but I can't really say I _miss_ doing it? Maybe after 20 years it just wasn't the same? Maybe the rush from watching my mind materialize into real things so fast is camouflaging it? Who knows...
Not to mention that most everyone else in my surroundings outside of the tech bubble is doing amazing things with AI. Cool websites, music that moves me to tears, random fun games and just, in general, clearly managing to focus more on what they want, on their goals, on their imagination and less on their work. There are exceptions, but the trend is that AI has enabled them to do more of what they want and less of what they have to, and I love that.
I completely accept that, for some people, the fun is/was in coding by hand. And that it's terrible that they'll likely not be able to earn a living just doing that relatively soon. What I have difficulty accepting is the outright bashing and hating on everything AI-related (and, yes, I hate hype too, but have you LOOKED AROUND AND SEEN THIS NEW WORLD?!). I can sort of accept it based on ethical grounds, but very rarely is it actually that. I guess people are just venting and firing in all directions due to how much this has shaken their lives and livelihood (and that, indeed, I can understand).
Anyway, this world is AMAZING! I am 100% with you. Especially because I don't even type (to the agents) anymore. I just voice-to-text, with barely any filter. I've often described it as the closest I've ever felt to truly controlling the computer with my mind, because I don't have to slow down my thoughts to write them. Sort of incredibly liberating.
Unfortunately, LLMs have been shoved everywhere in a years-long desperate scramble to capture the market, so we might as well get used to them while the bubble pops and the winners cash their bets.
> What scares me most is how they allow people who don't fully know what they're doing to deploy software, especially corporate software.
Which is why I also think some people get such disparate experiences. If your organization is allowing clueless people to confidently throw stuff built by LLMs at mission-critical problems, that does seem more like an organizational problem than an LLM problem. (A related problem: the amount of people who keep shoving claude shit in front of us, thinking they've "edited" it enough to not sound like it came from it. I can spot it from a mile away and usually make myself loud about it if I have the power to stop it. AI is not an excuse for mediocrity.)
There's so much to hate about LLMs, and there's so much to love. And since we've sort of ended up in this world of constant false dichotomies, this kind of nuance gets lost in the trenches.
Of course LLMs in the wrong of clueless people are bad. Of course the way in which these models were trained is shameful and it's criminal that people are having their work stolen. Of course we need to find ways of dealing with slop. Of course it's bad for the environment at the moment (and so on). The list goes on and on, I know that.
But on either side of this debate (which SHOULD NOT HAVE TWO SIDES -- that's THE problem), people just tend to lump everything together. Your example is one some acquaintances repeatedly throw my way, and I'm left wondering if they have even thought that they're just showing me how broken their org is, not how bad the tech is? But, nope, they turn to me and go "AI bad bad"...
We can't seriously expect medium-size businesses to become (and stay) unbroken without significant, continuous investment and effort. They will always be broken, and AI is the sprinkle of crack they didn't know they wanted.
(I will say, though, the people around me I mentioned getting immense benefits from AI outside of tech are most definitely not addicted to it)
Absolutely!
But is there much more to "building with AI" than chasing dopamine? I would say for many, the answer is no.
My first program was in BASIC on a Sinclair ZX Spectrum with 48K. I used to sit for hours typing "listings" from gaming magazines and save them on cassette tapes, like this: https://www.youtube.com/watch?v=AuVBX5Iu18I
I love coding manually, and I love AI! This is the first time I've felt the same excitement about computing since the 1980s, when there were new computers and new platforms and new operating systems and new programming languages coming out almost every month.
I use AI where it makes sense, where a quick output matters more than the fact that I manually coded it, like map editors and other internal tools, or quick proof-of-concepts.
I used Codex to convert some of my old Visual Basic 6 apps and games and it was a joy to see them running again after so many decades. There was no way I was going to convert them manually since Microsoft abandoned VB.
I wish to ask you for some feedback and clarity and further concrete resources because I feel a little confused/lost regarding the whole vibe-coding situation, I wish to say thanks in general though as nonetheless your comment finally made me concretely express all the nuances brewing in my stomach about vibe-coding and how I often nowadays feel as if I may be falling behind if I don't know how to do it "accurately", I would love and really appreciate to get a more in-depth response if possible.
I have said the same thing as you have said as well sometimes if not mostly that AI is a tool which should be used sensibly (as I think that this is what you are intending to say as well)
Within the contexts of vibe-coding though, I would really appreciate it if you could explain to me in more depth about the whole process and workflow that you follow if possible and how much drastic change has that been in. I would love some concrete examples or repositories or just some pointers that I can help to improve myself further.
Here are some other thoughts that I have on the matter:
When you mean design review, are you just architecturing suggesting it the main architecture itself, for example. I mostly do "create me a golang web application which uses htmx/templ/modernc sqlite about XYZ" and then create a more detailed prompt from it which I then pass onto the agent to complete and give me a single binary at.
Most often than not though after this point, I haven't felt the need to change the architecture after the first initial setup and afterwards I point the changes that I wish to be done like "I want X1 Y1 Z1 changes" and if it breaks something then just showcasing what breaks, and taking feedback then "it just works"
The architecture sounds solid to me, I love golang as a language and I run multiple such apps on same 500mb/1gb ram servers and use cf tunnels in the middle.
For styling, I mostly prefer monospace-web theme because that's what I personally really like a lot but recently I found that giving first prototype to chatgpt and asking it to generate image then it can create a decent UI as well.
An example website that fits the pattern: https://mirror.forum
So what are the things which I should do though now? Should I attempt at reading the code and trying to understand it completely (I think that golang's mostly standardized method of doing things helps in reading AI code) or should I treat myself as thinking more about (seams?) or other technical terms that I found described within obra/superpowers or matt-pocock and other skill driven development oriented stuff.
Can I learn these stuff through AI itself as well and I wish to generate my own projects as well because I still believe that there's some joy in that as well as I find vibe-coding to be sometimes a bit hollow[1] [not sure though as the atmosphere has changed, earlier people used to be extremely critic of it whereas now more accepting]
I can be wrong, I usually am but what I am finding the most shocking is that although we are constantly seeing new tools and I try to be more well aware of them and always curious about it, yet I don't know at the same time where to actually proceed because the projects are just being built enough yet I don't know if I am doing standardized practices enough or how to really meaningfully improve such practice if vibe-coding is really such valuable then I would prefer to learn the more technical way of doing so and how experts within the field actually do vibe-coding.
Thanks and have a nice day and I would love to hear your/the community's response.
You want to learn web dev? Start typing HTML and JS. You want to learn how to use AI? Start typing specs and prompts. You'll need to learn both. But, you can't learn web dev by typing specs and prompts.
You can learn using AI as a research assistant, a tutor, a reviewer, a critic. You can use it to bang out quick tools, prototypes, deal with the hassles that are not your focus at the moment. But, whatever you are trying to learn, you need to do the actual implementation manually. There is no such thing as passive learning.
What is the exact learning of the topic that I have to do in it, for example. I can (and I will) learn webdev about valuable if vibecoding becomes the norm (as it is becoming nowadays)
Now I will learn the basics, then intermediate, then expert. Where exactly do you think that the value lies in?
ie. are the advantages put within getting from beginner -> intermediate or to complete beginner -> intermediate -> expert
Another thing is the level of fields that you have to be in or the whole question could perhaps be framed as being the jack of all trades or the master of one? Is this going to be like typing speed [90 wpm vs 130 wpm is somewhat negligible effect] or like chess [ 2100 vs 2400 isn't negligible and becomes exponentially harder when you become expert yet the difference will have genuine real impact maybe?]
Also within the process of vibe-coding, what is the actual value that I am adding given that I have learnt the skill, what I think might be is that I can actually verify if its good or not instead of asking a chatbot [which might be sycophantic or might miss the devil in the details], and say its okay.
Also, how do people naturally move away from the natural tendency to just... not read what AI is saying (when I tried obra/superpowers etc.), this video[0] tries to showcase what I am suggesting perhaps but I feel as if its still quite a slippery slope.
I hope that this question can be taken in good faith (because I like learning about CS for the sake of learning itself) but aside from that, why learn HTML/CSS is still a question that I can perhaps ask, similar to why learn assembly[1], and to what level, and will it help me in getting a job and if that helps in what I will actually do in job, and if so, then how? if the job done via vibe-coding as well. [I think this might tie to the previous questions that I have asked]
I do agree with the overall premise and learning can't be passive granted. Learning requires some form of active involvement which includes the phase of struggle (I think), yet that struggle is done for something meaningfully better and has a purpose. What AI does to many is question that purpose, why learn?
The issue I find which is why I am coming to this again and again is this, I am unable to find how the improvement within this corresponds to actual work/job or in actual terms how so.
Also, what happens if suppose the difference between an expert person with extreme knowledge and a normal~ish person is that it might take normal person is some more time/prompt/tokens to debug the issue with the models itself. Like it might take 2-3 more prompts to fix the issue.
I am finding people with varying opinions on how even the most expert people on some topic are agreeing that most AI can do it good enough already with vibe-coding, whereas some generalists who might not know the other language are porting their projects in it with vibe-coding.
In general, when approaching learning as well, I am not sure which to approach first: the thing which might be approachable (so for example: after HTML/CSS/Js Python, Django [thanks @simonw], golang's complicated full stack application)
and what if I might not like JS so much and python only enough but golang the most ideologically but my skill level still matches mostly python and its what I am most proficient in writing by hand?
I am personally going to go the learning path (the hard way?), I don't know if its the hard way or not but I wish to learn programming quite deeply even if just for the sake of itself and making my brain think about problems better
but my mind does still wonder if people on the other side could be right as well, does everyone need to learn deep ends of programming if programming becomes simpler or operates via just words, similar to how in previous times we used to have a lift operator and now we have all become a lift operator with the press of a button.
My opinion on vibe-coding has been this for quite sometime now: I do vibe-coding not for learning but for if/when the end results/prototypes matter more than the process but I absolutely DO NOT want to do vibe-coding if learning is the goal. before college, I didn't even have time to properly pursue the learning phase but I will now have the time and I will chose the learning path.
Also, when someone suggests that vibe-coding is all good if done right and alright when you do it this particular way or that particular way which causes my mind goes to this chain of thought and I feel a little confused.
As such, many of these thoughts float into my head when someone mentions this and it makes me wonder what should I do to achieve that and the other goal as you mentioned which was learning itself, it makes me question both sometimes if I am feeling p(doom). Learning as in, for all the reasons that I explained above and vibe-coding as in feeling shallow and hollow.
I am extremely sorry if I am being unable to succintly convey what I am trying to say and for the longer post. I really don't know how to express this particular thought because its all over the place. I hope that it's okay though and I might not have wasted the time and thanks for commenting and have a nice day.
[0]: https://www.youtube.com/watch?v=ZumXpZzDsgo
[1]: (although there are still good reasons to learn assembly imo, I recently vibe-coded/[vibe-forked?] a scratchpad application in assembly as a way of messing around with AI.): https://github.com/serJaimeLannister/rhunpad
I write a lot of high-performance code. To do that, I had to learn the details of how devices (drives/NICs/GPUs) work, how buses (PCI) works, how RAM, CPU caches, instruction pipelining work. Now I know how to structure data flow to work well with the machine instead of against it.
I write a lot of APIs. In doing that, I had to learn the hard way about how different API trade-offs drive client decisions. How to foresee problems in the future stemming from interfaces I'm writing now. How to argue with clients to get them what they need in the long term and not just want they want for the next milestone.
At all of these levels, I had to learn how each level works by doing it. By trying it lots of different ways. And, by optimizing it all the way down from "More productive client discussions" to "More performant assembly instructions" :P
Now whenever I do vibe-code, it's because I know exactly what I want and I can get AI to type it faster and with less RSI (carpal tunnel). Or, I know I want to prototype a few options rapidly before committing to implementing one design for realz. In neither of these cases am I telling the AI "Make it performant and easy to use." Because I know how I want to structure the code to make it performant. And, I know how to set up the API to make it easy to use. So, I'm telling the AI how to structure the data flow and how to set up the API. Because, if I didn't, I'd just be generating a big ball of noisy mud that's neat to gawk at, but has no long-term value.
So, what should you learn? You need to learn how the stuff you are interested in actually works under the hood by experimenting with it manually. Not just "Hey chat, make it work somehow..." You need to focus on architecture and systems thinking because otherwise you won't know how to prevent AI from holding your hand deep into a maze neither of you can escape from. And, you should be spending the majority of your tokens on step-by-step refactoring, never one-shotting. One-shotting is for AI tech demos. Not for learning or production.
My advice would be, as hard as it might seem, let yourself go slow and just do things. Spend a few weeks on webdev, or learning aseembly, or playing with AI. As long as you are engaged with whatever you're doing, that is enough. You will, via repeated exposure to smart people doing hard things, learn how to navigate and overcome all kinds of problems.
I actually disagree a little with the previous commenter about learning how to use AI. While that is useful, AI becomes second nature once you have been exposed to all these other things.
Robots are much easier.
Your statement is all about you and the places you've worked, and has nothing to do with LLMs or humans.
Also they have feelings and off time and stuff.
I love AI coding because I can use it to automate all the parts that are not fun or that would take far, far too much time to implement by hand. It puts things within reach that would formerly be unthinkable without millions of dollars and a gigantic software development team.
I still also enjoy coding things by hand... interesting, original things.
The technology itself is also absolutely fascinating. I've followed AI research for a long time and played around with it a lot, but the incredible breakthroughs of the last 5-10 years have blown me away. I've been working through the math on attention layers and feel like I've almost got it, and it's genius. Very cool stuff.
(The companies behind marketing and scaling it are, to varying degrees, not cool, but the tech and science and math is.)
AI tools amplify existing coding experience, and reward management experience too. Engineers with a decade+ of experience are more likely to have been engineering leads or spent time in engineering management.
Related observation: Anthropic are developing a reputation for hiring former CTO/CEO/founders and putting them back to work as individual contributors.
My uid was < 32768.
Bro with <500 karma in 10 years thinking he knows something
You're the middle of the bell curve meme :)
bro ran out of tokens halfway through the comment
YMMV, not so fun for me being human/robot proxy constantly, there is "review dilemma" with AI tools:
review everything AI does - getting burned out quickly
skip review what AI does - getting wake up call in a weekends' nights and getting burned out quickly as well
I think part of the popularity is that it appeals to people who want to be managers but lack people skills.
the few years i was an IT manager i came to like the repeat offenders and those with chronic learned helplessness. they seemed like "regulars" and were all big personalities. often i wondered if they intentionally disabled bluetooth just to hang out for a few minutes
I dislike DevOps because the feedback loop is quite long with DevOps and it's very declarative rather than imperative. Proper agentic engineering is like that; you don't actually build the thing with the agent, you build the things around the agent that's building the thing.
The skills, the MCP connections, the auth flows and handling, the CI, the deployment strategy, the code review, etc.
I think that's why it doesn't feel as "fun" if you are used to actual coding: long feedback loop from you creating/modifying the scaffolding to actually seeing it connect to an output. I liken it to waiting for CloudFormation to deploy your infra -- like watching paint dry.
When Amazon released Q, I too started building things around it, first rules, then MCP servers, then skills, then Claude Code workflows. Eventually, I was able to break this feedback loop: I have very few extras on top of Claude Code/Codex because there’s no point in competing with them on features.
The slowest part of my current feedback loop is CI.
As a domain expert, I spent all my time learning my scientific niche, and only a small bit on practical coding. Now I can manifest the ideas I formerly needed to hire developers for. WAY more fun.
If the discussion was "Sitting in a submarine is not as fun as scuba-diving", I would recognize the conversation is not about me, and not jump in and tell all of the recreational scuba-divers they're wrong.
Yes. Who says people must enjoy coding? People enjoy trying new things and building new products, and coding isn't the goal, it's just the tool you use use to get to your goal. If now you can build things without you doing the coding part, then why is that bad?
I think this berating of people who don't enjoy coding is cope and bile by coders who feel being left behind by an industry who only values the end product and doesn't care about their idealist craft for the code, but this always had been the case. People bought Half-Life because the game was good, not because the code was written with enjoyment by the devs(Valve source code is full of swear words).
There's plenty of products with shit code that sell well, and plenty of products with good code that don't sell and bankrupt the company. The end-product is king, not the code. Did Steve Jobs just care about the end product UX or about how nice the code inside was?
Nobody. But everyone is saying that I must stop coding by hand or get left behind. I really like understanding what I'm building and creating works of art in code. The sense of accomplishment is gone.
Didn't you just accuse someone above of not enjoying coding as if that's somehow a must?
>But everyone is saying that I must stop coding by hand or get left behind.
Nobody here is saying that. People are saying whether you enjoy coding or not, doesn't matter for the end product if it does the job just as well. When people buy an iPhone, a pair of Nikes, or some other China made nicknack off Amazon, they don't care if the factory workers who assembled it enjoyed their time on the assembly line making stuff for you, or if they're sweatshop workers assembling your stuff in absolute pain and misery, they care if the end product in their hand satisfies them.
>I really like understanding what I'm building and creating works of art in code.
Is passionate code something customers are willing to pay a premium for versus the AI written one, or do customers only care about the end product and nobody gives a shit if it was vibecoded or whether you poured your soul in the code?
my CEO said it publicly to all engineers
he still pays me for my handwritten code tho. luckily it's easy to pretend you like AI and know by lying since it has basically no skill curve.
and then just carry on doing a good job the old way.
"People" say a lot of things, I can only reply to comments said here, not to vague words by anonymous people from the ether.
>my CEO said it publicly to all engineers
Good think your CEO speaks for everyone in the industry.
I think what he means is that he's afraid for his company being beaten by competitors who will overtake you if they use AI but you don't.
> Nobody here is saying that.
To be fair, I've definitely seen that said multiple times on HN, even if not in this particular thread.
To be fair, after talking to AI devs on the frontline at a local meetup, I learned that models, agents and harnesses have so many edge cases, traps and footguns, that aren't really well documented anywhere, especially visible on large codebases, that you really need to stay up to date to keep up and squeeze the best out of each model for your intended use case.
How does being sad help anyone?
I enjoy the act of coding, but my ambition to create almost always exceeded my ability and the number of hours in the day. So the transition from coder (and sometimes manager) to agent orchestrator has been fairly positive.
It's not necessarily easy or pleasant to evolve, but that's life.
Nothing about this is "natural". It's all because a handful of people made the decisions in order to make money, and we're all collateral.
Now, the field comes with a perpetual $20/month tag, apparently.
Yeah, i've seen this when others shown. We're no longer in the days when you just copy and paste code snippets in the browser window, nor just dump and entire codebase in the harness and letting it rip, there's an entire new skill tree on how to use each model and harness correctly for maximum gains and bypassing various context hiccups.
Well it seems unfair to compare anyone to your brilliance.
Nobody. But if you never enjoyed coding then the post about enjoying coding clearly isn't for you?
GGP was being judgemental on people not enjoy coding, which means for him the default status quo is that one has to enjoy coding, therefore my assessment was correct.
For me, personally, I have learned that fun is often more correlated with social connection and sharing than it is with subjective perception or gratification of the task at hand if removing the social element.
The most fun I had in life was when I had great teams, great people, and great challenges to share both the growth and struggles with. The rest, like what tooling we used, was optional and easy to misjudge as important at the time. Looking back I rarely recall the experience of using certain tooling over another, and often remember the people and the stories.
Vibe coding is like a last second weekend trip to Paris.
Accelerated software construction is like planning a four week backpacking trip through Western Europe.
I’m a grey beard so I’m on the far side of “writing code is fun” but I get it. I used to love those ah-ha moments when solving coding problems.
But now I love delivering solutions to the business or creating software that works as I envisioned it and those two things are fun in very different ways.
The days of:
10 PRINT "Hello World!"; 20 GOTO 10
Are long gone.
giving that code as a prompt to Claude yields:
Worked for 5s · done 8:30 AM
10 PRINT "Hello World"; 20 GOTO 10
Hello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello World
Hello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello World
^C
Break in 10
Ready.Still looping. Anything you'd like me to do for real?
After that, I gave it a second instruction: create a GW-basic interpreter in python
It's 5 characters longer, and gives me the interpreter I need to run the basic code (actually not - I had to change the Basic code to have a second line for the loop in GW-Basic; I should have used a more recent basic, but I actually wrote a GW-Basic interpreter many years ago).
So I'm genuinely curious, what sort of things do people who complain about boilerplate ceremonies do?
For me, boilerplate isn't scaffolding out getters and setters, or deferring to templated code generation; using refactoring tools that have been baked into IDEs or third party tools have been available for about 20 years deal with all of those nicely.
On the other hand, the "boilerplate" to stand up a secure web service with appropriate monitoring and scaling capabilities is a fair bit of work when you know that the immediate first users are enterprise businesses.
Building a service that meets or exceeds industry compliance requirements (internal or otherwise) is a lot of work! My harness, skills, and SOPs are set up such that if I spin up a new web-dev project, it gets all of the accessibility, internationalization, observability, authentication and authorization capabilities I would expect, appropriate to the tier. There is a lot of work done to build and implement those at the front end of a project, which I could skip over for experimentation, but for actual, deliverable work, it is a huge accellerator. In addition, by having that scaffolding and boilerplate in place, and a few skills and SOPs to support future feature growth, the agentic coding tools build with them in mind, and wire everything up as they go.
It doesn't replace the need to do the testing and validation, but it sure does break me out of the cycle of "fuck it ship" that takes over when I have my developer hat on, and the "holy shit, burn it all down and start over" that takes over when I put my security engineer hat back on.
shrug YMMV.
I started a small one-man SaaS in 2022 that I coded by hand, and have gradually adopted AI usage. I don't write a single line of code anymore today, and my speed/performance has supercharged in the last 6-12months. The fun of coding is completely gone, but replaced with me being able to deliver what I need to grow the product (from dev, to design and marketing work).
Honestly, it's quite nice. I wish more people would take a less-binary approach to this stuff. It doesn't have to be all or nothing. It's just a tool. Like any tool, you can apply it selectively. It sounds like a lot of companies have hand-waved this away as being an anachronism, but I'd argue that's the most foolish way to deploy AI. Trying to augment juniors into seniors with it, too, is just showing how many people haven't the slightest clue what they're doing with it.
Tell me, do you wear handmade shoes?
1. Adding TTL to my gmail to help clean up my account. I have an option to delete my kids' school emails at the end of the school year
2. Allowing my wife or I to add images to Google Drive and have those pics show up on our Frame TV
3. Showing a snapshot of my kids' Google Classroom to show up on the Frame TV
4. Chrome extension that removes the obfuscated LinkedIn links so that I can easily open those links in an incognito browser
5. I created a skill so that my AI will do research for me on a topic, save the information on markdown files and upload those to Gemini Notebook.
At work, I don't vibe code and I need to understand any proposed changes. Where I do like the vibe coding are small annoyances that I don't want to make time to learn everything APIs that I'm unlikely to use again. If they stop working tomorrow, no big deal.That being said, similar to OP, I've used AI to create some things I've been thinking about for a long time, and realistically might never have gotten to otherwise. One of them is an app to wean off of Blue Apron for meal prep: it has a (high-quality) scraped database of a few thousand recipes, it works and looks just the way I wanted it to, and it has a lot of functionality I haven't seen anywhere else, that I came up with over time. This morning, I had a feature idea, and before heading out for some errands I outlined its system design to the AI. It wrote a spec, got it reviewed, and built a v1 before I came back home. That's a lot of fun, for me, too: to be able to mostly focus on the higher-level design of a system, and still get where you want to go.
"Die Menschen bezahlen die Vermehrung ihrer macht, mit der Entfremdung von dem, worüber sie die Macht ausüben."
"People pay for the multiplying of their power with the alienation from that which they exercise their power over."
It's awful when the boundary breaks down. It might just be inherit to the loop (no mind readers) but I will walk away from an AI task for 30 minutes and all too frequently there will be insane code smells.
I've been doing a thing where I will have "integration" projects between many different subsystems to demonstrate some capability, test it, then destroy the integration folder, folding back what we learned into the subsystems themselves. So far this has been OK for learning and it incentivizes the AI to not throw garbage everywhere. Of course, this assumes you get subsystems right but it prevents direct reaching into them and modifying excessively - try to do the most you can with fixed interfaces, etc.
it's fine to keep riding though as long as you're having fun!! but it will definitely get worse and worse as a form of transportation
(this is true for hand coding too)
Can think of almost any task, and there is that likelihood for some small issue to arise, and the person has to adjust to it. Ai for coding, now you just kinda say "i hit this issue", and its usually resolved, this removes the friction that feeds the feeling of accomplishment once you complete something.
But i do think, there is of course a separation of work and play, many modern video games are amazing at the dopamine style rollercoaster it seems like this article is hinting at missing. So i totally get it for personal projects, if its no longer fun because the dopamine roller coaster is dead, it kinda kills it for a lot of people. For work I don't know if it NEEDS to be there at all, ideally less friction makes for more work getting done, even if its less pleasant for the human involved.
I couldn't see myself continuing playing a game if all the happy dopamine was front loaded into the first 10 minutes.
I understand that the work we get paid to do exists in an entirely different context. Capitalism will always push for doing more with less. When you're on the clock, the rules are different.
But if you love coding. By all means, code. What's stopping you?
Also, I think we need to update our terminology. "Vibe coding" served its purpose and still defines a subset of how people are creating software. But I feel that working with coding agents, carefully orchestrated by skilled developers, deserves a term less dismissive than "vibe coding".
To me, vibe coding is pulling the arm of the slot machine until something good comes out. Yeah, that can honestly be a lot of fun. But working with these tools to create code that is as good as, if not better than what you'd write yourself, that's something else entirely. I think we flatten the nuance of this whole crazy situation we find ourselves in when we conflate the two.
Vibe coding means you have no idea how the code looks or works or the architecture. Agentic coding is the same as regular coding, just you had an agent do most of the typing.
I personally really really don’t like working on a code base where I have no idea what the code is actually doing or looks like and I find even the best models eventually start tripping up on messy bloated code bases, though that takes months now vs days like a year ago. I think we’re still early days in the vibe coding experiment and as vibe coded products push into 50k LOC, you start to see the parasitic drag caused by a messy code base on the agents.
I absolutely love the speed that agents give me!
So what I’ve been doing is working myself in a main branch where I’m just tending to the code and writing high level types and architecture, then spinning up agents into work trees and having them work on specific, focused tasks. Then I get and agent to do a merge into the main branch, fix up conflicts, help me go over design decisions etc.
So it’s trying to get the best of both worlds, I’m getting the speed and also my head is in the code and working on the most challenging / important aspects of the code base so my actual technical skills are always improving.
There are tons of projects that were economically infeasible to write, and now become feasible. Something that needed lots of human time but almost no one wanted to sacrifice anything, including money, to get them. But now we have LLM subscription in which per token cost is almost free.
They are fun to create and use.
also would you fly on a plane with vibecoded software?
Example, the UI for his two vibe coded example apps. Why not let AI do a single pass on that? 30s for a huge improvement. Other than the personal pride of saying you did it all, I don't see why not.
The comparison misses the utilitarian aspect.
I've been a developer for 40 years now. Over that time period - I've had a lot of ideas that were great but were simply too difficult for me to execute on my own.
Today I am executing all of them and it feels amazing to see all these beautiful things come to life.
I understand that some people really really really liked coding by hand. More power to them. I just don't understand why they're so angry at me because I prefer the final product.
EDIT: And I get an anonymous downvote within 30 seconds. I don't get it.
In my experience, people like programming with agents because they are lazy or bad programmers (or both).
May I humbly suggest you might be mistaken?
Here, let's test it. Give me some of your code (GitHub is fine) and we can compare.
When you get a little older, you might find that you too have more commitments and desires than you have time to complete.
(see, I can be mean too!)
I get that people really hate AI - but they're being incredibly irrational about it. Baby with the bathwater stuff. It's creepy.
Then you aren't a very good programmer, because LLMs produce worse code than the typical programmer does. They can produce more, certainly. But generating bad code faster isn't actually useful.
Tell that to every successful business.
Code that exists is very frequently better than code that doesn't.
People who don't use coding agents really should stop making fools of themselves. It's painful to watch.
I'm not so sure that's true anymore.
But regardless - no one uses just one coding agent. It's a series of agents - a group to plan the work - coders to implement it - and then agents to review the work. Overall it comes out better than human code.
Here - let's test it - give me your GitHub and we can compare your code to theirs.
> Then you aren't a very good programmer
Ohh.... my sweet summer child...
- There are those for whom coding is a hobby, an art project, an identity. These are the people who debate tabs vs spaces or use Vim.
- There are those for whom coding is a way to build things. Their dopamine comes from the end product and seeing people use it. They couldn't care less about tabs vs spaces.
I'm in the second camp. Vibe coding has removed all the shitty parts of coding. Like I hate figuring out how to do this esoteric thing in this library. Wading through docs and hitting the CI constantly - its a pain. Not fun.
Unfortunately it also means that whatever you’re asking for has likely already been thoroughly done and explored before and is nothing novel.
This.
This is the best way I can describe how I feel about it.
When the software output is the _goal_, it's a lot less rewarding. When it's not, it's fine I guess. I'd still feel better if I had it done it myself but it's fine.
I'm sure some people thought that it was the same for type writers. Indeed even today some writers prefer a type writer or even pen and paper (quill perhaps?)
But for many cases the quality of life that successive innovation brought outweigh the mechanical joy involved in the creative process. And when the endeavour is a commercial one the argument gets a little harder to justify...
I'm sure people can see how producing text without delete or copy and paste or easy versioning/duplicating makes life harder...
1. find the fun in it
2. tolerate the boredom
3. find something else to do with your life
But if we are talking about personal projects where the aim is to learn complex interesting things, then of course writing code by hand is the only way to actually learn.
I guess antirez agrees with this as well[0].
I agree.
I miss hitting states of flow that lasted all day where I would just drop into a mental black hole and emerge on the other side with work I usually felt a large amount of personal pride from, where I was primarily the creator rather than a babysitter.
People talk about how LLMs take away the tedium of writing boilerplate code and it just makes me wonder how/why they were writing enough boilerplate code into the mid-2020s for that to be a significant help.
I do use LLMs because they are undeniably productivity-enhancing for producing most code and I'm ultimately a laborer selling my time for money, but I feel like a lot of the fun and accomplishment has been stripped from the job I've been doing for decades.
If I were comfortably financially independent I'd probably just code for fun without LLMs and be much happier, but It Is What It Is.
We can no longer deny that LLMs are useful for coding, so we now move on to the only remaining and defensible goalpost: I don't use LLMs because I don't want to. To be clear, this is a perfectly fine position and I hold no ill will against anybody holding it, but I don't think one gets to this conclusion naturally. It comes first from a lifetime of writing software, like I and many others have experienced.
And for what it's worth, I always had more fun planning what I was going to build rather than handling the brass tax of implementation. The specifics of problem and solution are always what interested me more than writing each character, and LLMs allow for me to do just this, and nothing else. Not a bad deal!
Again, my apologies for being such an insufferable asshole that I came here and told you what you ought to like. This is my opinion, based solely on my experience, and I might be wrong.
I don't think that this person is lying, and your interpreting of my comment that way is taking the worst version of the argument.
I have definitely been finding more joy in other parts of the job though, which is also good. But I definitely used to have a lot more fun writing and editing a lot of lines of code than what I do now, which is mostly reading and reviewing them.
But in my opinion it depends, if you are just generally vibe coding you will get that, but if you know what you are doing and precisely direct it to what you want, you get amazing results. I feel a lot of developers hate it because it requires leadership skills and shuffling multiple task at the same time with a strong long term vision, which none of that is needed when you are doing the code manually, simply because time is in your favor, say in 2 years you reached the point that you would get in 2 weeks by LLM, you have had enough time to revise your goals (hence the whole agile approach was a thing back then), with LLM tho, you need all that thoughts compacted and very well planned before you even write a single code (it’s why agile is dead, and waterfall with specs planning is back again), having the specs and blueprint and all the little details even the library to be used is also documented and planned, then you fire up the LLM, that’s what I do and it works perfectly.
For most other (maintenance work) projects, not so much.
Edit: Or the bits I don't want to learn about because I'll literally use it once and never again
For work projects, if fun was the goal you wouldn't be paid to do it :)
I can predict this because I’m building such a thing for myself as are many others. It seems to be where the tao of slop is going.
Our business-side employees have only begun using agents, and their spending accelerating. They're claiming their ROI is massively positive and have an enormous willing to spend.
Prices will probably go down because of the emerging price war between Anthropic and OpenAI, but there are many firms willing to spend.
For your personal projects or as a hobby, absolutely. But in a professional setting, coding by hand gone forever.
I've written >90% this code by hand.