Live data from Hacker News

After two years of vibecoding, I'm back to writing by hand

atmoio.substack.com

631–640 of 652 posts

Re: After two years of vibecoding, I'm back to writing by hand

#631

Earlier quoted context omitted.

> But if they actually spent time trying to learn architecture and how to build stuff well, either by reading books or via good mentorship on the job, then they can often be better than the folks who went to school. Yeah I just haven’t seen this happen. I’ve seen plenty of people graduate who were pretty useless. But … I think every self taught programmer I’ve worked with had meaningful gaps in their knowledge. They’…

Yeah, I agree, but not knowing what you don't know applies to almost everyone in every skill, not just programming. I acknowledge I have gaps in my knowledge. But it's because of those gaps that I am always trying to supplement my knowledge by studying different data structures, different patterns for solving problems, different algorithms. I don't aim for complete mastery. I aim for basically "what can I add to my b…

> I think this just speaks to the necessity of rigor during the interview process.

That gets expensive, fast. There's just so much to cover already, between communication skills, programming skills, debugging skills, architecture / "whiteboarding problems", data structures and algorithms, general problem solving ("interview problems"). A job interview can never be a fully rigorous test of someone's actual skills. Most don't cover even a fraction of that stuff already.

> I'd argue that many, if not most, teams operate in limited domains.

