Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

fnordpiglet

Interestingly I’ve learned more about languages and systems and tools I use in the last few years working with agentic coding than I did in 35 years of artisanal programming. I am still vastly superior at making decisions about systems and techniques and approaches than the agentic tools, but they are like a really really well read intern who knows a great deal of detail about errata but have very little experience. They enthusiastically make mistakes but take feedback - at least up front - even if they often forget because they don’t totally understand and haven’t internalized it.

The claim you should know everything about everything you work on is an intensely naive one. If you’ve worked on a team of more than one there’s a lot of stuff you don’t totally grok. If you work in an old code base there’s almost every bit of it that’s unfamiliar. If you work in a massive monorepo built over decades, you’re lucky if you even understand the parts everyone considers you an expert in it.

I often get the impression folks making these claims are either very junior themselves or work basically alone or on some project for 20 years. No one who works in a team or larger org can claim they know everything in their code base. No one doing agentic programming can either. But I can at least ask the agent a question and it will be able to answer it. And after reading other people’s code for most of my adult life, I absolutely can read the LLMs. The fact a machine wrote crappy code vs a human bothers me not in the least, and at least the machine will take my feedback and act on it.

byzantinegene

you have 35 years of experience and have already built up the learning capability and general framework to acquire new knowledge. you know how to use agentic coding as a tool to supplement your work. the juniors who start today don't have that, they overrely on agentic coding and do not know what they don't know

CGamesPlay

Exactly this. We need to be more precise than blanket statements like "agentic coding is a trap" and start figuring out what a "tasteful" application of agentic coding looks like. ChatGPT is destroying liberal arts curriculums because students can choose to not do anything of the thinking themselves and produce mediocre work that passes the bar. I think the same problem is showing itself with agentic coding, just with more directly measurable consequences (because the pile of software ends up failing in a more spectacular way than the pile of bad writing).

hibikir

On liberal arts is simply a matter of what the students want to get out of the class, vs what the teacher wants the students to do: There's a huge disconnect in goals and expectations, so there's no way for the teacher to actually win. The fact that there's such disconnect should give the departments pause.

This doesn't happen at all for using agentic coding: What the programmer wants and what the boss wants are pretty well aligned. There are corner cases where someone isn't allowed to use LLMs, but does it anyway, but in most cases, the organization agrees.

bmitc

I think it's most easily summarized by: "It's still important to know things and what was important to know before hasn't really changed". If anything, agentic coding highlights and accensuates the need for good systems and software design knowhow.

throwaway041207

IMO, by the time todays juniors would have 5-10 years of expected experience, the entire field will be something different altogether. Language choice distribution will collapse (if not change altogether), whole new modalities of monitoring and progressive delivery guardrails will come into play, essentially creating a 24/7 incremental rollout of pure agentic code, correctness will be determined by a mix of language features and self-monitoring by models in production and automated testing against production snapshots in pre-production, and deep debugging will the be province of a select group of engineers and there will be a pathway to those roles for juniors, but those roles will be coveted and difficult to break into (and probably will require education and maybe even informal accreditation).

bulbar

Just as "use code for contracts" failed for crypto currencies, "use AI output as prod" will fail for AI. Both is based on "just don't make catastrophic mistakes anymore".

You also wrongly assume that requirements can always easily expressed as natural language.

Another point: Software Engineering always starts where tooling capabilities stop. You don't get a competitive advantage by building without engineers what anybody everybody else can build without engineers.

blks

Everything looks a nail for our hammer-shaped chat bot.

I think you’re overly hyped if your actually believe this is going to be a reality in 5-10 years.

ookblah

someone probably made this same argument against certain frameworks over the years and juniors still figured it out. we need to stop trying to babysit learning for hypothetical situations.

the bar to "start" is lower and the bar to actually competency is higher now, juniors who want to actually learn instead of just pressing enter over and over again will do so regardless of whatever you do to "help" them.

SpicyLemonZest

It's not really a hypothetical. I work with one junior who's submitted an incorrect bugfix 3 times and counting; he seems genuinely incapable of processing the idea that there's a correctness issue he has to resolve, rather than a prompt engineering issue that will allow Claude to figure it out if only he asks in the right way.

munksbeer

Juniors will figure out how to make things work just as well as we did. They may end up with a different set of skills, but competitive advantage is still a thing, and so competition will mean they end up with the best skills suited for the environment.

bhagyeshsp

Self-taught, "junior" here.

Due to English-language limitation my most adult life, I struggled to code. Used visual coding etc. But of course, I can't make a living on drag-and-drop harness.

Comes in GPT-3.5, accelerated my learning. Now I'm running my incorporated company, just launched one software-hardware hybrid product. Second one is a micro-SaaS in closed beta.

The point is: when people use "juniors" as a fixed shaped blobs of matter, they focus on the juniors that were in any case going to make mistakes: AI or not. Misses the key point of agentic usage.

lelanthran

> I struggled to code

> ...

> Comes in GPT-3.5, accelerated my learning.

So now you can code? If I sat you in front of a computer with no internet and no GPU but your choice of IDE, you would actually be able to produce a product?

blks

I didn’t speak English my early teenage years, and that haven’t stopped me from reading books about programming in my native language. I remember spending hours in bookshops, excited to pick up next book to devour and try out.

sterlind

accelerated what learning? learning to code? learning to engineer? learning to manage? learning to market?

imtringued

This is backwards. You were too lazy to learn English even though every hour spent programming also comes with an included English lesson?

Now AI lets you write code using libraries whose documentation you can't even read? How is this a win?

danenania

If a junior builds something with agents that turns into a mess they can’t debug, that will teach them something. If they care about getting better, they will learn to understand why that happened and how to avoid it next time.

It’s not all that different than writing code directly and having it turn into a mess they can’t debug—something we all did when we were learning to program.

It is in many ways far easier to write robust, modular, and secure software with agents than by hand, because it’s now so easy to refactor and write extensive tests. There is nothing magical about coding by hand that makes it the only way to learn the principles of software design. You can learn through working with agents too.

FridgeSeal

> that will teach them something. If they care about getting better,

This pre-supposes the idea that the business is _willing_ to let that happen, which is increasingly unlikely. The current, widespread attitude amongst stakeholders is “who cares, get the model to fix it and move on”.

At least, when we wrote code by hand, needing to fix things by hand was a forcing function: one that now, from the business perspective, no longer exists.

blks

Coding by hand is not mere typing symbols into editor that LLMs are now replacing, it’s thinking, abstracting, deciding how to apply your knowledge and experience, searching for information.

And of course in the current workplace where there’s often a push from managers to use LLMs as much as possible and to put as much work as possible on yourself, in this churn junior will not get to learn anything besides prompting and simple tooling.

wiieee

“Currently an engineer at OpenAI”

Don’t forget to mention that.

echelon

> the juniors who start today don't have that, they overrely on agentic coding and do not know what they don't know

