Live data from Hacker News

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

atmoio.substack.com

621–630 of 652 posts

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

#621

Earlier quoted context omitted.

I don't want to be "that guy", but I'll indulge myself. > I think this is one of the divides between people who like AI and people who don't. I don't mind writing code per se, but I really don't like text editing — and I've used Vim (Evil mode) and then Emacs (vanilla keybindings) for years, so it's not like I'm using bad tools; it's just too fiddly. I feel the same way (to at least some extent) about every language…

A bit different from you When I code, I mostly go by two perspectives: The software as a process and the code as a communication medium. With the software as a process, I'm mostly thinking about the semantics of each expressions. Either there's a final output (transient, but important) or there's a mutation to some state. So the code I'm writing is for making either one possible and the process is very pleasing, like…

> With AI, it feels like painting with a brick. Or transmitting critical information through a telephone game. Control and Intent are lost.

On the other hand, most AI zealots (Steve Yegge comes readily to mind) don't care about what the code looks like. They never even see it.

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

#622

Earlier quoted context omitted.

Outcomes are all that matter.

In the short term, you might see better outcomes with pure vibecoding...but in the long term, when you're mentally burnt out, cynical, and losing motivation, that's a bad outcome both in terms of productivity and your own mental health. We need to find the Goldilocks optimal level of AI assistance that doesn't leave everyone hating their jobs, while still boosting productivity.

I don’t believe everyone find vibecoding as draining as you. You have to be a true artisan for that and most people aren’t. In fact, in this transition state folks are more than happy to finish off their assigned tickets and spend the rest of the sprint working on personal projects or slacking off.

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

#623
post #27

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'…

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…

Coincidentally, this is why Duolingo doesn’t work. They need to make it easy/low friction to keep you engaged but if it’s not hard you won’t be learning much.

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

#624
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…

>Here's the thing -- I don't care about "getting stronger." Let's not mince words here, what you mean is that you don't care to learn about a craft. You just want to get to the end result, and you are using the shiny new tool that promises to take you from 0 to 100% with little to no effort. In this way, I'd argue what you are doing is not "creating", but engaging in a new form of consumption. It used to be you relie…

This strikes me as extreme cope from the other end. There may be some truth to that, but it also kind of reminds me of "how can you possibly create a new kind of tractor unless you know exactly how to build a combustion engine yourself?"

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

#625
post #610

Earlier quoted context omitted.

I think this goes for many different kinds of projects. Take React, for example, or jQuery, or a multitude of other frameworks and libraries. They abstract out a lot of stuff and make it easier to build stuff! But we've also seen that with ease of building also comes ease of slop (I've seen many sloppily coded React code even before LLMs). Then react introduced hooks to hopefully reduce the slop and then somehow it g…

Yeah I think that's an interesting point of comparison. There's definitely a phenomenon where people can take their abstractions for granted and back themselves into corners because they have no deeper understanding of what their framework does under the hood. The key difference with LLMs is that React was written very intentionally by smart engineers who provided a wealth of documentation to help people who need to…

> LLM-generated code has no theory; you either need to supervise it closely enough to impose your own, or treat it as disposable.

Agreed! And I think that's what I'm getting at. Adding what they're now calling "skills," or writing your own, is becoming crucial to LLM-assisted development. If the LLM is writing too much slop, then there probably wasn't sufficient guidance to ensure that slop wouldn't be written.

The first step of course is to actually check that the generated code is indeed slop, which is where many people miss the mark.

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

#626

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 haven't done long division in decades, am probably unable to do it anymore, and yet it has never held me back in any tangible fashion (and won't unless computers and calculators stop existing)

What if everyone who made calculators and calc apps realized they could exploit this for profit and charge you an ever growing subscription fee or token to do long division, and a significant portion of the economy was betting that they were going to be able to extract gigantic gobs of cash? Because that's the situation vibe coders are in now. They're getting hooked on a cheap and convenient tool today, but in a few years, it most likely won't be either of those things.

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

#627

Earlier quoted context omitted.

I think it depends on how they were self taught. If they just went through a few tutorials on YouTube and learned how to make a CRUD app using the shiny tool of the week, then sure. (I acknowledge this is a reduction in self-teaching — I myself am self-taught). 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…

> 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 bag of problem solving tools." I concede that because the barrier to entry is low, stories similar to your anecdotes are probably quite common in most self-taught programmers. I think this just speaks to the necessity of rigor during the interview process. Like, does the candidate just know how to build features, or do they know how to design fail-proof systems?

Also, to clarify, I'm not arguing that self-taught vs CS grad is mutually exclusive to smart/not smart. There are plenty of not-smart self-taught engineers and plenty of smart grads.

> In limited domains

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

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

#628

Earlier quoted context omitted.

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…

Wait, so they could say, write a linked list out, or bubble sort, but not understand what it was doing? like no mental model of memory, registers, or intuition for execution order, or even conceptual like a graph walk, or something? Like just "zero" on the conceptual front, but could reproduce data structures, some algorithm for accessing or traversing, and give rote O notation answers about how long execution takes…

If I'm understandinf correctly, I don't think what you're saying is quite right. They had a mental model of the algorithms, and then the code they "produced" was completely generated by AI, and they had no knowledge of how the code actually modeled the algorithm.

Knowing the complexity of bubble sort is one skill, being able to write code that performs bubble sort is a second, and being able to look at a function with the signature `void do_thing(int[] items)`and determine that it's bubble sort and the time complexity of it in terms of the input array is a third. It sounds like they had the first skill, used an AI to fake the second, but had no way of doing the third.

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

#629

Earlier quoted context omitted.

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 be…

Exactly, if your goal is to reach somewhere fast, you should use the car. Bike, if you can't effort.

But if you're a junior developer, you won't be able to gain the most vital skills.

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

#630
post #599

Earlier quoted context omitted.

> 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.

> 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.

That's great, but that wasn't the point I was responding to. I was specifically addressing your specific point of:

>>> I don't believe much is lost "intellectually" by my use of a mech suit, as long as I observe carefully.

I still think that's nonsense; no one learns much by observing.

Paraphrasing the old joke, you aren't going to get to Carnegie Hall by observing violinists.

Post reply on HN