It depends what you consider yourself responsible for. If you think of your job (or your team's job) as shipping features X, Y and Z within this react based web app, then sure - you operate in a limited domain. But if your job is "solve the user's actual problems" then things can get pretty broad, pretty fast. Sometimes you write code. Sometimes you're debugging a hard problem. Or talking to the users. Or identifying and tracking down a performance regression. Or writing an issue for a bug in 3rd party code. Or trawling through MDN to figure out a workaround to some browser nonsense. Or writing reliable tests, or CI/CD systems. And so on.

Its only really junior engineers who have the luxury of a limited scope.

Re: After two years of vibecoding, I'm back to writing by hand

#632

Earlier quoted context omitted.

This. Most people defer the solving of hard problems to when they write the code. This is wrong, and too late to be effective. In one way, using agents to write code forces the thinking to occur closer to the right level - not at the code level - but in another way, if the thinking isn’t done or done correctly, the agent can’t help.

Disagree. No plan survives first contact. I can spend all the time I want inside my ivory tower, hatching out plans and architecture, but the moment I start hammering letters in the IDE my watertight plan suddenly looks like Swiss cheese: constraints and edge cases that weren't accounted for during planning, flows that turn out to be unfeasible without a clunky implementation, etc... That's why Writing code has becom…

I also think this is why AI works okay-ish on tiny new greenfield webapps and absolutely doesn't on large legacy software.

You can't accurately plan every little detail in an existing codebase, because you'll only find out about all the edge cases and side effects when trying to work in it.

So, sure, you can plan what your feature is supposed to do, but your plan of how to do that will change the minute you start working in the codebase.

Re: After two years of vibecoding, I'm back to writing by hand

#633

Earlier quoted context omitted.

My other 2c: There are Engineers who are concerned by the long-term consequences of their work e.g. maintainability. In real engineering disciplines, the Engineer is accountable for their work. If a bridge you signed off collapses, you're accountable and if it turns out you were negligent you'll face jail time. In Software, that might be a program in a car. The Engineering mindset embodies these principles regardless…

The industry cares about reasonable results not perfection. If vibe coding delivers in one day, + an additional 2 days to solve stupid bugs, what you deliver with utter perfection in 3 months, then the industry doesn't give a shit about slop. Is it maintainable? Well it's AI that's going to maintain it. I think the future will turn into one where source code is like assembly code. Do you care about how your automated…

> Is it maintainable? Well it's AI that's going to maintain it.

That's what's currently not possible, it might work in a small webapp or similar. But in a large system, it absolutely falls apart when having to maintain it. Sure, it can fix a bug, but it doesn't understand the side effects it creates with the fix, yet.

Maybe in the future that will also be possible. I do agree with you about business/management not caring about long term impacts if short term gains are possible.

Re: After two years of vibecoding, I'm back to writing by hand

#634

Earlier quoted context omitted.

> It shouldn't be even a little surprising that your impression of the result is that the code is much better looking than the impression of a more experienced developer. This really is it: AI produces bad to mediocre code. To someone who produces terrible code mediocre is an upgrade, but to someone who produces good to excellent code, mediocre is a downgrade.

Today. It produces mediocre code today. That is really it. What is the quality of that code compared to 1 year ago. What will it be in 1 year? Opus 6.5 is inevitable.

This is the problem with the LLM fallacy.

You think it'll rapidly get smarter, but it just recreates things from all the terrible code it was fed. Code and how it is written also rapidly changes these days and LLMs have some trouble drawing lines between versions of things and the changes within them.

Sure, they can compile and test things now, which might make the code work and able to run. The quality of it will be hard to increase without manually controlling and limiting the type of code it 'learns' from.

Re: After two years of vibecoding, I'm back to writing by hand

#635
post #602

Earlier quoted context omitted.

Have you used it recently? Or any specific that caused this feeling

Nope, haven't tried recently because the cli tools were so much better and more powerful I haven't felt like there's a reason to ever go back.

Odd to be so confident and outspoken about a product you have not used in a while.

Re: After two years of vibecoding, I'm back to writing by hand

#636

AI is incredibly dangerous because it can do the simple things very well, which prevents new programmers from learning the simple things ("Oh, I'll just have AI generate it") which then prevents them from learning the middlin' and harder and meta things at a visceral level. I'm a CS teacher, so this is where I see a huge danger right now and I'm explicit with my students about it: you HAVE to write the code. You CAN'…

I had my first interview last week where I finally saw this in the wild. It was a student applying for an internship. It was the strangest interview. They had excellent textbook knowledge. They could tell you the space and time complexities of any data structure, but they couldn't explain anything about code they'd written or how it worked. After many painful and confusing minutes of trying to get them to explain, li…

Makes me wonder if the hardware engineers look at software engineers and shrug, “they don’t really know how their software really works.”

Makes me wonder if C programmers look at JS programmers and shrug, “they don’t understand what their programs are actually doing.”

I’m not trying to be disingenuous, but I also don’t see a fundamental difference here. AI lets programmers express intent at a higher level of abstraction than ever before. So high, apparently, that it becomes debatable whether it is programming at all, out whether it takes any skill, out requires education or engineering knowledge any longer.

Re: After two years of vibecoding, I'm back to writing by hand

#637
post #602

Earlier quoted context omitted.

Nope, haven't tried recently because the cli tools were so much better and more powerful I haven't felt like there's a reason to ever go back.

Odd to be so confident and outspoken about a product you have not used in a while.

I haven't used it because there's been absolutely no reason to even try again. I jumped on copilot when it first came out. I had a personal account and they got us subscriptions at work. It was the first LLM/AI tool I dropped. It was around 2 months ago they dropped our subscriptions at work too.

I only have an IDE open these days to review, maybe update a config or parameter on occasion.

Re: After two years of vibecoding, I'm back to writing by hand

#638

Earlier quoted context omitted.

If you want to be any good at all in this industry, you have to develop enough technical skills to evaluate claims for yourself. You have to. It's essential. Because the dirty secret is a lot of successful people aren't actually smart or talented, they just got lucky. Or they aren't successful at all, they're just good at pretending they are, either through taking credit for other people's work or flat out lying. I'v…

>If you want to be any good at all in this industry, you have to develop enough technical skills to evaluate claims for yourself. You have to. It's essential. This is an orthogonal off topic point. My or anyones skills don't have to do with the topic at hand. The topic at hand is AI. >Because the dirty secret is a lot of successful people aren't actually smart or talented, they just got lucky. Or they aren't successf…

> Fraud happens in the margins of society it rarely ever happens at a macro level, and if it does happen at a macro level the trend doesn't last long and will mostly die within a year at most

Ahahahahahaha. Oh man. I think you have some reallll hard lessons in front of you about the nature of industries that have lots and lots of money being thrown at them.

I have been a part of this industry for 10+ years at this point, at companies you have heard of. There is a lot -- I mean a lot -- of people who will do and say anything if they think it'll get them something.

Yes, that includes people who have pedigrees. Yes, that includes people with all the traits you mention. It's the nature of being in an industry where money gets thrown around in buckets.

You don't have to be a cynic about people, you don't have to be paranoid, it doesn't have to poison your outlook on life. I work with lots of smart great folk and I don't walk around eying my coworkers suspiciously. You do need to be street smart.

If the start and end of your critical thinking is "well this person said so"? That's not critical thinking, the polite word for that is starchasing. If you don't or can't develop the technical chops to evaluate claims for yourself, you'll never get out of that trap.

Re: After two years of vibecoding, I'm back to writing by hand

#639

Earlier quoted context omitted.

>If you want to be any good at all in this industry, you have to develop enough technical skills to evaluate claims for yourself. You have to. It's essential. This is an orthogonal off topic point. My or anyones skills don't have to do with the topic at hand. The topic at hand is AI. >Because the dirty secret is a lot of successful people aren't actually smart or talented, they just got lucky. Or they aren't successf…

> Fraud happens in the margins of society it rarely ever happens at a macro level, and if it does happen at a macro level the trend doesn't last long and will mostly die within a year at most Ahahahahahaha. Oh man. I think you have some reallll hard lessons in front of you about the nature of industries that have lots and lots of money being thrown at them. I have been a part of this industry for 10+ years at this po…

I’m talking about actual public fraudulent lies. These are weeded out quickly. Think flat earth.

> I have been a part of this industry for 10+ years at this point, at companies you have heard of.

I’ve been at it longer. And at companies where you use the products everyday.

> I mean a lot -- of people who will do and say anything if they think it'll get them something.

You’re not that bright are you? Of course they will. I’m talking about public fraud. Like the flat earth movement. These things don’t last long. I’m not talking about human nature and people predilection for lying.

Your brain is somehow fixated into thinking your some 10 year veteran (oooooh your so great) who’s seen it all and you’re talking to a greenhorn when really you’re just not smart enough to understand what’s being said. Bro wake up. You missed the point and went off on a tangent.

> You do need to be street smart.

This is next level. Let me spell it out for you: you’re not street smart. You’re not smart. You don’t look at things critically you don’t self examine your own judgements. You just approach everything with a sort of cocky confidence and you get shit wrong. Constantly. You “clocked” me in completely wrong, your comments all over HN are wildly and factually off base.

Re: After two years of vibecoding, I'm back to writing by hand

#640

Earlier quoted context omitted.

> maybe the tests aren't the best designs given there is no way I could review that many tests in 3 hours, If you haven't reviewed and signed off then you have to assume that the stuff is garbage. This is the crux of using AI to create anything and it has been a core rule of development for many years that you don't use wizards unless you understand what they are doing.

I used a static analysis code coverage tool to guarantee it was checking the logic, but I did not verify the logic checking myself. The biggest risk is that I have no way of knowing that I codified actual bugs with tests, but if that's true those bugs were already there anyways. I'd say for what I'm trying to do - which is upgrade a very old version of PHP to something that is supported, this is completely acceptable…

> code coverage

You need to be a bit careful here. A test that runs your function and then asserts something useless like 'typeof response == object' will also meet those code coverage numbers.

In reality, modern LLMs write tests that are more meaningful than that, but it's still worth testing the assumption and thinking up your own edge cases.

Post reply on HN