Y'all need to stop worrying about the kids.

They're smarter than us and will run circles around us.

They're going to look at us like dinosaurs and they're going to solve problems of scale and scope 10x or more than what we ever did.

Hate to "old man yells at cloud" this, but so many people are falling into the trap because of personal biases.

While the fear that "smartphones might make kids less computer literate" is true, that's because PCs are not as necessary as they once were. The kids that turn into engineers are fine and are every bit as capable.

esailija

Not really.

For example preliterate people have absolutely insane memory. In comparison my memory sucks. Having to use notes, look things up etc sucks. Literacy is a tradeoff but at least it can be argued to be worth it.

Then there is smartphones. This is not the same. The tradeoffs compared to pre smartphones cannot be argued to be worth it imo and I was 20 years old when they were introduced. They make society and lives worse. It's not just about not being able to use PC but your attention and social skills sucking.

Then there is AI which is even worse than smartphones. The tradeoffs are so unthinkably bad I can't really even describe it.

rimliu

Was not a IQ decline observed for the first time recently? Also, no one gets smarter by outsourcing thinking.

jachauhan

[flagged]

jmuguy

This post does not make the claim that "you should know everything about everything you work on" - its making the claim that writing code and being able to read code effectively are intrinsically linked.

ray_v

I wonder if it's not so much the coding that people don't want to write, but it's more about the weight of all the orchestration, data engineering and research that has to be done (or, understood in the first place) to get anything off the ground these days. It feels off the charts complicated, and of course is now shifting rapidly.

grogenaut

Agreed. I don't know anything about turning sand into transistors or assembly but do well. So I don't know my full stack either.

What is important is not being afraid to learn the rest of your system and keeping an index.

Most importantly it's about being able to spin up on anything quickly. That's how you have wide reach. Digging in when you have to, gliding high when you have to. Appropriate level for the problem at hand.

When I was in college eons ago they taught CS folks all of engineering. "When do I need to know chem-e or analog control systems?" We asked. "You won't. You just need to be able to spin up on it enough to code it and then forget it. We're providing you a strong base."

That holds even within just large code bases.

Terr_

[dead]

catlifeonmars

> The claim you should know everything about everything you work on is an intensely naive one.

I disagree with this take. Personally, I pride myself in learning the code bases I work on in detail, sometimes better than the leads for those code bases. I’m not saying that everyone should do so, but it’s achievable and not naive at all.

fnordpiglet

Knowing it better than the leads isn’t that hard - they spend most their life in meetings and teaching people how to think. Knowing the code base in detail is important - but I’m certain unless you wrote it all, there are parts you don’t know. I’m sure what you do is build enough scaffold understanding and depth in the core parts you can visit any part and understand it. But I’m also certain there are parts that based on pure recall you care unaware of the details. Someone else wrote it, you haven’t had to read it yet, and thus it’s a black box. Either that or your code base is quite small relative to the team size, or the team is very unproductive. The supposition one person is fully aware of any growing code base built by a team or organization - or a monorepo being built by 10,000 developers over 15 years - is prideful. A lot of it works because it works and you accept that unless you need to inspect a part because it’s not working. Whether a machine wrote it or an intern 10 years ago did, it’s a black box until it has to not be.

wiieee

The question is one of is it easier to untangle llm code or human?

svnt

Even if you did write it all, unless you are regularly in all of it (which sounds like a horrible job to me), or it is rather small, in my experience you will be at some point trying to git blame some section of code you don’t understand only to find the finger pointed at your ghost.

RHSeeger

> The claim you should know everything about everything you work on is an intensely naive one

This is a slight tangent from that, but I place a lot of value on the ability to offload some/most of the mental model to AI. I need to know less about everything (involved in this one task) when working on it, because a lot of the peripheral information can be handled by the AI. I find that _incredibly_ useful.

girvo

> The claim you should know everything about everything you work on is an intensely naive one

Nothing in the article made that claim.

adrian_b

> The claim you should know everything about everything you work on is an intensely naive one.

It is true that you normally do not need to know everything, or even most of it.

Despite this, it is necessary to be able to discover and understand quickly anything about the project or system on which you work.

I have seen plenty of software teams that became stuck at some point because they could not solve some trivial problem that required a zoom into the project where some extra skills were required for understanding what they saw, like understanding a lower-level language, or assembly language or some less usual algorithms or networking protocols and so on.

Or otherwise they were stuck not because they lacked the skills to interpret what they saw, but because they used something that was a black box, like a proprietary library or a proprietary operating system, and it was impossible to determine what it really did instead of what it was expected to do, without being able to dive into its internals.

So I believe that the environment should always enable you to know everything about everything you work on, even if this should be only very seldom necessary.

crjohns648

I have also seen the learning acceleration, there's a significantly increased set of techniques and technologies I have learned how to apply.

From a person perspective though, I'm apprehensive about the effect AI will have on the human "very well read intern." People who know a lot very deeply about specific areas are fascinating to talk to, but now almost everyone is able to at least emulate deep knowledge about an area through the use of AI. The productivity is there, but the human connection is missing.

fnordpiglet

I agree. I think this is personally very useful, but I think a great deal of what made computing an amazing industry to work in is going to or has already died. I suspect the general field as it existed will entirely cease to exist before the current set of well read interns have had much of a career chance. It is sad, but we have finally succeeded in programming ourselves out of jobs.

rimliu

did you try to apply anything you have "learned" without the help of LLMs?

keyle

As a senior developer, 25+ years, I have been thrown recently into a meeting "hey can you join in for 5 mins". I really don't like these meetings where you're dragged in in the middle of them without any clue.

The questions came flying in fast, without any introduction, and this was about an external integration out of a dozen. They have their own lingo, different from ours, to make the situation worse.

I had a _very hard time_ making sense of the questions, as I indeed relied heavily on a model to produce these integrations (extremely boring job + external thick specs provided).

I'm still positive these would have simply not happened in a 10x the time if I did not use models, however, I'm now carefuly considering re-documenting the "ohhs" and "aahs" of these so that these kind of uncomfortable moments never happen again.

I haven't felt so clueless and embarassed in a meeting, ever. All I could say was "I'll get back to you on that one, and that one, and this one".

Cognitive debt is very real, and it hurts worse than technical debt on a personal level! Tech debt is shared across the team, cognitive debt is personal, and when you're the guy that built the thing, you should know better!

To be continued... But from now on, the work isn't done if I don't get a little 5 mins flash-card type markdown list of "what is this" and "what is that", type glossary.

josephg

> As a senior developer, 25+ years, I have been thrown recently into a meeting "hey can you join in for 5 mins".

This is a common thing doctors complain about. Patients come in, saying they just need a prescription for some drug or other. Good doctors often refuse to give any drugs or any advice until they understand the whole situation properly.

