"Do You Still Read the Code?"

75 points by zanlib a day ago on lobsters | 12 comments

nrposner | a day ago

Two things happened recently in an open source codebase I contribute to:

Last week, after our PI gave a colloquium talk, we got a series of drive-by PRs from a rando GitHub account that claimed to be run by a Microsoft employee, making shallow changes that attempted to fix some marginal issues in our codebase.

We wound up closing them all, and are now discussing what our LLM policy should be going by forward, and if we should adjust our policies to only allow commits from known people. This is a specialized astrophysics simulation, and it’s the first time we’ve ever gotten a commit from someone totally unknown to an existing contributor. Probably someone who just let Claude take the wheel and make automated PRs for internet points.

The second thing is that earlier today, I spoke to a 19-year old CS+physics undergrad who will be making some contributions for credit next semester. He asked me, with complete sincerity, “does anyone still hand code things?”

ChatGPT came out when he was in early high school. He’s been bombarded with propaganda about programming being dead and LLMs being the future since before he was an adult.

He told me about an interview for a summer internship, where he was asked how he would approach architecting a particular system. He described how he would examine the problem, try out some designs, maybe ask an LLM for help.

The interviewer told him he got the answer wrong. The answer he was looking for was “I’d ask Claude to do it all”.

I think he’s going to come out the other side all right (if I have anything to say about it) but it’s going to be a trek.

gspr | a day ago

My biggest fear is that this attitude permeates, or will soon permeate, every applicable profession. Your government, your insurer, your bank, your children's school, maybe even your doctor, might soon be run by people who think like that 19 y.o. or their interviewer.

God help us all then. That's how AI kills human civilization. Not by means of armed murderbots, but by politely offering to think on our behalf. Exploiting the most powerful force in the universe – human laziness.

meline | 6 hours ago

I've been thinking this as well for a lot of this year. It seems far more likely to me that AI "destroys" human civilisation through the total destruction of all intellectual work and knowledge, rather than the rationalist school of AI murderbots or whatever. One can imagine a future in which all knowledge is gated behind paid LLMs and all code is slopped together with only a few remaining people caring to understand how it works. That definitely scares me and that interviewer's response scares me too.

Ameo | a day ago

"I wrote before about how programming is essentially pure applied philosophy"

"Programming is one way to sort the grains of sand of reality"

"code was never the hard part" (not from this blog post, but you've probably seem those posts around)

I've realized that programming is nothing at all. It's language, if anything. It's just a way for smart people to signal their smartness or ambitious people to make money for their family.

I used to describe myself as a Programmer. I resisted the "software engineer" title for a number of reasons. I wrote code, I infused my will into computers, I was a clever genius who found elegant ways to solve problems. I felt the bliss of realizing what monad is, the power of the Borrow Checker, the moment when async/await finally "clicked". It was all great and probably contributed to what I am today.

Turns out it was just like anything else in the world. It wasn't a special vision into God's way of seeing the world. Not a special chat code to see in between the gaps in reality. Just another random skill that you can spend time learning. Some people are predisposed to being good at it, some enjoy it more than others, just like anything else.

The strongest skill you want to have now is to read other people. Marketers and sycophants and manipulators are en vogue now more than ever before. Anyone can do anything as long as they can manage to press the keys on their keyboard to summon it up and present it in a way that appeals to the particular person they're showing it to.

I'm extremely happy that I had the decade of coding golden years that I had in my career. I don't consider myself unlucky or gipped by any means. I'm luckier than 99.999% of humans to have ever lived. I've been grossly enriched by doing an incredibly easy occupation that I would have done for free. The fact that it's on the way out is just something I'll have to deal with, just like the countless billions of other people in Earth's history who have had their vocations eviscerated by the relentless march or progress.

citizen428 | a day ago

I used to describe myself as a Programmer.

Your profile here still describes you this way. ;-)

;-) ;-) ;-) fixed ;-) ;-) ;-)

My 58 year old boss posts those same emoticons btw

;-) ;-) ;-)

evert | 21 hours ago

Not sure if it's your intention but this reply reads as pretty hostile.

5d22b | 19 hours ago

I'm not saying you're wrong, but I don't see any hostility in it, personally.

Of course I still read the code. How else would I know what atrocities the agents are committing?

And because I read the code, I know that Fable is actually an excellent software engineer up to about 3,000 lines or so. But once it exceeds a context window, it tends to cut corners on maintainability. At which point, you know, I've spent decades doing this stuff, and would just as soon trust in my own skills.

But it goes beyond that. If some future model can do the entire job, it will eventually move into adjacent jobs. A hypothetical model that can understand requirements, that can maintain code over years of evolution, and that can understand the organizational context of code, well, that model is going expand into more and more related jobs. And if the model is doing all the work, what value do I even bring?

It's no fun building software with Fable. I give it a two paragraph spec, and go make dinner. When I'm done eating, I'm $50 poorer, but I have a completed program, plus a README with screenshots. If future models expand beyond that to understanding the market, the company and the stakeholders, what's left for a poor human to do other than consume?

enobayram | a day ago

What I am certain of, though, is that there is one obviously harmful practice: putting people who prefer different approaches on the same team without establishing expectations and boundaries beforehand, and then keeping to them.

I think this is the punchline of this article. I've been feeling this pain more and more as $WORK introduces more and more AI. And I really appreciate them including this as well:

A vibecoder may be asked to explain incidental implementation choices, even though he spent a considerable amount of time refining his development process to intentionally make those choices disposable.

Because I often find myself inflicting this pain on my colleagues and taking no pleasure in doing so.

Being in the same team, working on the same codebase with colleagues that have different preferences in paradigms and different habits of rigor has always been painful, but one could argue that the benefits of that kind of diversity might have been worth it before AI. It has simply become too painful at this point, so I completely agree with the author that today we have to make explicit choices about which parts of a system follows which practice and then make sure they interact over well-defined interface boundaries.

LolPython | a day ago

Thanks for writing this, I shared it with my colleagues as it resonated with me a lot.

inactive-user | a day ago

this is the proper take on vibecoding.

but i would not compare vibecoders to compiler/framework users, unless the vibecoder is willing to learn some programming before/while vibing.

even the world's most ergonomic compilers/frameworks can't hide all the abstraction. any programmer worth their salt must learn some hardware/theory behind the compiler/framework to code properly. this is even more true for sophisticated compilers like GCC or GHC.