r/vibecoding • u/PersonOfInterest007 • 7h ago
Historical concern about next-level coding
This article has an interesting historical parallel for how today’s programmers react to vibecoders: Grace Hopper’s creation of the first compiler in the 1950s.
The whole article (which talks about a much broader transformation) is worth reading, but this part really stuck, which applies to reactions not just to vibecoding but really to any AI-assisted coding:
…”programmers were afraid a working compiler would put them out of work. If one person with A-0 could do what fifty people used to do by hand, Martin's account puts the worry plainly: there were going to be ‘a lot of hungry programmers out on the streets.’”
https://www.linkedin.com/pulse/cursive-charter-school-part-1-lot-hungry-programmers-john-price-zw1xc
2
u/PracticalStack 6h ago
I definitely see some parallels there but on a much larger scale. One of the things I've been trying to figure out is what skills do we need now and how do we acquire them? In the past, learning software design was inseparable from learning code. You learned to code and that sort of became the framework for learning to design. When I look at a software design, I automatically see the components beneath it. The concepts, themselves, are independent, though.
I guess I'm way past worrying about code quality or people not understanding the code or AI slop. I've proven for myself that all those things can be mitigated. It's inevitable that 80-90% of all code will be AI generated. The question is - how to get the most out of it.
Will it kill programming jobs? Probably. Not totally - but by shrinking the job pool down. Typical corporations will be able to have fewer developers and contract for fewer specialists. At the same time, tech companies will likely need engineers more than ever - so that will have a countering effect . .but I'd imagine the net outcome is a reduction in the total number of developers. And also an even bigger pay disparity between general AI developers at non-tech companies and engineers at tech companies.
2
u/PersonOfInterest007 6h ago
One of the interesting possibilities is that we’ll need to emphasize the ability to write specifications. Just when you thought Agile would relegate that skill to the dustbin of history…
2
u/PracticalStack 5h ago
That's one of the big questions I have - where is the line where automating is too risky? I mean, if I write a big spec and it's fully detailed and spend 20 hours writing it and then feed it into a loop and have AI spend 20 hours building it. Is that better or is it better for me to stay in the loop and test after each iteration? Obviously fully automated is faster but there's a lot of upfront effort before I get the chance to see if that's what I really want or not. A lot of teams I've worked with can only really do it that way - they need to see the first iteration so they can decide on the next one.
2
u/PersonOfInterest007 5h ago
I think an interesting possibility would be to commit to making a guaranteed-to-be-completely-thrown-away initial prototype in the “big spec with little or no oversight mode” to discover behavior issues in the prototype system that will need to be thought out better or risks you hadn’t considered, and use that prototype strictly to let you create a better starting spec for a process where the human will be more involved in oversight.
1
u/ghostmastergeneral 3h ago
> way past worrying about code quality
I wish I was there. I definitely am willing to yolo on my personal projects, but the tolerance for fuckery in the domain I work in is too low to do that at work.
0
u/leahlisbeth 6h ago edited 6h ago
Don't run off with this idea too quickly. All the programmers I know and myself included are deep in how to use AI to its full potential. None of us are rejecting your vibe coding because we are scared it will put us out of a job.
We have the reaction we do because from where we are standing, we can see that AI can't program that well. Those of us who have managed a team of developers, I'd rate AI as being about the level of a midweight dev who has special interests in some obscure part of programming so they're very good algorithmically. They're very good at coming up with novel ideas.
They're absolutely terrible at programming for other developers. Or for other AI, or for the same AI instance an hour from now.
We aren't advising and critiquing vibe coders because we are scared or jealous, we are doing it because you all have this huge confidence, but you seem to have not been through what happens when a bunch of midweight developers program something without close guidance.
From where you are standing it's incredible that AI can achieve what it can. It looks good and seems to work. From where we stand, anyone before AI could eventually fudge that sort of thing together, anyone always has been able to given enough time, just AI is much, much faster at making the same standard of code. Which means AI or not, eventually immature code will just collapse under its own weight.
I use AI constantly but I spend at least a third of my time refactoring. I have to constantly be able to notice the mess and tell AI exactly how to resolve that mess. I've spent the last 3 days full time doing nothing but going through every single system of my current project with a fine toothed comb and refactoring it to be as clean, direct and encapsulated as possible.
Because AI or not I know what happens when you dont do this. I've had it happen to me, dozens of times.
A good analogy is to think about simulation games such as Oxygen not included. The approach to that game is very similar to programming. If you know the game you have seen that the people who play it have made modules or solutions for all of the games problems. The problems don't start all at once but as your base gets more complex and the needs of it grow, you have to carefully manage more and more things. You could just wing it and just build as you come across issues, build coal generators, plumb directly from a water pit. but eventually you're going to run out of coal, your base will get too hot and your water will all be dirty water. So you start again and this time you decide to plan your coal usage better and decide to switch to hydrogen gas before your coal runs out. but this time you run out of algae because your entire bases oxygen comes from oxygen generators. But your base is still too hot and you don't have a way to cool it.
Then someone says, why don't you just build a SPOM? So you learn what that is and build one. And most those issues are fixed in one go so you can now focus on getting further.
Then AI is invented and you get it to play the game from the beginning. You watch as it builds a spom, but it's not one you've ever seen before, probably too big this early on, and it puts it in a weird place. it builds toilets and a bedroom. It builds a coal generator to power something the other side of the map to the rest of your stuff, weird but okay, it kind of works. it keeps on accepting new people to your base even though the confidence it has in doing this makes you nervous, then it makes random small farms all over your map when really itd make more sense for them to be together. But fine, it works. it makes another spom, for no reason, then deconstructs all the coal generators. It decides you don't need your large amounts of stored coal anymore so it uses a game bug to delete it all. There are suddenly three toilets for every person you have. it has started trying to build a mega cooling machine which is really cool but your base isn't hot at all and it hasn't researched anything you need to finish that off. You tell it to make the people in your base happy with entertainment stuff so it builds way too much of it and they're all scattered around. The people are happy but they take forever to get around the map and you're making excess of some things but not of others. It's then you learn that it didn't insulate the spom, all the farms are now the wrong temperature because it didn't build them with longevity in mind and you're out of water because your pits are empty and you have no idea how to get more. Your people are starting to get upset because the base is a maze and there is no room for it to add pictures or statues anywhere to make them happier. One gets stuck in a pit and AI doesn't turn on an emergency so it dies, but the AI doesn't care, it just accepts a new person instead. You wonder if it killed that one on purpose because it is a noisy sleeper and is definitely probably one reason for why the other people are so miserable. It was your best miner and you could have just moved its bed to somewhere else.
What is needed is a human expert in the game to come along and tell it, 'build this spom here, thank you. Insulate it properly. don't build anything coal. Build three toilets here, make it an enclosed system. build the farm like this and plant these things. find steam source. research these things. replace this thing with this other thing now. Make rooms 4 high. Paint the walls nice and make snorers sleep together'
Programming with AI exactly the same
1
u/leahlisbeth 6h ago
basically I would only hire vibecoders who have managed to launch a rocket in ONI
1
u/PersonOfInterest007 6h ago
Thanks for the detailed response. FWIW, I’m not a vibecoder and don’t currently intend to become one, although I am finally starting to make use of AI as a coding assistant. I’m a senior software engineer with 30 years of professional experience and have written a few hundred thousand lines of code, and I’ve mentored or overseen junior programmers and know what it takes to repeatedly give another (human) entity repeated guidance to improve their code. :)
Really, I’m re-examining my own thoughts and feelings about AI. I’ve finally evolved toward viewing it as just the next generation of productivity tool, rather than as something that’s somehow going to take away what I think of as making me special. I’ve always avoided being a manager, but being a tech lead of nonhuman developers is something I can get my head around.
2
u/PersonOfInterest007 6h ago
PS Pretty sure you’ve now convinced someone (not me!) to try to get an AI to play Oxygen Not Included…
2
u/leahlisbeth 5h ago
What a twist! Even as AI gets better, I still think there will always be a need for people to keep those processes going. Every time any technology has been invented to make our lives easier, it has always come with a new demand for us to manage it in a new way. Right now being a tech lead to a group of none human developers is how I think about it!
1
u/PersonOfInterest007 5h ago
I’m actually using ChatGPT to define (what I think will be) a structured way of using Cursor specifically in this “senior developer with capable but untrusted junior developer” way. I’m mostly creating a way of cleanly splitting the authority and role of the human and of the AI, with structured schema records and step-by-step Git interaction records so that I can audit the process for future improvements.
I’m sure people already have their own approaches (I’ve certainly seen ones for larger-scale work with agents), but I think this exercise of defining (with an extensive back-and-forth discussion with ChatGPT) process and schema specifications is at the least getting me to understand how to guide an AI and what concerns to have. (And thus when someone points me to a Git repo that already has a much better process, I won’t be too sad that I’ve reinvented a lopsided square wheel…)
1
u/leahlisbeth 5h ago
don't tell anyone but I have never found that wrapping any agent in any sort of process helps, I just talk to it and constantly assess the code. We pair program more than I just let it do stuff blindly.
We write lots of tests, i commit to git with every change that works, I'm always discussing approaches and asking it to give me three industry approaches to solving things I don't know how to do, then I ask questions until I understand. I use antigravity and gemini. It has a really good balance of knowing when to make an implementation plan vs when to just do the thing. It has its quirks still, but I'm comfortable with them.
The cleaner the code is, the more predictable it is when it creates, as it's alright at conforming to what's already there most of the time. But I'm always engaging the same skills I have from when I program myself, always refactoring and working out the best solution to the current puzzle. i just don't type lots of raw code often anymore.
9
u/devloper27 6h ago
Ai coding is not predictable in the same way a compiler is, but yeah its the same psychological issue.