If you're a senior developer, you're the one who has to push back against behaviour you don't like. You have the authority. "Hm, interesting question. I'm going to need more context before I can give you my point of view. Can you give me a quick overview of the system architecture / explain what actual problems you're trying to solve with this approach?"

lelanthran

> If you're a senior developer, you're the one who has to push back against behaviour you don't like. You have the authority. "Hm, interesting question. I'm going to need more context before I can give you my point of view. Can you give me a quick overview of the system architecture / explain what actual problems you're trying to solve with this approach?"

One of us misunderstood the GP; I understood him to mean that, because he did not write the code, he was not able to answer the questions based on that code.

You seem to think he meant that he could not answer questions on someone else's code.

undefined

[deleted]

ryandrake

> This is a common thing doctors complain about. Patients come in, saying they just need a prescription for some drug or other.

Off topic, but this must be a USA-specific problem, where prescription drugs are actually marketed at Joe consumer. I think there is maybe one other country where this insane practice is allowed. Nowhere else are patients told to “Ask your doctor about Procrapin for your irritable bowl syndrome!!”

backwardsponcho

While I'm sure the US has its quirks, this is not a US-only "problem" (not a health expert so I'm not sure if it's even a problem to begin with).

I live in Norway and have heard from lots of people (coworkers, friends, acquaintances) that doctors are very reluctant to prescribing anything at all - the running joke is that they'll advise you to "get some fresh air and go for a walk" even if you just broke your leg in half

bigthymer

While prescription drug marketing to consumers is an issue in the US, I think the actual problem in this situation is people Googling their issue then coming to the doctor with the conclusion of their investigation instead of letting the doctor do the investigation themselves.

matheusmoreira

It's not exclusive to the USA. Happens every single day here in Brazil too. Prescriptions expire, but people still need their medications, so they come in for routine consults. Good opportunity to reevaluate the patient and make adjustments if necessary.

terseus

I don't know in other countries, but in Spain you definitely don't go to the doctor asking for anything more complex than a paracetamol.

You tell the doctor your symptoms, he explores you and perform any tests considered appropriate, and the doctor decides the prescription.

skrebbel

> Procrapin

Perfect

stingraycharles

> If you're a senior developer, you're the one who has to push back against behaviour you don't like. You have the authority.

Not just that, but it seems like the grandparent had issues understanding what they were talking about. This is absolutely fine, and they should have just asked to continue explaining more until the problem was fully understood.

It’s obvious your opinion is important, but it’s not worth a lot if you don’t understand what the actual problem is.

Also, I personally don’t like to appeal to authority (not sure if that is what you meant), and instead just use the Socratic method to keep asking questions until they themselves understand the weaknesses. It’s a very friendly way of doing things.

komali2

> Can you give me a quick overview of the system architecture

I think what the OP is saying is that it's the OP's job to know that, and didn't, because they over leverage the LLM.

Like if a doctor was brought in on a cardio consult on their patient because they had a maybe unrelated heart condition, and the only thing they could answer to "why did you prescribe cemidine instead of decimine" is "lemme get back to you on that."

ryandrake

What kind of place do you work where you get dragged into a meeting halfway through and then are peppered with technical questions without context, that you're expected to answer on the spot? Please let us know because I'm sure a lot of us want to avoid such a place.

"I'll need to study the docs and code to answer these questions properly" is a perfectly fine (and very diplomatic) response to treatment like that.

pkthunder

Not OP, but similar context (~20yr exp.). You absolutely can get away with "I'll need to dig more into this to give you a good answer" but you are _for sure_ expected to have at least some answer ready-to-go. Especially if it's under your purview.

WD-42

I don’t think it was made clear: the questions were about the code op “wrote” but they used a llm so couldn’t remember any of it. Probably got there from a git blame. This happens.

furyofantares

The implication is that, in the past, such a meeting would be fine, because they're an expert in what they've authored. It's "hey can you join for 5 minutes" because, in the past, they'd have had deep knowledge off the top of their head of the things they'd committed under their name.

But now they're not an expert in the code they've recently committed.

Maybe that's OK and expectations need to change, but I'd bet there are a lot of cases where the organization really wants to produce a (code, expert-in-the-code) pair, and should be willing to pay a little time to do that over producing just (code, guy-who-prompted-it).

keyle

Startup life man. Happy to help, just rough sometimes.

solenoid0937

This can happen more or less anywhere if you spend enough time at a company. At some point you'll get pulled into a meeting like this because others think you're in expert in a codebase/area you're not.

djmips

Like if your the manager of a group and you do little code writing.

childintime

> "I'll need to study the docs and code to answer these questions properly" is a perfectly fine (and very diplomatic) response to treatment like that.

By the time you said that, the AI could have given the 80% answer. So, no, this is no longer an adequate response. The right response would have been to take your tools and give an informed opinion on the AI answer, right there.

lelanthran

> So, no, this is no longer an adequate response. The right response would have been to take your tools and give an informed opinion on the AI answer, right there.

If the AI could answer the questions, why would they ask OP about it?

anon7725

What are “your tools”? Many (most?) meaningful questions cannot be answered while you stall for time on a call. Or do you just mean ask an LLM the question and regurgitate its answer?

marcosdumay

From the way it's written, looks like it's his code that he wrote recently.

It's quite common to search for the author of a piece of code to ask questions about that code.

maxrev17

I’d just say to this.. who cares, drop the ego. The tool was used and if you didn’t use it you’d be in worse trouble. I just say I dno I’ll ask the AI… easy :D

keyle

Thanks, that's an interesting take from all that I've read.

If you're happy for me to do the job in 1/10th of the time, be happy with me not being fully across it on a whim.

intrinsicallee

If the new way and speed of working makes you deploy things that you then become the bottleneck on the organizational knowledge of, and now the organization is running things in production that you have to go chase down details about and blocking other people, it seems like you just moved the problem from "needing time to do work properly" to "doing work then needing time to do it properly" which seems to me like a tremendous increase liability.

whattheheckheck

Dr. Chuck from python for everyone course said the same thing.

utopiah

Back to 2014 with this 7min "The Expert" skit https://www.youtube.com/watch?v=BKorP55Aqvg

Not the kind of meetings I enjoy where basically expertise isn't seen as something to build on but rather just (creative) confirmation bias.

xg15

> To be continued... But from now on, the work isn't done if I don't get a little 5 mins flash-card type markdown list of "what is this" and "what is that", type glossary.

Easy, just have the agent write them for you at the end, then never read them...

(/joking)

chaidhat

I think that in an AI-native company, the people asking the question should be using their own set of the AI to query the codebase, before coming to ask you. The problem that you describe seems to be more relevant to an organization which has not fully embraced AI yet.

otabdeveloper4

> AI-native company

No such thing. The AI hype bubble is only a couple years old, and will not last a couple years more.

enigmoid

> only a skilled developer who's thinking critically, and comfortable operating at the architectural level, can spot issues in the thousands of lines of generated code, before they become a problem.

