Live data from Hacker News

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

atmoio.substack.com

591–600 of 652 posts

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

#591

Earlier quoted context omitted.

I'm pretty damn sure the parent, by saying "writing code" meant the physical act of pushing down buttons to produce text, not the problem solving process that preceeds writing said code.

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 become my favorite method of planning. The code IS the spec, and English is woefully insufficient when it comes to precision.

This makes Agentic workflows even worse because you'll only your architectural flaws much much later down the process.

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

#592

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.

Yeah, I think this is the fundamental thing I'm trying to get at. If you think through a problem as you're writing the code for it, you're going to end up the wrong creek because you'll have been furiously head down rowing the entire time, paying attention to whatever local problem you were solving or whatever piece of syntax or library trivia or compiler satisfaction game you were doing instead of the bigger picture…

I believe programming languages are the better language for planning architecture, the algorithms, the domain model, etc... compared to English.

The way I develop mirrors the process of creating said design document. I start with a high level overview, define what Entities the program should represent, define their attributes, etc... only now I'm using a more specific language than English. By creating a class or a TS interface with some code documentation I can use my IDEs capabilities to discover connections between entities.

I can then give the code to an LLM to produce a technical document for managers or something. It'll be a throwaway document because such documents are rarely used for actual decision making.

> Obviously, before starting writing, you could sit down and write a software design document that worked out the architecture, the algorithms, the domain model, the concurrency, the data flow, the goals, the steps to achieve it and so on;

I do this with code, and the IDE is much better than MS Word or whatevah at detecting my logical inconsistencies.

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

#593

Earlier quoted context omitted.

Yeah, I think this is the fundamental thing I'm trying to get at. If you think through a problem as you're writing the code for it, you're going to end up the wrong creek because you'll have been furiously head down rowing the entire time, paying attention to whatever local problem you were solving or whatever piece of syntax or library trivia or compiler satisfaction game you were doing instead of the bigger picture…

I believe programming languages are the better language for planning architecture, the algorithms, the domain model, etc... compared to English. The way I develop mirrors the process of creating said design document. I start with a high level overview, define what Entities the program should represent, define their attributes, etc... only now I'm using a more specific language than English. By creating a class or a T…

The problem is that you actually can't really model or describe a lot of the things that I do with my specifications using code without just ending up fully writing the low level code. Most languages don't have a type system that actually lets you describe the logic and desired behavior of various parts of the system and which functions should call which other functions and what your concurrency model is and so on without just writing the specific code that does it; in fact, I think the only languages that would allow you to do something like that would have to be like dependently typed languages or languages adjacent to formal methods. This is literally what the point of pseudocode and architecture graphs and so on are for.

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

#594
post #27

Earlier quoted context omitted.

It’s like weightlifting: sure you can use a forklift to do it, but if the goal is to build up your own strength, using the forklift isn’t going to get you there. This is the ultimate problem with AI in academia. We all inherently know that “no pain no gain” is true for physical tasks, but the same is true for learning. Struggling through the new concepts is essentially the point of it, not just the end result. Of cou…

I think a better analogy is a marathon. If you're training for a marathon, you have to run. It won't help if you take the car. You will reach the finish line with minimal effort, but you won't gain any necessary muscles.

But if your goal is to get from A to B, car is more efficient.

It's the whole "journey vs destination" thing.

Currently AI seems to be the rocket you strap to your back as you put on VR glasses and enjoy the entertainment. You'll get there fast or blow up in the middle.

The True Artisanal Coders are the ones running the whole way, enjoying the scenery and the physical conditioning they get.

And there are people in between with bikes, cars etc. (different stages of AI use)

Analogies are fun =)

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

#595

Earlier quoted context omitted.

The point of school for me was to get a degree. 99% of the time at school was useless. The internet was a much better learning resources. Even more so now that AI exists.

I graduated about 15 years ago. In that time, I’ve formed the opposite opinion. My degree - the piece of paper - has been mostly useless. But the ways of thinking I learned at university have been invaluable. That and the friends I made along the way. I’ve worked with plenty of self taught programmers over the years. Lots of smart people. But there’s always blind spots in how they approach problems. Many fixate on to…

