Live data from Hacker News

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

atmoio.substack.com

311–320 of 652 posts

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

#311
post #269

Earlier quoted context omitted.

I agree, and like to add, > It is hands down good for code which is laborious or tedious to write, but once done, obviously correct or incorrect (with low effort inspection). The problem here is, that it fills in gaps that shouldn't be there in the first place. Good code isn't laborious. Good code is small. We learn to avoid unnecessary abstractions. We learn to minimize "plumbing" such that the resulting code contai…

The quote that I heard (I think on HN) was, "If we had AIs to write XML for us then we never would have invented json." My biggest LLM success resulted in something operationally correct but was something that I would never want to try to modify. The LLM also had an increasingly difficult time adding features. Meanwhile my biggest 'manual' successes have resulted in something that was operationally correct, quick to…

And a recent HN article had a bunch of comments lamenting that nobody ever uses XML any more, and talking about how much better it was than things like JSON.

The only thing I think I learned from some of those exchanges was that xslt adherents are approximately as vocal as lisp adherents.

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

#312

I feel like I'm taking crazy pills. The article starts with: > you give it a simple task. You’re impressed. So you give it a large task. You’re even more impressed. That has _never_ been the story for me. I've tried, and I've got some good pointers and hints where to go and what to try, a result of LLM's extensive if shallow reading, but in the sense of concrete problem solving or code/script writing, I'm _always_ di…

I feel like I am taking crazy pills. I am getting code that works from Opus 4.5. It seems like people are living in two separate worlds.

It depends heavily on the scope and type of problem. If you're putting together a standard isolated TypeScript app from scratch it can do wonders, but many large systems are spread between multiple services, use abstractions unique to the project, and are generally dealing with far stricter requirements. I couldn't depend on Claude to do some of the stuff I'd really want, like refactor the shared code between six massive files without breaking tests. The space I can still have it work productively in is still fairly limited.

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

#313

Earlier quoted context omitted.

I'm an external examiner for CS students in Denmark and I disagree with you. What we need in the industry is software engineers who can think for themselves, can interact with the business and understand it's needs, and, they need to know how computers work. What we get are mass produced coders who have been taught some outdated way of designing and building software that we need to hammer out of them. I don't partic…

> I don't particularily care if people can write code like they work at the assembly line. I care [...] That they can deliver business value quickly. In my experience, people who talk about business value expect people to code like they work at the assembly line. Churn out features, no disturbances, no worrying about code quality, abstractions, bla bla. To me, your comment reads contradictory. You want initiative, an…

Some of our code is of high quality. Other can be of any quality as it'll never need to be altered in it's lifecycle. If we have 20000 financial reports which needs to be uploaded once, and then it'll never happen again, it really doesn't matter how terrible the code is as long as it only uses vetted external dependencies. The only reason you'd even use developer time on that task is because it's less errorprone than having student interns do it manually... I mean, I wish I could tell you it was to save them from a terrible task, but it'll solely be because of money.

If it's firmware for a solar inverter in Poland, then quality matters.

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

#314

Earlier quoted context omitted.

I kinda get the point, but why is that? The goal of school is to teach something that's applicable in industry or academia. Forklift operators don't lift things in their training. Even CS students start with pretty high level of abstraction, very few start from x86 asm instructions. We need to make them implement ALU's on logical gates and wires if we want them to lift heavy things.

We begin teaching math by having students solve problems that are trivial for a calculator. Though I also wonder what advanced CS classes should look like. If they agent can code nearly anything, what project would challenge student+agent and teach the student how to accomplish CS fundamentals with modern tools.

In one of my college classes, after you submitted your project you'd have a short meeting with a TA and/or the professor to talk through your solution. For a smaller advanced class I think this kind of thing is feasible and can help prevent blind copy/pasting. If you wrote your code with an LLM but you're still able to have a knowledgeable conversation about it, then great, that's what you're going to do in the real world too. If you can't answer any questions about it and it seems like you don't understand your own code, then you don't get a good grade even if it works.

As an added bonus, being able to discuss your code with another engineer that wasn't involved in writing it is an important skill that might not otherwise be trained in college.

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

#315

I feel like I'm taking crazy pills. The article starts with: > you give it a simple task. You’re impressed. So you give it a large task. You’re even more impressed. That has _never_ been the story for me. I've tried, and I've got some good pointers and hints where to go and what to try, a result of LLM's extensive if shallow reading, but in the sense of concrete problem solving or code/script writing, I'm _always_ di…

I have found AI great in alot of scenarios but If I have a specific workflow, then the answer is specific and the ai will get it wrong 100% of the time. You have a great point here. A trivial example is your happy path git workflow. I want: - pull main - make new branch in user/feature format - Commit, always sign with my ssh key - push - open pr but it always will - not sign commits - not pull main - not know to reb…

Is commit history that useful? I never wanted to look up anything in it that couldn't be solved with git log | grep xyz...

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

#316
Rants like this are - entirely correct in describing frustration - reasonable in their conclusions with respect to how and when to work with contemporary tools - entirely incorrect in intuition about whether "writing by hand" is a viable path or career going forward

Like it not, as a friend observed, we are N months away a world where most engineers never looks at source code; and the spectrum of reasons one would want to will inexorably narrow.

It will never be zero.

But people who haven't yet typed a word of code never will.

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

#317

Earlier quoted context omitted.

I don't love these kinds of throwaway comments without any substance, but... "It Is Difficult to Get a Man to Understand Something When His Salary Depends Upon His Not Understanding It" ...might be my issue indeed. Trying to balance it by not being too stubborn though. I'm not doing AI just to be able to dump on them, you know.

Skill comes from experience. It takes a good amount of working with these models to learn how to use them effectively, when to use them, and what to use them for. Otherwise, you end up hitting their limitations over and over and they just seem useless. They're certainly not perfect, but many of the issues that people post about as though they're show-stoppers are easily resolved with the right tools and prompting.

20% tools, 40% prompt, 40% claude.md (agents.md) = 98% success most of the time. A few errors to correct is not the end of the world.

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

#318

I feel like I'm taking crazy pills. The article starts with: > you give it a simple task. You’re impressed. So you give it a large task. You’re even more impressed. That has _never_ been the story for me. I've tried, and I've got some good pointers and hints where to go and what to try, a result of LLM's extensive if shallow reading, but in the sense of concrete problem solving or code/script writing, I'm _always_ di…

I've found that the thing that made is really click for me was having reusable rules (each agent accepts these differently) that help tell it patterns and structure you want.

I have ones that describe what kinds of functions get unit vs integration tests, how to structure them, and the general kinds of test cases to check for (they love writing way too many tests IME). It has reduced the back and forth I have with the LLM telling it to correct something.

Usually the first time it does something I don't like, I have it correct it. Once it's in a satisfactory state, I tell it to write a Cursor rule describing the situation BRIEFLY (it gets way to verbose by default) and how to structure things.

That has made writing LLM code so much more enjoyable for me.

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

#320

Earlier quoted context omitted.

> (And the automated test suite will help them confirm that the refactoring worked properly, because naturally you had them construct an automated test suite when they built those original features, right?) I dunno, maybe I have high standards but I generally find that the test suites generated by LLMs are both over and under determined. Over-determined in the sense that some of the tests are focused on implementatio…

Embrace TDD? Write those tests and tell the agent to write the subject under test?

Different strokes for different folks and all, but that sounds like automating all of the fun parts and doing all of the drudgery by hand. If the LLM is going to write anything, I'd much rather make it write the tests and do the implementation myself.
Post reply on HN