An additional factor: to find issues in generated code, the developer has to care. Many developers (especially at big firms) are already profoundly checked out from their work and are just looking for a way to close their tickets and pass the buck with the minimum possible effort. Those developers - even the capable ones - aren't going to put in the effort to understand their generated code well enough to find issues that the agents missed. Especially during the current AI-driven speed mania.

lgrapenthin

Indeed. Generated code is also harder to read because it violates all semantic expectations that rely on the mental model of a human author. A generated piece of code is linguistically plausible but often unknowingly imitates common idioms so incoherently that the actual bug may be accidentally disguised in a way no sane human (even a bad programmer) could have come up with.

Since LLMs have no internal evaluation, as a reviewer one has to account for it and evaluate line by line, rebuild from scratch any hidden rationale and tacit knowledge the LLM didn't have in the first place - only to be mislead into non concerns draining costly hours.

At this point, the investment is often deeper than writing from scratch.

WorldMaker

I tried to capture some of my feelings on this on a recent personal blog post/rant. The easiest phrase is that LLMs are "legacy code as a service". They are trained on other people's legacy code. (No one is intentionally feeding LLMs their best proprietary code.) They produce output that is "Day 1 Legacy Code" in the sense that there's no human code owner to take responsibility and you might be able to ask the LLM that built it questions, but it is easier to accept is as the LLM that wrote it is no longer at the company (between context/memory limitations and regular model upgrades/retrainings, etc).

But also, yeah, it starts to get worse than classic legacy code because you could try to build a theory of mind about the legacy code author(s). There were skills in trying to "mind read" a past generation. To find clues in poetry words more than the poetry form. (The variable names and whatever comments may have survived including commit logs; things written for humans to help explain the whys/hows, not just the whats.)

djmips

"legacy code as a service" - that's apt. But would they be better if they trained exclusively on 'good code'? I know I don't know the answer to that question and I get the feeling that few people actually understand how they work enough to feel comfortable with asserting that to be true.

awakeasleep

There are exceptions to this, but in big firms many developers on many teams are actually punished for caring.

tmvnty

You know how some say the big brother sells junk food, then “solutions” to lose weight?

Maybe companies today are being sold junk AI, and next step is being promised “solutions”.. capitalism is working exactly as expected

ruicraveiro

And by the comments in this section, there’s a lot of them.

monksy

I kind of think this article misses the mark a little.

There is skill loss from heavy AI use.

But I want to acknowledge the awkward elephant in the room. AI Is making people too fast. I don't mean that a faster output is bad. It's a faster output and code rather than a full understanding and experience in producing the code. It's rewarding people who try to talk about business value rather than the people that are building and making safe decisions with deep knowledge.

AI: Yes, its good and it can produce some good solutions, however it ultimately doesn't know what it's doing and at the best of cases needs strong orchestrators.

We're in a cesspit of business driven development and they're not getting the right harsh and repulational punishments for bad decisions.

zbentley

I don’t disagree with any of that, but I think the brutal truth is that the priority of most businesses was always that approximate, slipshod, business-driven development. The human engineering process was only coincidentally a check back against the worst outcomes of that philosophy, not intentionally one.

throwaway041207

I certainly think that is true of the current moment, but where I think this is going is towards a model where the cost of human labor collapses, feature delivery slows (relative to the churn that is happening now), but becomes more predictable and less error prone (in terms of final delivery). I think that is the model that we see in manufacturing, and I think it's probably going to replicate in software engineering. New code (that a human didn't even look at, tbh) will be stress tested for correctness, progressively introduced and final delivery will be easy to forecast and most of the time will be delivered on time.

wiieee

Yeah but all these firms are going to get destroyed by firms led by people who are more disciplined and enforce rigour in thought etc that’ll be pushed through discouraging over-use of llm’s.

Apple didn’t go from near bankrupt to where it is today without that discipline.

ehnto

I don't know if it really plays out like that, though I hope so. Many businesses are mega successful in spite of incredibly poor or inefficient technical execution. I don't know if it really matters so long as customers get the thing they want for the price they're willing to pay.

I think this matters even less in higher tech companies, because they're not playing in the margins where an inefficiency can hurt. Though perhaps ironically, I think AI providers really are in a realm where technical execution at the margins will make or break them.

WorldMaker

We can hope. The markets are rarely rational to begin with and we live in a time where the biggest measuring stick for most companies is "what have you done in the last 3 months". There's not a lot of pressure on companies in today's marketplace to do the right thing over the "right now" thing or the fast broken thing or the dumb thing.

throwaway041207

> more disciplined and enforce rigour

Eventually this will be automated as well. Discipline, rigor and correctness are not strictly human tasks.

beej71

I agree as well. And now they can make slipshod products at 10x speed.

intrinsicallee

Bingo. All the clamor for more speed is driving erosion in the biggest asset class for most of the companies adopting these "accelerant tools": knowledge.

Everybody cargo culting winner takes all VC plays is gonna deprive everyone involved from building the knowledge assets they need to compete while playing into the hands of the winner takes all VC plays providing the tools driving all of this.

Seems clever from the point of view of the soon-to-IPO vendors behind these tools, and also seems extremely naive of all the people, teams and orgs buying into this ecosystems.

My current play is to do deep dives into fundamentals and stealth a team of like minded people to start putting out packaged expertise to help escape this quagmire.

sandos

Skill loss is real. BUT, I have been complaining about skill loss to my bosses for literally a decade. So AI is just one problem for me. I was coding less and less every year for some reason.

I'm not sure skill loss is such a huge issue, in other words. It might just be a sign that the nature of our work if shifting. Being able to recite the C++ standard and using all the 100s of features correctly will just not be as highly regarded as knowing good architecture instead?

Terr_

> too fast

Another aspect is that it reorders some of our problems.

In typical development, we're more likely to go back and forth about "is this really what we want to make" or "what could possibly go wrong if we do that", and ideally we do it before PR's get approved or anything is merged/deployed. Some portion of that is getting moved to "we'll see if anyone complains later". As they say, an ounce of prevention is worth a pound of cure.

larsfaye

Author of the article here (had no idea someone shared it! Just found out through analytics).

I actually mention this exact thing it the article under the section "LLMs accelerate the wrong parts", which seems to be saying exactly what you're saying:

https://larsfaye.com/articles/agentic-coding-is-a-trap#llms-...

I would find it hard to believe there is any developer in history ever uttered the words:

"I really wish I had a tool that could generate code I don't understand, and at a rate faster than I can review".

djmips

I know what that feels like having been a manager of a team of coders who were generating code faster than I could fully understand and review. I imagine how much worse that would be with Agentic coders.

komali2

> We're in a cesspit of business driven development

In a business-driven world with business-driven governments writing business-driven rules, what's the alternative if you want to optimize for success?

hypeatei

> We're in a cesspit of business driven development