I haven't heard of self taught programmers binging 15 minute YT videos. I can't recall the last time I did myself.. aside from conference talks and such its probably been at least 5 years since I watched something explaining things in the realm of programming.

Am I an outlier or am I missing something here?

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

#596

Earlier quoted context omitted.

Yeah, I feel like I get really good results from AI, and this is very much how I prompt as well. It just takes care of writing the code, making sure to update everything that is touched by that code guided by linters and type-checkers, but it's always executing my architecture and algorithm, and I spend time carefully trying to understand the problem before I even begin.

But this is what I don't get. Writing code is not that hard . If the act of physically typing my code out is a bottleneck to my process, I am doing something wrong . Either I've under-abstracted, or over-abstracted, or flat out have the wrong abstractions. It's time to sit back and figure out why there's a mismatch with the problem domain and come back at it from another direction. To me this reads like people have l…

It's not hard, but it's BORING.

I get my dopamine from solving problems, not trying to figure out why that damn API is returning the wrong type of field for three hours. Claude will find it out in minutes - while I do something else. Or from writing 40 slightly different unit tests to cover all the edge cases for said feature.

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

#597

Earlier quoted context omitted.

Here's an example: I recently inherited an over decade old web project full of EOL'd libraries and OS packages that desperately needed to be modernized. Within 3 hours I had a working test suite with 80% code coverage on core business functionality (~300 tests). Now - maybe the tests aren't the best designs given there is no way I could review that many tests in 3 hours, but I know empirically that they cover a major…

... Yeah thise tests are probably garbage. The models probably covered the 80% that consists of boiler plate and mocked out the important 20% that was critical business logic. That's how it was in my experience. For God's sake that's completely slop.

You should read my other comment - I did check that the test was actually checking the logic, so I guess I did some level of review with it.

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

#598

Earlier quoted context omitted.

Here's an example: I recently inherited an over decade old web project full of EOL'd libraries and OS packages that desperately needed to be modernized. Within 3 hours I had a working test suite with 80% code coverage on core business functionality (~300 tests). Now - maybe the tests aren't the best designs given there is no way I could review that many tests in 3 hours, but I know empirically that they cover a major…

> 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. These are basically acting as smoke tests.

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

#599
post #64

Earlier quoted context omitted.

I like this analogy along with the idea that "it's not an autonomous robot, it's a mech suit." Here's the thing -- I don't care about "getting stronger." I want to make things, and now I can make bigger things WAY faster because I have a mech suit. edit: and to stretch the analogy, I don't believe much is lost "intellectually" by my use of a mech suit, as long as I observe carefully. Me doing things by hand is probab…

> to stretch the analogy, I don't believe much is lost "intellectually" by my use of a mech suit, as long as I observe carefully . With all respect, that's nonsense. Absolutely no one gains more than a superficial grasp of a skill just by observing. And even with a good grasp of skills, human boredom is going to atrophy any ability you have to intervene. It's why the SDCs (Tesla, I think) that required the driver to…

What do you think I'm trying to do, precisely?

I'd agree, if my goal was "to be a great and complete coder."

I don't. I want just enough to build cool things.

Now, that's just me.

That being said, I'd also venture to say that your attitude here might be a tad dinosaurish. I like it too, but also, know that to a large extent, especially in the market -- this "quality" that you're striving for here may just not happen.

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

#600

Earlier quoted context omitted.

Takes mass to move mass. Most of the strongest people in the world look "fat" and usually have a hefty gut. Strong and jacked are orthogonal characteristics.

I know what you mean, but from a physics perspective, no, it just takes force to move mass. More mass will generate more downward force due to gravity, and more force in other directions due to momentum once it’s moving, but there’s more to generating force than just mass. I’m not a kinesiologist but I would think how much force muscles generate depends on the amount and size of the fibers (mass) but also on their co…

Very overweight people, ironically, have good muscle development -- if they are ambulatory. Having to move all of that weight around builds muscle.
Post reply on HN