6 ms·
Why I don’t vibe code
- TheCleric 5mo agoThis is so good and almost exactly expresses my own thoughts. There's a narrow window where it's capable and fits a need of tedious work (mostly around automating tasks it would take me a bit to remember all the arguments and commands I'd have to chain together to do it). But a lot of it is the stuff I actually WANT to be doing. And solving the hard problems makes me a better developer just as training in the gym makes your body stronger.
- aogaili 5mo agoDevelopers were not solving hard problems. The last decade was brutal—mainly frameworks, libraries, configurations, etc. The hard problems were in research. And regarding the gym, sure, you might enjoy lifting dumbbells and solving puzzles to sharpen your brain. But that is not what engineers are hired for; they are hired to deliver a system using the best tools available. You can choose to farm by hand while the industry moves to using tractors, but sooner or later, you will be left behind. And lastly, moving higher in abstraction allows us to tackle even more complex problems—I'd argue much more complex than the narrow puzzles we were facing before. Part of the resistance is simply an avoidance of facing higher-level complexity once the lower tier is automated.
- suddenlybananas 5mo agoSome developers solve hard problems and some don't. It depends entirely on your specific work.
- SJMG 5mo agoIndeed, I solve hard problem for a living, but those are mostly design. The actual engineering often decomposes to gluing things together with limited need for new primitives. There are hard problems at every level of abstraction. TAGE predictor optimization up to handling data-center failover. I don't really have a challenge for people like the OP, I get it. I too dragged my feet, even mourned the death of a type of work I had grown fond of. Then I got over it and realized I might prefer the romance of riding a horse into town, but I also like that there's semi-trucks delivering fresh produce to my grocery store year round. The leverage available right now is frankly insane. The one thing an "old dev" [as he self-labeled] can be sure of is that the younger generations will not share these hang-ups to the same degree and it's those people who will inherit the burden of maintaining and furthering the digital world.
- aogaili 5mo agoI agree, and this matches my experience as well. After 20 years of coding, I do understand the grief and the sense of loss—I felt it deeply myself. But as an engineer, I was also captivated by the capabilities of the new systems. Watching these systems mechanize the thinking I had been doing for years, struggle in areas I used to struggle with, and even outperform me in some areas is nothing short of a magical experience, leaving all the anxiety about the job aside. Personally, I chose to focus on that magic, to see how far we can push these tools and discover what their limits are.
- aogaili 5mo agoIndeed. But my argument is that a lot of those hard problems were, in fact, already solved; some people made a career out of solving the same problems over and over again. The fact that we have a tool to automate the lower tier of problem-solving doesn't mean we are no longer solving problems—it just means we are being asked to solve higher-order problems.
- kaffekaka 5mo agoBut it also means we solve the same problems as before but faster, meaning less time is given to planning and thinking about what to actually build. This is a real problem where I work. Everyones grasp of what we are building and how it is connected is markedly worse nowadays. We as a collective must learn the skill to put these new abilities to good use instead of just aiming to accelerate as much as possible.
- aogaili 5mo agoWhat is also interesting is that what our brains perceive to be hard is mainly because we didn't evolve to deal with these kinds of problems. But as it turns out, automating logical problems is much easier than folding clothes.
- wieie 5mo agoThese comparison don’t capture reality at all… wish people would stop doing them.
- aogaili 5mo agoWhich part of reality does it not capture? I've been in the field for 20 years, and I do think the situation is analogous. We might not like it or we might deny it, but the fact is, LLMs do automate the mechanical part of thinking. Some people might not accept that, but that is the reality given my subjective experience and the experience of many others who are using the tool.
- avgDev 5mo agoI'm not paying someone to dig by hand if a machine makes the job quicker.
- runarberg 5mo agoIn this analogy most people are already using an excavator, however some people are using an expensive driverless excavator which sometimes digs the wrong hole, and your boss is wondering why they are paying you to prompt the excavator when they know just as well as you how to prompt the machine to dig big holes.
- thangalin 5mo agoI have the opposite experience: * https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rules https://repo.autonoma.ca/repo/treetrek/tree/HEAD/render/rule... - syntax highlighting for 40 languages and file formats in ~10 minutes * https://shufflenblues.com/expenses/ https://shufflenblues.com/expenses/ - real-time expenses progress updates with payment vendor API in ~30 minutes * https://repo.autonoma.ca/repo/treetrek/tree/HEAD/git https://repo.autonoma.ca/repo/treetrek/tree/HEAD/git - real-time, cache-free raw Git reader implementation with cloning in ~5 days * https://repo.autonoma.ca/repo/notanexus https://repo.autonoma.ca/repo/notanexus - PDFjs integration in ~3 days However, these are likely not the "hard" problems you've mentioned. I feel like I can architect solutions at a higher-level now, without having to be completely caught up in many technical nuances. I'd rather not learn the extensive PDFjs API, for example, because it would take weeks of effort to understand.
- f311a 5mo agoWhy reinvent the wheel? Syntax highlighting, git. I'm pretty sure there are PHP libraries to do that. Your syntax highlighting is very basic as well. Just ask LLMs to provide tests where it would fail to render correctly. The first thing that comes to mind after looking at it: print("# not a comment")
- thangalin 5mo ago> Why reinvent the wheel? Dependency-free, performance, FORTRAN, and it would take me more than ten minutes to find and integrate a highlighter that works across all of my code bases. I searched for PHP-based Git libraries. All of them either invoked "git" using a system call or offered write abilities to the repo. I wanted a pure PHP solution that did not write to any files or invoke executable files (for security purposes). Maybe I didn't search long enough; at some point it becomes faster to tell the LLM what's wanted than to find a solution that fits. > print("# not a comment") Works correctly? https://i.ibb.co/chgVkTz4/not-a-comment.png https://i.ibb.co/chgVkTz4/not-a-comment.png
- deleted 5mo ago[deleted]
- Aurornis 5mo agoI thought this was going to be an article about intelligent use of LLM tools without vibecoding, but it's actually entirely against LLMs altogether. The person who wrote it used a free trial of some tool (most likely not a frontier model) and then gave up forever when the trial ran out. > I then tried using one of the AI tools to analyze my code in a project and a few other small tasks before it all came to an awkward halt. The system informed me that I had just run out of credits and I would need to provide a credit card to purchase more tokens I wanted to keep going. > So you must believe me that the idea of paying a service in perpetuity so I could think just seemed so laughably absurd and horrific that I didn’t even bother giving them my card. I closed the laptop. I uninstalled the IDE and went back to using Emacs even. I wholly support their personal choice. I am tired of articles from people who haven't used LLMs preaching about how it's all vibecoding, though. Acting like LLM use is (EDIT: I meant is not) a spectrum between doing everything manually or handing control over to the LLM and vibecoding everything is a tired strawman argument.
- iLoveOncall 5mo agoImagine being disappointed that an article is NOT clickbait :|
- deleted 5mo ago[deleted]
- tensor 5mo agoI still use LLMs in a "no-vibe coding" way. Essentially I use a combination of the typical auto-complete and asking it to generate tests or individual structs/classes that I then heavily modify. But no line of code goes unread and unvetted by me.
- wieie 5mo agoThis is healthy but what about the economics - what about when the prices rise? At what point do you become more thoughtful about spend?
- beepbooptheory 5mo agoI taught myself linux/coding/servers because there was a long period of time where all I had was a chromebook for school, but I still wanted to explore this thing called "pure data" that i'd heard about, and thought I could make art with it. I distinctly remember being continually amazed at how you could get so many things for free, if you know where to look. And yeah.. once I found emacs it was all over. To this day I am definitely going to always go "the hard way" where I can instead of pay any SaaS even $5 a month. In my head its like: "I am a mechanic, or at least, I can get by as one, why would I take my car to the shop and pay money??" I know its not rational, but it would be pretty darn terrible in my brain to pay for an IDE. Even more unimaginable to me to pay $100 a month for something... All to say, "cheapskate"-ness from TFA really resonated with me, I don't see the sentiment around a lot.
- chroma_zone 5mo agoYep. If it weren't for cheap / freely available tools (and their limitations) I wouldn't be where I am today. I think about this every time I make a tool of my own.
- ChiperSoft 5mo agoLikewise. I avoided programming for years when I was young because the only way to get into it was to spend money on development suites like Borlund or Visual Studio. As a poor kid growing up in rural Michigan, that wasn't gonna happen. The internet changed all that, because every net connected platform was built on platforms that cost nothing to learn or work in. I wrote my first HTML in freaking MS-DOS Edit. I learned JavaScript by copying code from View Source into an unregistered copy of BBEdit. Do I have dev software I pay for? Of course! But not many (even fewer today than before everything switched to subscription pricing), and every one can be replaced with something that costs nothing. The top thread on this post is people discrediting the author because they only used cheaper/free models, as if we should just accept and embrace the commoditization and enshitification of software development, even while it actively deskills us and creates codebases that cannot be maintained without the services that built them.
- deleted 5mo ago[deleted]
- avens19 5mo agoI don't agree with the overall conclusion of avoiding AI tooling but this was really wonderfully written
- eatsyourtacos 5mo ago>but this was really wonderfully written That's because AI wrote it to deter other AI from taking it's job
- analogpixel 5mo agoprogramming is just procrastination that gets in the way of implementing your ideas.
- quentindanjou 5mo ago"painting is just procrastination that gets in the way of implementing your ideas." "woodwork is just procrastination that gets in the way of implementing your ideas." We can find plenty of others, but my main point is that industrializing a process doesn't make it "procrastinating". There are plenty of jobs that are done by machines but are still practiced by humans for multiple reasons. If we think of coding as a means to create, then we have plenty of examples of good reasons to have both the industrialized process and the 'handmade' one.
- saltcured 5mo agoWhere does this evolution really lead? "Thinking is just procrastination that gets in the way of your opinions"? ;-)
- analogpixel 5mo ago> Where does this evolution really lead? probably that nothing really matters, so I guess do whatever makes you happy. If programming makes you happy then you should do it. I find programming Advent of Code fun so I do it, but I don't find writing yet another web interface fun, so I have Claude do it.
- extr 5mo agoThis is like reading an article "I Don't Drive Cars" that goes on like - They're too expensive - My buddy's 1995 Accord breaks down a lot - Walking is healthier, plus you can stop and smell the roses - I enjoy caring for my horse - Sometimes you can get stuck in traffic Fine if that's the way you want and can afford to live your life. But it is an exotic luxury belief. For those of us who are participating in the economy for real, the preference to not drive cars is not realistic.
- runarberg 5mo agoTbh. Those are all good reasons not to drive. I my self would add: - They dangerous both to me as a driver, my passengers, and other road users, including pedestrians and bicyclists. - They ruin cities which constantly have to accommodate ever increasing number of cars by destroying previously walkable neighborhoods to make room for roads and parking. - They destroy our climate - They are loud. - Busses are nicer and I can read a book while riding the bus.
- extr 5mo agoYou're welcome to feel that way but it's a luxury belief. In reality, outside of a few (one?) major city in the US with public transportation infrastructure, you need a car. 92% of people own a car, higher if you exclude the dense urban areas I'm talking about.
- dpatterbee 5mo agoPeople only need cars because people have cars and cars make cities worse for everyone outside of one. If nobody owned cars everyone would get by just fine. It's a race to the bottom.
- satvikpendem 5mo agoSure, but that doesn't change the fact that today people need cars. In an ideal world I'd also love a European or Asian city model but American cities are not like that.
- runarberg 5mo ago> As someone who grew up in a city on the East Coast Since this blogsite has a .is domain I must assume they mean Egilsstaðir a lovely city with a population of around 2500 people.
- meheleventyone 5mo agoI think that's just to have the domain complete their name.
- satvikpendem 5mo agoThe parent is joking, they know that, the joke is that a lot of domains "abuse" the TLD, as they're generally meant for countries, e.g. many Rust related sites use .rs which is Serbia.
- tobadzistsini 5mo agoI'm vegan. I only watch PBS and the Criterion Channel. I'm atheist. Now it's "I don't vibe code."
- beepbooptheory 5mo agoWait what's wrong with the Criterion Channel??
- satvikpendem 5mo agoIt does seem like a sort of virtue signaling these days right?
- duskdozer 5mo agoDo you think people can't care about things or have ethical standards without "virtue signaling"? It seems like a lot of people do think so. Or maybe this is a form of "vice signaling"
- satvikpendem 5mo agoSure, they can, but there is a certain subset that does so performatively in nature rather than actually caring about the issues (there are even memes about it [0]), and someone who has to write an entire blog post about why they don't do X is very likely to be in such a subset, otherwise they'd just not do X and carry on with their day, telling no one. [0] https://en.wikipedia.org/wiki/Performative_male https://en.wikipedia.org/wiki/Performative_male
- williamcotton 5mo ago> However, the process was far more important than the product (again!). Not every whimsy needs to become a reality. I mean, I get it, there's different kinds of people out there with different motivations, goals, spare time, etc. But there's also a process of product design that I think the author is overlooking. Lately I've been working and iterating on a number of DSLs, projects that might be a total waste of my time because they end up being poorly conceived or not very useful compared to a general purpose language! I'm also working on a video game that is basically Magic: The Gathering meets StarCraft with Civilization style hex-grid conflict. It could be a total bust and entirely no fun to play (it's hard to tell if it's fun by itself because I enjoy working on the game while testing out the play patterns). It would suck to spend a couple of years on this if it's no good. I very much enjoy the process of trying to figure out the best syntax and semantics for a new DSL or the process of iterating on gameplay elements when working on a game. The destination is also less important. I don't really expect anyone to use my DSLs or play my video games. I'm ultimately doing it for my own enjoyment. Saying this, I am interested in the overall architecture and I've definitely learned from my mistakes, especially with creating DSLs. Like, having a TypeScript language server with a Rust runtime has some issues. It's kind of better to build the language server into the runtime so you're not maintaining multiple parsers, and depending on the language features, an additional pseudo-runtime in the language server.
- jma24 5mo agoIt's a really interesting PoV, and one I'm in polar opposition to. Context engineering is allowing me to do things I've always wanted to do but don't have the time/energy. I'm writing in C++, assembly, Rust, Go. I'm fucking with boot loaders and all kinds of things. It's brought me a far greater understanding of how cryptography, GPUs, CUDA, Apple Metal - all topics I have a vague interest in but have no time to work on. The current raft of LLM models are genius children. It's like that 15 year old at college. But I have 30 years of experience and a genius child is pure power in my hands. And it's a genius child that never gets tired. For a few hundred bucks a month I can have 3 geniuses working on my ideas through the night. Last night they wrote 20 different research theses on a topic and benchmarked them all. Then combined them into a best of breed algorithm better than anything that has been done before. It's an amazing world we live in. I don't write this to throw mud at OP - they are entitled to their opinion. Merely to point out the contrast.
- retinaros 5mo agoTo experienced devs. Why are you enjoying vibecoding? It is soulless and the job is really becoming unbearable having to discuss with an agent that alternates between “good at” and totally consensual and low iq.it feels miserable to have a few turns then seeing the tool Became so bad and so low iq that you stuck in doing things garder than if you did it by yourself I get the conversational aspect and value of it I just dont get people saying “I dont code anymore I manage agents” - besides obviously people selling AI
- jmcodes 5mo agoI was already spending a lot of time reviewing other people's code. It makes no difference to me if it's coming from an agent or a person. I can pick and choose which parts of the problem deserve my attention and which can be done by the LLM with me just keeping an eye on it while I mostly work on something else. I don't have metrics but I feel like I am doing higher leverage work with less friction. Setting up the systems around the LLM itself is fun too. Hacking on harnesses and trying to improve the UX or the metrics is fun. Playing with different workflow topologies across agents is fun. Diving deep into context strategies, memory systems, prompting is fun. Trying to marry ideas from the past with what LLMs enable now is fun. I don't see how this is soulless or unbearable but granted I'm not at a place that is demanding I maximize throughput. That would suck.
- em-bee 5mo agobut it's not fun for everyone. reviewing code for people vs agents is a massive difference for me. with people i can teach them. with LLMs i can't. it makes me feel helpless. just like i feel helpless using broken non-free apps. i can tolerate the same bugs in FOSS application, because i potentially can fix them even if i don't actually do it. i don't feel helpless, i feel like i have a choice. with LLMs i don't get that choice. most of the other things you mention feel tedious to me. i like diving into the code, understanding how to solve a problem, figuring out how to make the code structure look elegant and readable. find and comment on a clever short-cut, even if it means that i may not be clever enough to debug it later. i don't get any of that with LLM generated code. i'd spend more time to clean up and fix the LLM code than i would writing it from scratch. to use LLM code efficiently, i'd have to give up all that. but i don't want to do that. using LLM to code feels like gambling. every time i put in a prompt, its like rolling the dice. am i going to get a useful solution this time? and then reroll until i get a useful result rather than building up the application one step at a time.
- ge96 5mo agoI'm getting tempted to because I have so much work to do for my "startup" and after my 8hr day job I'm burnt. It's not even that I don't know what to do it's a lot of work... swift iPhone app, the api, the web app and gcp. get that feeling of being overwhelmed and also end of day brain just feels like shit, thinking I'll drink more caffeine after gym eg. 6:30 PM will see if I can sleep.
- pijon 5mo agoif you are serious about building a startup the best choice you could make is to learn to use these tools intelligently. ESPECIALLY if what you are building is an app… virtually everyone building a startup uses these tools to automate a huge chunk of the work. you have no real chance otherwise. my advice is to get on the cheap claude code sub and to check out the superpowers plugin. the idea of the plugin is to help you create a “design” plan which promotoes to an “implementation” plan. the former is a high level architecture decisions which YOU TAKE and use the agent to browse different approaches that might work. the latter is the concrete steps the agent will take after you click execute. every file change documented, every migration required, etc. very easy to oversee it just my 2 cents (as someone working on startups)
- ge96 5mo agoleast suspicious account lol
- pijon 5mo agoNot sure what you mean by this, I've had this account for years, just never commented.
- sublinear 5mo ago> virtually everyone building a startup uses these tools to automate a huge chunk of the work. you have no real chance otherwise. Huh? Do you mean people "building a startup" without any experience at all? The list of tasks in the comment you're replying to are well within the skillset of any software engineer that has that old job description classic "3 to 5 years experience". Not to be rude, but if the code is the hard part for anyone, they never had a chance at the rest of it either.
- mattas 5mo agoThis is what I call trad coding.
- fito 5mo agoSo brave to post this in a place filled with weird AI apologists.
- creepy00 5mo agoThere comes a time in every not-so-young developer's life where he or she becomes anti-anti-AI.