It's not just businesses doing it either, I regularly see big PRs get merged on open source projects that seem fine on the surface but contain a 1000 paper cuts worth of bugs (not critical, but just enough to annoy you)

On top of that, the code wasn't idiomatic C++ (for this specific project) and the LLM completely ignored available APIs. Sure, it can be fixed, and maintainers should've caught it, but the amount of code being generated requires so much energy on everyone's behalf.

ryandrake

Using AI to go faster is optimizing the wrong thing. At every place I've worked, the "code writing" part takes the least amount of time, compared to all the other things you need to do in order to implement a feature. Let's examine a feature that takes a day to code:

First, you've got to plan everything, using whatever Agile or Waterfall planning ritual your company uses, get the task breakdown, file the JIRA tickets, decide who's doing the work. That all can take days or even weeks. Then you need to write a design doc with your proposed design, and get that reviewed by your peers/teammates. Again, another week for any substantial feature. If there are multiple teams involved, you need to get buy-in and design agreement among those multiple teams, let's add another week. At some places, you need approval to commence work, which can take multiple days, depending on the approver's schedule and availability.

Then, you take a day and write the code and make sure it passes tests.

Then, it's code review time, and this can involve a lot of back and forth with your team, resulting in multiple iterations and additional code reviews. Another "days or weeks" stretch. At bigger companies, you're going to need to pass all sorts of reviews from other departments, like legal, privacy, performance, accessibility, QA... even if done in parallel, let's add a conservative 2 weeks. Finally, you push to staging, and need to get some soak time internally among dogfooders, so you have some confidence that it's working. +1 week. Then you're ready to push from staging to prod, but since you work at a serious company, nothing goes to 100% prod right away--you need to slowly ramp up and check feedback/metrics in case you need to roll back. The ramp to fully launched could take another two weeks.

So here's a feature that took, what, maybe two months from design to release, and we're falling all over ourselves to optimize the part that took a day so that it takes 5 minutes instead...

AdieuToLogic

> Using AI to go faster is optimizing the wrong thing. At every place I've worked, the "code writing" part takes the least amount of time, compared to all the other things you need to do in order to implement a feature.

This reminds me of one of my software engineering axioms:

  When making software, remember that it is a snapshot of 
  your understanding of the problem.  It states to all, 
  including your future-self, your approach, clarity, and 
  appropriateness of the solution for the problem at hand.  
  Choose your statements wisely.
> So here's a feature that took, what, maybe two months from design to release, and we're falling all over ourselves to optimize the part that took a day so that it takes 5 minutes instead...

Well said.

Terr_

> a snapshot of your understanding of the problem

Relevant: Programming as Theory Building (1985) by Peter Naur. The actual text is rather stuffy, but basically the code+docs cannot replace the richer in-human-heads ideas for what the real-world problem is and how computers should (or shouldn't) be used to face the problem.

AdieuToLogic

>> a snapshot of your understanding of the problem

> Relevant: Programming as Theory Building (1985) by Peter Naur.

Great reference and I agree. From the abstract in the PDF I have of same:

  Peter Naur’s classic 1985 essay “Programming as Theory 
  Building” argues that a program is not its source code. A 
  program is a shared mental construct (he uses the word 
  theory) that lives in the minds of the people who work on 
  it. If you lose the people, you lose the program. The code 
  is merely a written representation of the program, and it’s 
  lossy, so you can’t reconstruct a program from its code.
Programming is a fascinating combination of mathematical determinism and pure expression of consciousness. Both are entirely abstract, whose worth is only quantified indirectly.

Entire organizations are built upon these intangible work products. Careers are made, promotions given, "free valence problem solvers" allowed to soar, stock options issued to birth millionaires.

But Valhalla is only reached if a cadre of engineers can "see" the system, both for what it is now as well as what it must become.

EDIT: removed irrelevant "physical world" sentence fragment.

dilyevsky

1. models are now extremely good at totally automating tedious tasks such as updating dependancies, build/deploys scripts, unit tests, etc what used to take days now can takes minutes. Easily 50x speedup on this. This was non-trivial part of every engineer's day-to-day at an established company. "platform engineering" or whatever they call this now is dead.

2. technically risky ideas that you never would have tried because it didn't make sense from risk+effort/reward standpoint are now within reach. it isn't "go faster" per se but the speed at which you can try something out still changes the nature of engineering process.

SpicyLemonZest

> 1. models are now extremely good at totally automating tedious tasks such as updating dependancies, build/deploys scripts, unit tests, etc what used to take days now can takes minutes. Easily 50x speedup on this. This was non-trivial part of every engineer's day-to-day at an established company. "platform engineering" or whatever they call this now is dead.

I confess that I don't understand why this isn't true, because it seems to be true on the micro level, but it really hasn't been my experience. The platform engineers I'm familiar with are desperately trying to tread water to keep their systems healthy against the now-higher code velocity without falling to pieces. (Perhaps people used to make minor day-to-day improvements while coding that Claude enables us to ignore?)

dilyevsky

I think it’s because most PEs are in general conservative (the whole “mr no” meme) and also have limited experience writing software so they will be slow to adapt to this paradigm shift

otabdeveloper4

Because "platform engineering" isn't about writing bash scripts, it's about having a mental model of the system architecture. (Which the LLM definitely doesn't have.)

Also, it's always the case where you think LLMs are great at doing whatever it is that you don't understand or value.

ytoawwhra92

> First, you've got to plan everything, using whatever Agile or Waterfall planning ritual your company uses, get the task breakdown, file the JIRA tickets, decide who's doing the work. That all can take days or even weeks. Then you need to write a design doc with your proposed design, and get that reviewed by your peers/teammates. Again, another week for any substantial feature. If there are multiple teams involved, you need to get buy-in and design agreement among those multiple teams, let's add another week. At some places, you need approval to commence work, which can take multiple days, depending on the approver's schedule and availability.

All the process you described exists to maximise the amount of time your software engineers spend writing code[0]. You put this process in place because software engineers are among the most expensive employees in the business. Their time being wasted is meaningful to the bottom line.

Make the software engineers cheap enough and the need for a lot of this process evaporates. Companies that already _have_ these processes in place will be SOL because it's incredibly challenging to break a bureaucracy like that, but companies that either don't have these processes or manage to eliminate them will have a significant competitive advantage.

Which shouldn't be news. Startups have always competed with established businesses via speed of execution. What's new is the ability to maintain that speed for longer.

> At bigger companies, you're going to need to pass all sorts of reviews from other departments, like legal, privacy, performance, accessibility, QA...

These are all in the firing line. If the company could outsource their legal liability to an external provider of these reviews, they would.

[0] We'll just ignore the irony that much of this process ends up being foisted on the employees whose time you're hoping to save.

ajam1507

It very much depends on what kind of company you work for. You could never run a startup like this, for example.

ex-aws-dude

Not every company works like that

Big tech has a lot of wankery like that but smaller companies can be fast and scrappy

ryandrake

It's a good point, and your username definitely checks out. I've also worked at a startup and some smaller companies, and still there's a LOT of "wankery" just different types. No, don't write the code yet, you need to present it to the CEO. Oh, we need to also present it to investors. Wait for a bit, because we have another deal coming down the pipe and we might have to change direction. Oh, a VIP customer just played golf with the founder and you need to go to his house to fix his setup. So much of the software engineer's job in the software industry doesn't involve writing code.

CodeShmode

Or you can have a conversation with an agent to build up a requirements/plan spec, asking it to analyse existing code patterns. When it seems like the agent has a good understanding of what needs to be done and how. Ask it to implement, keeping changes as a local spike.

Ask the agent questions about all the other teams' code, reaching out to them for questions it can't answer or clarification. With agent capabilities atm this is rare or can be done fairly async: "please confirm these things".

Maybe realise your code architecture is completely wrong. Manually code up some new abstractions that fit better, write the learnings into the spec plan. Strip out any implementation that largely doesn't fit your updated abstractions. Ask the agent to migrate the code to the new structure.

Repeat until spike is operational and you're happy with the abstractions used

Chat with the agent to create a Design Doc for the approach in the spike. Create a single JIRA ticket for "Productionise CodeShmode's spike". Get reviews and feedback from stakeholders.

Integrate feedback into your spike, or even the original spec document and regenerate the whole thing.

So much of the ritual you've outlined here is overhead from working in a large org where roles are siloed. When one person is empowered to do more then the actual work per person goes down and the overhead becomes the dominant. But that overhead isn't needed anymore because one person can now do many people's work.

I've whipped up spikes in a few days that would've been a month of work across a team multiple DDs and approvals. In the past this wasn't feasible so we would need to justify what those people would work on. Now you can whip it up, show a working demo and ask "should we productionise this"

ryandrake

I have no idea what a “spike” is, but this seems like a good way to build software when there are no consequences to getting it wrong.

What happens if this “spike” violates someone’s patent or puts the company at legal/regulatory risk? What if it leaks users’ personal information? What if it introduces a vulnerability that my 13 year old can exploit? What if it crashes 2 million of your users’ devices because it didn’t anticipate some unusual configuration? What if the code totally conflicts with some other team’s future plans and you didn’t know because they never reviewed it?

This kind of yolo “just try it” development only works if you are very small and low-profile, don’t have hundreds of millions of users, or your software is inconsequential (nobody cares if it goes down or doesn’t work).

CodeShmode

The point not to YOLO in vibe coded slop. It's that with agentic generation you can prove out concepts, features and technical approaches first because it's low cost. Once you have something working you can work on getting alignment.

And yes you should completely grok what you're finally committing, making sure it's fully tested. What it enables is lots of fast experimentation before settling on your final change.

https://www.google.com/search?q=software+spike

gwerbin

I think it depends a lot on how automated the agent is and how long you let it run for. Full automation where you try to build an entire piece of software with agents... yeah, no, we are not there yet. At least not a few you care about maintainability.

Short-lived tightly-scoped agents can do alarmingly thorough and high-quality knowledge work, as long as the work itself is relatively mechanical and can either be carried out in independent chunks or sequentially. For example, a research agent like the Gemini "deep research" tool can save hours of digging around the web and compiling information. With careful prompting, sufficient background context, and good self-evaluation tools, an agentic loop can do very detailed data analysis, carry out serious statistics and machine learning projects, produce high-quality data visualization thereof, and put together a handy executive summary.

They occasionally hallucinate, go off track, get confused, and make mistakes. But they "know" everything that's been published in English for the last 200 years, they never get tired, and the code they write is good enough for throwaway scripting. The real power of agents being able to write code is that they can be extremely self-sufficient and flexible in carrying out these kinds of tree- and sequence-structured knowledge work tasks.

That's of course a different thing from "designing good software", which is neither tree-structured or sequential, and requires a level of intelligence (for lack of a better term) that LLMs do not seem to be capable of, at least not yet. But that's a more specific thing than just writing code in order to get stuff done that happens to require code.

dionian

i remember having to write design docs at one team about 15 years ago. dont miss that. usually was 90% waste.

ex-aws-dude

The thing is the code quality is still ultimately up to you

Nothing stopping you from iterating with the agent till the code is the exact same quality that you yourself would write

kelnos

IME, it's faster and less frustrating to just write the code myself, if the goal is to get code to my quality standards.

undefined

[deleted]

dilyevsky

Respectfully, unless someone is really really bad at articulating what the quality standards are or works with a very niche stack that is definitely not the case anymore with SOTA models

WorldMaker

Respectfully, the current models are all trained on everyone else's legacy code as of roughly six months ago and largely always will be. If I'm doing my job right an LLM cannot meet my personal quality bar on its own because I will always need innovation and excellence they will never see and thus cannot deliver. I also think that training these tools on my personal quality bar is more work than just writing it myself.

nyssos

You're presuming too much about what OP's quality standards are. Can SOTA models outperform the average junior engineer? Yes, obviously. Can they match the best human engineers, if those humans were given all the time and interest in the world? Equally obviously not.

I use hundreds of millions of tokens a month, and LLMs have completely transformed the way I work. They're also, frankly, pretty mid programmers.

dionian

how many LOC per day are you shipping

throwaway894345

TL;DR — there’s a whole lot of craft in how you use agents

I think that’s mostly true, but also I think there is some skill to using agents well. Specifically, work with agents to get a really good product requirements document, then task it out into very narrow user stories / vertical slices (this takes some iterating—the AI really seems to want to think in horizontal layers today), then maybe walk through the code interfaces to be super sure you are aligned. At each step, I make the agent interrogate me thoroughly with every question it can think of, and even if we stop now we will have a system design and tickets that are much higher quality than me thinking alone. I could hand those off to anyone to implement, but I think having an agent TDD their way through the code is the sweet spot.

Whenever the agent is doing something I don’t like (e.g., some coding style thing), I pause and have another agent help me write a style guide that agents must read. This slows me down at first but I think it will pay off in time.

gerdesj

"... iterating with the agent till the code is the exact same quality that you yourself would write"

I don't want my code quality, I want AGI code quality - that's what I was promised and jetpacks and flying cars too!

larsfaye

Yeah, I can't help but chuckle when people say "Well, humans make mistakes, too".

That's what we're spending 7+ TRILLION dollars, destroying ecosystems to build datacenters, and ruining society's social contract on truth and employment for? To build something that produces the average quality of a human, all while making the same types of mistakes along the way?

Sounds like a shit deal, really.

sibeliuss

This is precisely why these types of articles don't make any sense to me, and strike me as case studies on human laziness. If you want good output, you'll review the output and iterate. If you want good foundations, you'll write them, and then later those foundations will prevent, to a very great degree, bad code from getting written by the LLM.

These articles frustrate me greatly. That said, the author's point about token cost is real, and a risk.

bigstrat2003

Nothing is stopping you... but that's slower than just writing it yourself to begin with. AI productivity gains are a myth.

leptons

>Nothing stopping you from iterating with the agent till the code is the exact same quality that you yourself would write

Yeah, but in my experience, it takes the same amount of time or longer to cajole the AI to get it there. I'd rather write it myself and know how it works than insert an LLM as the middleman, especially when it isn't really proving to be any faster.

cyanydeez

Sure, but then it's not really saving you time is it.

hibikir

In my experience, it sure saves time. a lot of quality has significant mechanical components LLMs do great. Hey, this series of 300 functional tests are reusing the same few patterns without helper methods clarifying intent. Give me an overview of possible meaningful methods that would simplify the duplication. Ok, 2, 4 and 5 are good, but rename 2 to X, and change the order of parameters in 5. Implement across the tests, and make sure it all passes.

Still very significant savings over all that rather mechanical work. It's ultimately cheaper than doing a code review, and it's faster, because there's less need to manage the emotional state of the person whose code is being reviewed. Maybe I am a slow developer or something, but I am getting a lot of quality changes like that done that before I'd not have, solely because of time spent.

And not increasing the quality just causes problems anyway. Given the same quality, more changes mean more outages than before, just by probability. Increasing rate of change demands a similar increase in quality if you don't want your production support costs to go up. So spending at least a bit of time on quality, letting the LLM do the nagging little things that before you didn't do beause they they took too long and were not a core part of quarterly goals is basically mandatory.

ex-aws-dude

IMO it still does save time generally but it’s not as much of a huge gain if you’re doing this.

I will admit there are occasional times after iterating so much I’m not sure if I’ve even saved time because going from “it works” to “it’s up to quality” takes so long

habinero

I've run a few experiments where I give it well-defined small side projects where I have a good idea of what I would do and how long it would take, and I time the process from start to finish.

So far, it's been pretty underwhelming--on par or slower, and it's definitely more frustrating lol.

Honestly, the only killer feature I found so far is overcoming ADHD activation energy lol. Getting annoyed with the idiot robot screwing up the Terraform migration is apparently a good way to get me to finish a Terraform migration.

sibeliuss

It saves so much time! Think of the best find and replace and autocomplete and macro and every other possible super tool you use and roll everything into one. The design phase of any significant feature pales in comparison to all of the (now fully automated) tasks that you can just hand off to the agent to do nearly instantly and perfectly.

2ndorderthought

Comment deleted because it was backwards

brightball

But you’d have that coding it yourself…

komat

It still is if agent brings it up to quality fast .

And yea usually does for me

deadbabe

I mean you have to compare apples to apples.

If you are coding by hand like the old days you are probably not literally writing everything from scratch anyway, you are copy pasting a bunch of shit off google and stackoverflow or installing open source libraries.

illiac786

I find the author shows a lot of assurance in stating that assembler coders didn’t felt their skill atrophying when going to fortran. I am pretty certain that, apart from the writing style, the exact same complaints where made at the time.

I would add that no one learns assembler anymore – and that’s a problem.

It will be the same with coding – people that know how to code will become very very valuable. I don’t think they will disappear hence.

I don’t disagree on AI being a massive revolution though, but maybe not so much in software development. Education and most of all, the art, are the most impacted in my view.

mehagar

I've been using AI tools to brainstorm approaches and sometimes generate code, but actually doing the typing myself. That way I'm less likely to forget the mechanics and programming language over time.

kelnos

Same. Most of what I do is ask for an implementation plan, with minimal code, or no code, or pseudocode, and then write the actual code myself. This is for open source work, where the entire point of my enjoyment is that I write the code myself. I honestly wouldn't bother being an open source maintainer if the entire thing was just prompting an LLM to write code, and then reviewing it. That doesn't sound fulfilling at all.

If this was an actual paid job, I do wonder how that would change my LLM use. The reason I'm a software developer at all is because I love the craft. The act of building, of using my brain to transform ideas into code... that's what I enjoy. If it was just prompting an LLM, would I still do that job? I don't know. I'd probably start looking into the idea of switching careers, at least.

orangecoffee

I have asked more than a few dozen people on this, and the answer after some probing is that no other knowledge based career exists that one can move to which is not exposed to AI. While many talk about moving to a labour oriented career, no one has actually done this in my immediate network and friend of friends network. It's day-dreaming in my opinion.

a1o

One approach you can use is to ask it to never write the code for you, which forces it to explain and then once you try the idea by coding yourself you get a better understanding of it. I use this approach with code I am required to maintain. It still bites me sometimes because the models still mixes a lot of incorrect information (usually just stuff that was correct in the past but is incorrect now). For throwaway and easy to verify scripts I ask it to generate, but I do ask to avoid over engineering and trying to catch all corner cases cause in scripts I prefer just letting things error as they are better understood as a step that failed. I also avoid languages I find hard to read (like powershell) and prefer to generate things that are short to fit in the monitor so I can read everything and understand (python, bash, batch are my goto scripting languages).

archargelod

Same. I've also configured the system prompt to never give me a full solution or write a code for me. So whenever I ask it a question it produces a short 10 line example or even a pseudocode. This is far easier for me to reason about.

I still reject > 50% of AI suggestions, because they're too mediocre, like moving code for no reason or sometimes it is just plain wrong.

ex-aws-dude

The thing is why would forgetting even matter if the AI can just remind you of anything that you forgot?

kelnos

Remembering and understanding aren't the same thing. Merely reciting facts doesn't automatically give you the ability to apply those facts to solve problems.

ex-aws-dude

You can just keep asking questions till you understand it

Claude code is insanely useful for explaining other peoples code

platevoltage

This is exactly what I do. I'm glad I'm not the only one.

castedo

Me too, ... more or less. I'm mostly still typing, sometimes copy-and-pasting with typed changes, and rarely copy-and-pasting verbatim. With the caveat that in some cases, like prototypes, proofs-of-concept, and porting code between languages; then maybe many lines are copy-and-pasted verbatim.

mikert89

I've come to the conclusion that if AI can do it, its not hard. None of the complicated software i work on can be reliably written by ai yet

helloplanets

SotA models have cracked a handful of research-level math problems though.

The default Claude Code style harness is bad for complicated problems as well. Just taking the specific class or function you're working on, and putting it into a deep research style loop yields way better results. Limiting the initial context by hand is still the way to go in a lot of cases.

habinero

No, it's the same for math from what I've seen, aka it can do some of the easy things, usually with a lot of help. People usually mean the Erdos problems (aka "a list of things Paul Erdos thought were neat") and, well, here:

> While Erdős generated a huge number of problems, they are not all equally significant and important. I have, unfortunately, seen some mathematicians grow dismissive of Erdős problems recently, perhaps because they have seen reports of AI solving problems on this site that turned out to be quite simple, and wrongly generalised this to assume that all problems posed by Erdős are amusing novelties, of the level of olympiad problems.

From: https://www.erdosproblems.com/forum/thread/blog:5

The rest of the article isn't about AI at all, but I did think it was funny that it describes mathematicians as having more or the same opinion as SWEs.

helloplanets

You're right, definitely as a helper, not a one shot thing.

Here's an example unrelated to the Erdos problems: https://arxiv.org/abs/2510.23513

undefined

[deleted]

LPisGood

What type of software are you talking about?

mock-possum

I mean that’s been my line every time someone makes impressed noises when I say I’m a programmer - it’s really not that hard, it’s really just a question of whether you like it enough to put the work in, like anything else. “Don’t you have to be a math wiz?” No dude 95% of the time whatever you’re trying to do already has a very well researched approach, a lot of times you’re just picking which pre-vetted solution to adapt to your needs.

mikert89

no i mean the opposite, some programming is actually hard

Blahah

Right. Like anywhere the conceptual problems haven't been all figured out yet, or where higher order effects happen with scale or particular shapes of data/substrate and you don't know them in advance.

Sometimes hard like interesting and you get to do really novel thinking. A load of p2p/decentralised things are hard like this.

Also sometimes hard like you get to a particular challenge and it turns out to be a notoriously unsolved mathematical thing, or you push against subtle boundaries of core libraries, runtimes, systems etc. Working with metagenome assemblies is this kind of hard.

Honestly the hard code I've done made such a difference to my brain. There's plenty of trivial stuff I'm happy to have automated, but of I can't work on the hard problems I may as well not be involved at all.

slopinthebag

Yeah this is the same conclusion I have. I primarily use AI for UI code, and guess what, it's all basically mechanical drudgery anyways. Put a div here, or put a Box here, apply some style rules, etc. This shit should have been automated decades ago yet for some reason we're still writing the same stuff with a different "twist" today.

Now if your career is built on writing out the same boilerplate code in its infinite slight variations every day, congrats, you've been automated. Thank god we can free up our intellects to focus on the actual hard problems, the ones that are somewhat cutting edge, the ones that actually push our field and humanity forward.

Literally every example of AI generated code (without significant human input) is just basic stuff that is wholly unimpressive. Oh wow, you had an AI generate a Next.js app? It's writing HTML for you? It made a generic SAAS? Guess I'll become a farmer now.

Or, wait, I'll continue to write my multithreaded real-time multiplayer network for a MMO, since the AI currently generates something that would get me fired 10 seconds ago if I tried to push it to production.

It's amazing how you introduce just the slightest difficulty or novelty to an AI and it just craps the bed. And then you go online and apparently we're gonna be replaced -6 months ago or something.

People need a reality check.

tisdadd

I had it throwing in free advice on my code working as intended, but not a normal pattern. It was something like:"Bonus! This bug exists!" And I had to tell it stop doing that. Or, for generated SQL renaming to keep deeply linked table columns human readable via comments it was - "You can't have a comment of this style here." It works perfectly so yes, yes I can.

I can certainly get it to do things that are reasonably common it seems like.

As for the article itself, I can agree with much of it.

throwaway894345

I genuinely appreciated this comment—it made me chuckle. That said, I think there are better approaches to working with AI besides “here’s a big vague thing to work on, go write some code”. I think you have to iterate somewhat closely with the AI to write a doc describing exactly what you want the system to do and then scope out very narrow tickets and then have a separate agent do the TDD to actually produce the thing. The key insights here are (1) don’t let a code writing agent have too much scope—just a narrowly scoped ticket, (2) keep the coding agent’s context minimal, (3) don’t let the coding agent write much code without testing it. The agent should make very small changes at a time and then test that everything still works.

You will still need to QA stuff and review PRs, but I think AI done properly can genuinely make some tasks better.

slopinthebag

> don’t let a code writing agent have too much scope—just a narrowly scoped ticket

it's interesting cuz my intuition is to give the language model writing the files as much context as possible, which means all of the previous planning thread. but I also thought you should plan with a small model and implement with a large one, and the meta seems to be plan with an expensive one and delegate code output to smaller ones. so what do I know.

> The agent should make very small changes at a time and then test that everything still works.

yeah I think if it's treated like a codegen machine it's basically just outputting code as if you're using a dsl, except the dsl is natural language and the output is meant to be edited, no `// this is generated code, do not edit` headers

> I think AI done properly can genuinely make some tasks better

thank god I dont need to write html by hand anymore, what a pita

habinero

I had AI fuck up writing a scraper[0]. A scraper. It hit a snag with cookies and spiraled into a tizzy. I liked the part where it assured me it could resume from the point of failure, while starting over for the 10th time because it had written no such code lol

[0] For those with AI scraping PTSD, it was a government site with public domain info and I know how to scrape politely

cindyllm

[dead]

slashdave

> When a sysadmin moved to AWS, they didn't feel like they were losing their ability to understand networking.

Wait, is this the same AWS I have been using?

turtleyacht

Would like to see a study of brain scans during flow, manual programming, compared to code review. If the conclusion is different parts of the brain are activated, then orchestration is a separate activity entirely. Reading code is not the same as writing code.

However, the code review study needs to compare between surface scanning and reviewing long enough to get over a theoretical slough of perspective: when you assume the coding chair and are in their frame, whether the brain shifts into a different cognitive mode.

Otherwise, just stamping "Looks good to me" is likely to lead to the same atrophy. There's no critical thought, even a self-summary of the change or active questioning.

Thoughtful, deliberate code review just plain takes longer. AI can help here a lot, although it still takes over the "get into review mode" process.

winwang

I absolutely feel like a "different" part of my mind is loaded when seriously engineering something myself vs vibecoding+reviewing. Even the reviewing is more annoying in the latter mental context.

hgyyy

Many firms are going to go bust because of dangerous assumptions they made re. Expectations of llm improvements.

And they will deserve it.

deadbabe

It is definitely not the same parts of a brain.

Code review alone is kind of like being able to understand a foreign language enough to read it, but not really understand it in flowing conversation or being able to speak it, much less construct a complex piece of literature.

Retention also suffers, as you will quickly forget what you just reviewed. What is the last PR you remember?

fathermarz

The slot machine lever is my least favourite opinion on the subject.

Also, let’s not forget. The developer is rarely the person pitching the feature, and is normally given the constraints and the PRD…

Soooo people can keep tiptapping on the keyboard, but eventually they need to open their mind to the possibility that “the old way” is actually dead.

habinero

> The developer is rarely the person pitching the feature, and is normally given the constraints and the PRD

This heavily depends on the industry and company culture.

I've pitched plenty of features and I've basically never had a spec land on my desk ready to go. Part of my job as a SWE is to help product folks decide what to build.

Daily Digest email

Get the top HN stories in your inbox every day.