Top
Best
New

Posted by moebrowne 6 hours ago

AI has a multiplying effect on existing technical skills(www.joshwcomeau.com)
216 points | 218 comments
Waterluvian 5 hours ago|
I had an Iron Man moment last week where I was “vibe coding” a UI design with component tests live on the other screen. Iterating by asking it to move things, reduce emphasis of an element, exploring layout options, etc. The loop was near realtime and felt amazing.

The code it generated was awful. The kind of garbage that people who don’t know any better would ship: it looked right and it worked. But it was instantly a maintenance dead end. But I had an effortless time converging on a design that I wouldn’t have been able to do on my own (I’m not a designer). And then I had a reference design and I manually implemented it with better code (the part I am good at).

adjejmxbdjdn 3 hours ago||
Could it be that the fact that the thing you’re an expert at looked like garbage to you, but the things you’re not an expert at, looked just fine, is not a coincidence?

You can talk to a bunch of designers who will say the opposite. Claude Design Studio generated this garbage UI, that I fixed manually, but it created great code j never could have that made it work.

reactordev 3 hours ago|||
This is the juxtaposition the general public is in. They don’t have advanced tech skills to know any better so they see an output that they can’t produce from their skills and think it’s great. Maybe it is, maybe it isn’t. What does the code look like?
genxy 3 hours ago|||
Both had a working prototype. The flaw everyone is making is that they are over focusing on the artifact and not that they have a shared tangible object that they can both editorialize and iterate on.

These systems should allow rapid iteration on discovery and thinking. One can now make a prototype a day that would have taken a week. That means that we should be able to converge on a much better design in the same amount of time it would have taken to make a v0 that turns how to have systemic flaws.

AI should scale our understanding of systems, not just shovel out half baked features and apps.

bluejellybean 45 minutes ago||
Road to hell is paved with a lot of 'shoulds' reality is a very different place filled with piles of trash and half baked ideas.
yawnxyz 3 minutes ago||||
this is why people still enjoy eating at Olive Garden and Chipotle and Sweetgreen

basically the AI-slop version of food, yet still they thrive

vslira 1 hour ago||||
Maybe specialists have a higher bar than consumers, and as a design consumer he's right about the design, and the designer is right about the code, if "being right" means "understanding what the end customer will think about this".
dataflow 2 hours ago||||
I'm confused, this doesn't make sense. The target they're iterating on (UI) is the same one whose quality they're assessing, not a different one (source code).

You're suggesting that (a) their UI skills are lacking (based on what? isn't UI exactly what they were iterating on and trying to improve?), and (b) that a real UI expert would've somehow felt the UI they were working on was consistently garbage, despite how many times they iterate on it?

Which means you're saying you don't believe anyone can actually produce high quality (to an expert) output with AI on the same target they're working on, and if they think they are, that just means they don't have a good sense of quality?

danielmarkbruce 2 hours ago|||
It's not confusing. It makes sense.
michaelchisari 2 hours ago|||
Without proper training, what looks good may be trash. I always thought pixel art generated by diffusion models looked damn good. Then I started watching and reading reviews by actual pixel artists, and all they saw was flaws. And it wasn't just nitpicking, it was things that were fundamentally wrong, difficult to fix and would look awful and amateurish and distracting to the player in production.
vunderba 2 hours ago||
Much of this comes from the fact that, as is true for almost everything, an LLM (generative model etc) presents itself as an expert. It'll very confidently produce results that, to a layperson, look quite good. But the more of an expert you are in a field, the more apparent the cracks become.

AI pixel art looks particularly bad because most users don’t even go through the effort of downscaling and then upscaling it using something as simple as nearest-neighbor scaling, which by itself will squash out a lot of high-frequency noise that manifests in the form of terrible looking "fringing". Proper grid alignment also makes a big difference. It’s not perfect by a long shot, but it helps.

tomgp 3 hours ago||||
I think this is true, it's like a close relation of the Gell-Mann amnesia effect

https://en.wikipedia.org/wiki/Michael_Crichton#:~:text=%5B14...

chrismorgan 1 hour ago|||
More robust link (to the heading by ID, rather than by text directive with pre/post text that will change): https://en.wikipedia.org/wiki/Michael_Crichton#%22Gell-Mann_...
MichaelZuo 2 hours ago||||
This!

People are never perfectly even in intelligence across all possible disciplines.

ajross 25 minutes ago|||
It's worth pointing out that Crichton coined that term during a period in his life where he was rapidly descending into conspiracy and iconoclastic thought, and this is of a piece with that.

Gell-Mann's observation was a sincere and thoughtful caution about the way we transmit information about complicated ideas. Crichton's "amnesia effect" is an excuse to ignore media you dislike.

holoduke 54 minutes ago||||
Ai is a hammer. Use it right and it makes you very powerful. But it's not an easy tool.
jmount 3 hours ago|||
Good point on "Gell-Mann Amnesia Effect."
akersten 5 hours ago|||
> The code it generated was awful. The kind of garbage that people who don’t know any better would ship: it looked right and it worked. But it was instantly a maintenance dead end.

In the Tailwind thread the other day I was explicitly told that the intended experience of many frameworks is "write-only code" so maybe this is just the way of the future that we have to learn to embrace. Don't worry how it's all hooked up, if it works it works and if it stops working tell the AI to fix it.

It's kind of liberating I guess. I'm not sure if I've reached AI nirvana on accepting this yet, but I do think that moment is close.

hollowturtle 2 hours ago|||
I'm pretty you wouldn't want the same for code that runs healthcare, banks or transport. Only useless shitty web projects could embrace what's you're saying. And no there's no "Claude review the code and improve it" magical formula
QuercusMax 1 hour ago||
I work in the health software space and there are tons of internal tools which aren't production code that can benefit massively from throwaway "write-only code". Putting a web UI on top of a management CLI tool so support ops can run things without needing an oncall engineer can be a huge win. I recently built a testing UI that doubles a demo-scenario-setup tool. Is it well-engineered? Who cares - it pokes the right things into the database and runs the right backend tasks, and has helped me catch and fix dozens of real bugs in the UIs that customers see.

There is an enormous untapped market for crappy low-effort apps which previously weren't worth the time - but with the effort so low put together a simple dashboard or one-off tool it becomes much more attractive.

simmerup 5 hours ago||||
The problem is it’s impossibly hard to test all the edge cases

Which is probably why so many random buttons in microsoft/apple/spotify just stop working once you get off the beaten path or load the app in some state which is slightly off base

marcosdumay 4 hours ago|||
The problem is worse than that.

The number of edge cases in a software is not fixed at all. One of the largest markers of competence in software development is being able to keep them at minimum, and LLMs tend to make that number higher than humanely possible.

disgruntledphd2 5 hours ago|||
Yeah, the biggest thing I've noticed from LLMs is that large tech products now have even more bugs. Turns out the humans weren't so bad after all...
michaelcampbell 5 hours ago|||
> Turns out the humans weren't so bad after all...

The people pushing AI _over_ humans never thought they were. They just don't care about 'good' or 'bad', only 'time-to-market'. A bad app making money is better than a good one that isn't deployed yet. And who cares about anything past the end of the quarter? That's the next guy's problem.

louiereederson 5 hours ago|||
I'm wondering if companies are 'diverting' engineering resources from core products to AI products with the view that the former are legacy. Kind of two sides of the same coin though.
SpicyLemonZest 2 hours ago||
I'm sure there's a lot of AI investment, but I've definitely also seen fixed sets of core product engineers shipping a lot more bugs these days.
giancarlostoro 5 hours ago||||
Easy, have Claude review the code, tell it to be critical and that it needs to be easier to understand, follow Clean Code, SOLID principles and best practices. Lie to it, say you got this from a Junior developer, or "review it as if you were a Staff Level Engineer reviewing Junior code" the models can write better code, just nobody tells them to.
marcosdumay 4 hours ago|||
Lol, the only thing worse than a junior developer following Clean Code and SOLID has to be an LLM messing with code so it looks like it follows.
giancarlostoro 4 hours ago||
Clean Code has its really "meh" areas, but the core idea and spirit of it is sound, heck Python's best guide is PEP-8 if you follow that, it forces you to write much better Python code.

In terms of "junior dev following" it would be the model trying to think and write it as a Senior or Staff Level engineer would.

HappySweeney 4 hours ago||||
Code review is the main thing I use LLMs for. I have found it to be remarkably candid when you tell it the code came from another LLM (even name it). I was running Kimi K2.6 Q4 locally, seeing if it could SIMD a bit-matrix transpose function, and it was slow enough that I would paste its thinking into Gemini every few minutes. Gemini was savage.
datsci_est_2015 4 hours ago||
> Gemini was savage.

Humorously, this could be the result of LLMs vacuuming up all the sentiment on the web that the code that LLMs produce is trash-tier.

kenjackson 4 hours ago||||
This is it. I've had a similar experience in just playing around I asked it to clean up some code it wrote to increase maintainability and readability by humans. After a few iterations it had generated quite solid code. It also broke the code a couple of times along the way. But it does get me thinking that these pipelines with agents doing specific tasks makes a lot of sense. One to design and architect, one to implement, one to clean, one to review, one to test (actually there's probably a bunch of different agents for testing -- testing perf/power, that it matches the requirements/spec, matches the design, is readable/maintainable, etc...).
giancarlostoro 4 hours ago||
I built GuardRails after some frustrations with Beads which I love, and this whole exchange made me realize, because I have "gates" after tasks, I could add a "Review the code" type of gate, and probably get insanely better output, I already get reasonably good output because I spec out the requirements beforehand, that's the other thing, if you can tell the LLM HOW to build before it does, you will have better output.
ar_lan 3 hours ago||||
Why wouldn't Claude just impose this same loop in the code it writes - or better, write better code before it needs such review?
y1n0 3 hours ago|||
Because language models don’t think before doing, they think by doing.

Maybe a more idealized training set could improve things, but at least for today’s SOTA, you have to get the shitty first draft out and then improve it.

Harnessing makes a difference, but it’s only shuffling around when and where the tokens get generated. It can trade being slower by doing a hidden first draft and only showing the output after doing a self review. But the models still need to generate it all explicitly.

AlecSchueler 2 hours ago||||
Why would it? It doesn't do anything with intention without being prompted. When you ask it to do something it's going to give you what seems like the most likely result, it isn't striving to give you the most correct result, those things just have some overlap.
giancarlostoro 3 hours ago|||
I assume it would involve wasting a lot more tokens reasoning about this. It is known that GPT uses less tokens than Claude, but Claude uses them to reason about problems more, which is part of its "secret sauce" and why so many swear by Claude Code.
therouwboat 3 hours ago||||
Is this a joke? Smartest people on the planet never thought about telling AI to just write better code?
ryandrake 2 hours ago|||
Kind of wild that you have to tell an LLM things like "do it right" and "make the code maintainable" and "don't make mistakes". Shouldn't that be the default? I wouldn't accept a calculator application that got math wrong unless you pressed a button labeled "actually solve the problem."
jmalicki 2 hours ago|||
> Kind of wild that you have to tell an LLM things like "do it right" and "make the code maintainable" and "don't make mistakes". Shouldn't that be the default?

It's not the default, because the training data is full of unmaintainable code done wrong with mistakes. People literally complain that LLMs write too many tests or add comments.

If instead of "do it right", you give it specific actionable advice of how to right code, it does surprisingly well. Newer frontier models also do a great job of mimicking the style and rigor of the surrounding codebase without prompting, if you're working in an established codebase, for better or worse.

tayo42 2 hours ago|||
The default isn't necessarily what ever you consider maintianable or do it right, which are ambiguous terms anyway.

You never wrote quick exploratory code? One off scripts? How is the Ai suppsed to know unless you tell it.

If you tell another person to write some code, how are they suppsed to know? If you have your boss come to you and ask you to write some code to do some data analysis are you going to spend weeks writing units tests and perfect abstractions? Or do it quick and get the data and result?

giancarlostoro 3 hours ago||||
You forget that this all takes tokens from the model, so it has to be very stingy and whatever it comes up with "first" is what it goes with. I've seen people do the same as me, tell the model NOT TO GUESS but to do research first, which yields better output and saves time. Models today are better when they review the context directly, the focus shifted from it knowing everything in its training data to being able to dynamically learn new things and use that information in a meaningful way.

For example, I built up a programming language from scratch with Claude, it knows nuances about my languages syntax, and can write code in my language effectively. I did it mostly as a test. It definitely helped that my language is heavily mostly Python based.

redsocksfan45 3 hours ago|||
[dead]
enraged_camel 4 hours ago|||
Even better, if you have access to multiple models, tell it you got the code from another AI agent.

I did an experiment on this a few weekends ago and Codex for example was a lot more adversarial and thorough in its review when given Claude-authored code compared to when given the same code with "I wrote this, can you review it?"

giancarlostoro 4 hours ago||
If it's within its context window, it will know you're lying, so either compact or start a new chat (don't do this on Claude, it dings your usage, always has).
naravara 1 hour ago||||
I have been wondering recently that if the cost of just throwing everything out and building it from scratch again gets low enough, maybe maintainability becomes less of a priority? Can we just embrace the thing like those Zen carpenters who build wooden fire shrines do where they just accept that the thing will keep burning down and they make a discipline around getting really good at rebuilding it?

Granted, the load bearing thing here is whether we’re actually getting good at rebuilding up to any sort of standard of quality. Or if the tooling is even structurally capable of doing that rather than just introducing new baskets of problems with each build.

albedoa 3 hours ago|||
I'm looking at that Tailwind thread. Do you really think that your comment here is a fair assessment of what you were told there? Come on now.

https://news.ycombinator.com/item?id=48166334

theptip 4 hours ago|||
We collectively have to re-learn what operations are expensive and what are cheap.

Prototypes are practically free now. You can ask the AI try each architectural or stylistic option and just see which code you like better.

To your point, another interesting note is that rewriting and rearchitecting are also very good.

One pattern I like is to vibe code a set of solutions, pick the approach, then backfill tests and do major refactors to make it maintainable.

Here the skill is knowing what good architecture looks like, and knowing how to prompt and validate (eg what level of tests will speed up the feedback cycle or enable me to make the LLM’s changes legible).

To be fair the “ready, fire, aim” approach of rapid prototyping has been known for a long time, but you need to be quite quick at coding in old world for it to work well IMO.

iwiwk 4 hours ago||
Free? Lol
jvanderbot 5 hours ago|||
I wonder how much of this is momentum.

At the moment, we understand the basic tech, could reasonably DIY, but choose not to knowing full well there's a mess of understandable code somewhere we could go clean up but dont want to. We accept fast iterations because we know roughly the shape of how it "should be" and can guide an automated framework towards that. This is especially true on our own projects or something we built originally! Stark/Iron man knew/moved, the suit assisted by adding momentum.

We're riding our "knowledge momentum".

If companies can hold out long enough, that knowledge completely fades, and the tool is all you have. At that point, they are locked in. Then it's not Iron man, it's an Iron lung (couldn't resist!)

Waterluvian 4 hours ago||
Yeah that’s my main concern. It feels so so easy to be lazy and do a bad job now. And then my skills weaken and what makes me valuable fades.

I love the Iron lung reference. Perfect.

onlyrealcuzzo 16 minutes ago|||
I'm trying to test if vibe coding can actually scale... And man is it painful.

AI is great at creating slop that almost works.

But, my god, it is terrible at following clear as day instructions on how to cleanup slop.

It wrote 150k lines of code that almost works in 2 months. It's taken 1 month to delete about 2000 lines of broken architecture and fix it, and it still hasn't gotten it done, despite nonstop repeated efforts to do something not that hard.

I definitely could've fixed it less time then I've spent prompting at this point (but no way I'd have gotten the other 150k lines). But doing it myself is not the point. It's to see if it can actually scale.

The answer is yes... But my god is it agonizing.

The creating garbage part that almost works is fun.

The inevitable cleanup is not.

And unfortunately I don't see this aspect materially improving in the short term.

If you want it to code you something about 5-10k lines of code that's already been done 1000 times before or only slightly different, it's great.

Most people want more than that.

eithed 4 hours ago|||
That's the model I've arrived to as well:

- first I've created a skill how the architecture of the system should look like

- I'll tell the LLM to follow the guidelines; it will not do that 100%, but it will be good enough

- I'll go through what it produced, align to the template; if I like something (either I've not thought about the problem in that way, or simply forgot) I add that to the skill template

- rinse and repeat

This is not only for architecture of the system, but also when (and how to) write backend, frontend, e2e tests, docs. I know what I want to achieve = I know how the code should be organized and how it should work, I know how tests should be written. LLMs allow me to eliminate the tediousness of following the same template every time. Without these guardrails it switches patterns so often, creating unmaintainable crap

Bear in mind - the output requires constant supervision = LLM will touch something I told it not to touch, or not follow what I told it to do. The amount of the output can also sometimes be overwhelming (so, peer review is still needed), but at this point I can iterate over what LLM produces with it, with another LLM, then give to a human if it together makes sense

dylan604 5 hours ago|||
> But I had an effortless time converging on a design that I wouldn’t have been able to do on my own (I’m not a designer).

I'm not a designer either, but I've been around designers long enough to recognize when something is bad but just not know what is needed to make it better/good. I've taken time to find sites that are designed well and then recreated them by hand coding the html/css to the point that I consider myself pretty decent at css now. I don't need libraries or frameworks. My css/html is so much lighter than what's found in those frameworks as well. I still would not call myself a designer, but pages look like they were designed by a mediocre designer rather than an engineer :shrug:

gbear0 4 hours ago|||
Why was it a maintenance dead end? It sounds like you were able to iteratively work on it in its current state, but are you going to be the one maintaining the code?

I keep asking myself the same questions, and the conclusion I keep coming to is the clean modeled structure we want to see is for humans to maintain and extend, but the AI doesn't need this.

There's definitely an efficiency angle here where it's faster for AI to go from a clean modeled solution to the desired solution because it's likely been trained on cleaner code. Is this really going to matter though?

The best argument I can come up with is the clean modeled solution is better for existing development tools because it's less likely to get confused by the patch work of vibes throughout the code; but this feels like it ultimately becomes an efficiency concern as well.

This just might be the new reality, and we need to stop looking behind the curtain and accept what the wizard presents us.

ttd 4 hours ago|||
> the clean modeled structure we want to see is for humans to maintain and extend, but the AI doesn't need this.

This does not match my experience. I do a lot of AI-assisted coding at this point, and what I've seen is that when the AI is asked to extend or modify existing code, it does a much better job on clean, well-structured and well-abstracted code.

I think the reason is simple, and tracks for humans as well: well-structured code is simply easier to understand and reason about, and takes a smaller amount of working-set memory. Even as LLMs get better with coding, I expect that they would converge on the same conclusion, namely that good structure + good abstractions make for code that is more efficient to work with.

empath75 4 hours ago||
Yeah I have had claude take over multiple internal (human written) projects that were in a dire state and spent a week just completely refactoring them and adding exhaustive tests before doing any new features. It's worth starting from a clean slate.
K0balt 4 hours ago||||
I keep hearing the assertion that you can’t make high quality, maintainable code with LLMs. The last two years using AI have shown me exactly the opposite.

I think it’s all about the structure you use to work in and how you use the model. We are shipping better, more human friendly code, with less bugs, then we ever did before and doing it at 1/10 the cost before LLMs.

But we are definitely not vibe coding, and the key seems to be devs with years of experience managing teams, managing the LLM instead. Basically you create the same kind of formal specifications, conventions, and documentation that you would develop for a project with two or three teams, then use that to keep the project on the rails recursively looping back through the docs as you go along. I’ve only had to back out of a couple of issues over the last year, and even though that cost a couple of hours, it was still extremely cheap.

Meanwhile we are shipping at 4x speed with 1/4 the labor, and the code is better than it was because the “overhead” of writing maintainable, self documented code has inverted into the secret ingredient to shipping bug free code at unprecedented speed.

If you just explain the standards to which you want the code written, use a strict style guide, have a separate process that ensures test coverage (not in the same context) you can get example quality code all the way through. Turns out that’s also in the training data.

njovin 4 hours ago||||
Many of us recognize that the days of nearly-free tokens is quickly drawing to a close, and at some point humans may very well have to dig their keyboards out of cold storage and return once again to the code mines.
iwiwk 3 hours ago||
OAI and Anthropic need to generate cash flows from operations - once they go public that’s it. Any future funding for reinvestment has to come from internal funds beyond existing raising + IPO.

So yeah, it’s imminent. Let’s see how demand shifts in response in the future.

dawnerd 3 hours ago||
June 1st for all the folks taking advantage of copilot. It was an astounding deal and a lot of people were “abusing” it.
ahnick 4 hours ago||||
The reason why you will never get software engineers (in companies) to accept the man behind the curtain is liability. If a human software engineer is still responsible for what happens when the AI developed code has a catastrophic bug or security vulnerability, then the only way for the human to know if there is a problem is to be able to read through the code or run it through some <insert advanced formal verification tool here> that guarantees zero issues.

I think we eventually end up at the tool approach via vendors providing the tools to other companies, but it still feels like there's a long road ahead to get there.

lambda 4 hours ago||||
> but the AI doesn't need this

That's not true. The LLM performance will degrade as the codebase gets messier as well. You get to a point where every fix breaks something else and you can't really make forward progress.

Yes, you might be able to get a bit further with a messy codebase just because the LLM won't complain and will just grind through fixing things, but eventually it will just start disabling failing tests instead of actually fixing things.

dawnerd 3 hours ago||
The token cost to fix might surpass what a human would cost to just do it.
glhaynes 4 hours ago||||
Sometimes I think the main value in AI-maintained code being “high quality” is when the structure can enforce invariants. If invalid states aren’t representable, then the AI can’t easily add bugs in the future.

Of course that just leads to: what’s the best way to achieve that goal? Through elegant code or adding lots of tests? Which is a debate from long before LLMs existed.

jplusequalt 4 hours ago||||
>This just might be the new reality, and we need to stop looking behind the curtain and accept what the wizard presents us.

This is how societies become shittier. People who are ostensibly responsible for doing their jobs not giving a damn about quality.

otabdeveloper4 4 hours ago|||
> Why was it a maintenance dead end?

LLMs have a limit to how deep they can understand and refactor architectural issues.

That limit is far, far lower than a human's.

the__alchemist 5 hours ago|||
Tangent: I never learned how to make the sorts of websites people find "professional" or "pretty" I could make functional and easy-to-use webapps, but not something people would think looks good or like something they would want to use. LLMs crushed this, without performance overhead; can still be HTML/CSS/targetted JS.
snarf21 5 hours ago|||
I feel the same but the question I struggle most with is this: "Does it matter when the people who are going to come along and maintain this are just going to use AI to fix or adjust this maintenance nightmare?"
Waterluvian 5 hours ago|||
At that point the code becomes a compile target, and then you need a new source of truth.

Which I think is perfectly worthy of exploration. Some people want to check in the prompts. Or even better, check in a plan.md or evenest betterest: some set of very well-defined specifications.

I'm not sure what the answer will be. Probably some mix of things. But today it is absolutely imperative that the code I write for the case I wrote it in is good quality and can be maintained by more than just me.

ff317 4 hours ago|||
When we want to maintain a reliable, stable "product" in traditional software development (a binary executable artifact that ships out to users, or the binary engine of some SaaS the company sells to users), we don't just check in (to the source of truth repo) the actual application-layer source code. We also check in build instructions (think autoconf/cmake/etc) and have some concept of compiler compatibilities / versions, build environments, and papering over their runtime differences. And then our official executable output is not just defined by "Tag v1.23.45 of the application source code repo" - it's additionally defined by the build environment (including, critically, the compiler version, among many others).

It's tempting to move out a layer and try making prompts and plan.md the "source code", and then the generated actual-source-code becomes just another ephemeral form of "intermediate representation" in the toolchain while building the final executable product. But then how are you versioning the toolchain and maintaining any reasonable sense of "stability" (in terms of features/bugs/etc) in the final output?

Example: last week, someone ran our "LLM inputs" source code through AgentCo SuperModel-7-39b, and produced a product output that users loved and it seemed to work well. Next week, management asks for a new feature. The "developer" adds the new feature to the prompting with a few trial iterations, but the resulting new product now has 339 new subtle bugs in areas that were working fine in last week's build owing the fact that, in the meantime, AgentCo has tweaked some weights in SuperModel-7-39b under the hood because of some concern about CSAM results or whatever and this had subtle unrelated effects. Or better yet: next month, management has learned that OtherCo MegaModel-42.7c seems to be the new hotness and tells everyone to switch models. Re-building from our "source" with the new model fixes 72 known bugs filed by users, fixes another 337 bugs nobody had even noticed yet, and causes 111 new bugs to be created that are yet-unknown.

If you treat the output source code as a write-only messy artifact, and you don't have stable, repeatable models, and don't treat model updates/changes as carefully as switching compiler vendors and build environments, this kind of methodology can only lead to chaos.

And don't even get me started on the parallel excuses of "Your specifications should be more-perfect" (perfection is impossible), or "An expansive testsuite should catch and correct all new bugs" (also impossible. testing is only as good as the imperfect specification, and then layers in its own finite capabilities to boot).

user34283 5 hours ago|||
I don't see the benefit of checking in either prompts or specs.

I never tried spec driven development for myself, but if I review other's MRs I am typically exhausted after the first 10 lines.

And there are hundreds of lines, nearly always with major inaccuracies.

For myself I always found the plan mode to work well. Once the implementation is done, the code is the source of truth. If it works, it works.

When I want to add more functionality or change it, I just tell the agent what I want changed.

I doubt walls of semi-accurate existing specs are going to be beneficial there, but maybe my work differs from yours.

gbear0 4 hours ago|||
Those checked-in specs become the requirements for the system. So the next time you ask the AI to make a fix, it can use those specs as part of the solution and not break another requirement. Basically the code underneath keeps getting rewritten over and over, but that doesn't matter as long as it hits the required specs.
jmcodes 2 hours ago||
Do you rewrite the specs with new requirement changes if they've already been implemented? How do you supercede a spec?

I've been using LLMs daily and I spun up a few spec driven flows once or twice but like the person above I think the code is the source of truth.

Also why wouldn't you use TDD to enforce the 'spec' then?

macintux 4 hours ago|||
I value traceability, and I value understanding the "why" of the code. For me, the prompts are useful for both.
mehagar 5 hours ago||||
Same. Messy code makes it harder for us to understand and thus maintain the code (which is why people often refer to code as a liability), but is that the case for AI tools as well? If not, it seems like clean code may not matter as much anymore.
n_e 5 hours ago||||
The problem with crappy frontend code is not only the maintenance. It's that stuff such as responsive design, accessibility or cross-browser compatibility that work nearly for free with elegant code won't work at all.
flyinglizard 5 hours ago|||
The problem is that technical debt is compounding. Bad LLM architectural and implementation decisions just blend in to the background and you build layer upon layer of a mess. At some point it becomes difficult and expensive (token wise) to maintain this code, even for an agent.

I mitigate this by few things: 1. Checkpoints every few days to thoroughly review and flag issues. Asking the LLM to impersonate (Linus Torvalds is my favorite) yields different results. 2. Frequent refactors. LLMs don't get discouraged from throwing things out like humans do. So I ask for a refactor when enough stuff accumulates. 3. Use verbose, typed languages. C# on the backend, TypeScript on the frontend.

Does it produce quality code? Locally yes, architecturally I don't know - it works so far, I guess. Anyway, my alternative is not to make this software I'm writing better but not making it at all for the lack of time, so even if it's subpar it still brings business value.

worldsayshi 5 hours ago|||
> The code it generated was awful.

I suppose you could solve that in two ways. Manually rewrite it as you did. Or formalize an architecture and let the AI rewrite it with that in mind. I suspect that either works.

bentcorner 1 hour ago||
I suspect at some point AI-written code will be eventually artifacts generated build-to-build. The design docs and UI tests are the source and the model follows instructions to generate the product. If you make the models deterministic then model improvements give you code improvements across your entire codebase "for free".
neals 3 hours ago|||
Very recognizable and hard to reason about! I did something similar, but while looking at the code, it looked so procedural, hardly abstract, no vision. How was I ever going to maintain this? I guess Ai will do it forever?
EasyMark 4 hours ago|||
Did you try to have it clean up the code and refactor? I find while the code is usually low to mid tier that it’s a lot better than the first pass. I of course back up the working version lol. Usually I can coax something better out of it
ios-contractor 2 hours ago|||
I used AI to write code (features) then I used AI to refactor the architecture using best practices and get rid of the technical debt. I don't remember the last time I modified code by hand honestly.
danielmarkbruce 2 hours ago||
This is the part people are missing. I spend 30-40% of my time "vibe coding" doing "vibe clean up". It's fine, I'm still 10x more productive than I ever was.
HikeThe46 4 hours ago|||
If you are just blindly vibe coding without any parameters, guardrails, architecture, or broad guidance; you're going to have a mess of slop.

the power comes from creating the machine you can steer. Treat AI like an over eager college intern who you need to hand hold, but do tasks.

znpy 1 hour ago|||
> The kind of garbage that people who don’t know any better would ship: it looked right and it worked.

I feel what you write, but then again: every now and then i write small greasmonkey scripts to remove annoyances from webpages, and to do so i have to look at the html and the kind of trash you describe is already there.

nomel 2 hours ago|||
> But it was instantly a maintenance dead end.

I gave up on this recently. It achieved the goal now, and in a year or two, when you actually want to add whatever feature, the SOTA AI will probably be able to clean it up as it does so. What does "maintain" even mean anymore?

If you don't agree, how many years into the future do we need until you would agree?

dbingham 2 hours ago||
The problem is that people keep saying this, but the code keeps being bad. Every time I commit myself to trying to build something with AI, I end up wasting a ton of time and backing it out or completely rewriting it without the AI. The code it generates just isn't where it needs to be.

And people have been saying this exact thing for years now. Someone said this very thing two years ago. And we're still at the "maintenance dead end" stage. So let me flip it back on you: how many years are we going to pour an obscene amount of resources into this thing that is always going to be able to clean up its own messes "in a year or two" before we realize its a dead end (at best) and we need to be using those resources elsewhere? And, similarly, what happens to you when the SOTA AI in two years can't clean up the code it wrote for you two years ago, but people are depending on it and your still on the hook for maintaining it?

nomel 1 hour ago||
> If you don't agree, how many years into the future do we need until you would agree?

Respectfully, I asked first. ;)

> before we realize its a dead end (at best)

You've declared the future, which doesn't leave much room for a conversation. So, cheers!

threethirtytwo 2 hours ago|||
Well here's the million dollar question. It's a maintenance dead end for humans to read and edit. But for an LLM, is it a maintenance deadend? Could the LLM iterate on that same code base and be highly effective on it?
hollowturtle 2 hours ago||
Yes it is a maintenance deadend for LLMs it's notorious codebases start accumulating enormous amount of tech debt and that it gets almost impossible to unravel it even with the best agent
threethirtytwo 1 hour ago||
I've never seen it happen. You say this and it's likely one anecdotal claim. At the same time there's counter points like Bun getting rewritten in rust.

This is talk and talk is cheap. Prove it, otherwise it's still a million dollar question... unanswered.

HN is notoriously mentally deficient when it comes to AI. They were wrong about self driving cars (I sit in AI cars daily), they were wrong about AI getting used for coding (I don't use an IDE or type code anymore as a SWE). So I have to say unless there's something evidence based or substantial here it's likely given HN track record that most people here will end up being another wrong, baseless and over confident answer.

I'm looking for legit answers not confidently biased statements with no evidence.

dawnerd 3 hours ago|||
[dead]
wiseowise 4 hours ago||
> I had an Iron Man moment

Iron Man created Jarvis whose capabilities are way beyond any models in the near future. So it wasn’t an Iron Man moment.

Supermancho 31 minutes ago|||
>> I had an Iron Man moment

> Iron Man created Jarvis whose capabilities are way beyond any models in the near future. So it wasn’t an Iron Man moment.

Like an LLM, you misunderstood the context. The voyeuristic experience doesn't require fiction to be reality.

etiam 4 hours ago|||
He was presumably also not constructing a powered exoskeleton of from fictional materials or a physically implausible power source, but since you obviously caught the reference, how about some benevolent interpretation instead, for a decent shorthand about working smoothly with AI assistance.

(And on a personal note, I'm glad we don't have a publicly released Jarvis before we get our act together about the use.)

simonw 4 hours ago||
The more time I spend accelerating my work with AI tools the more I realize how incredibly hard the craft of shipping useful software actually is.

Sure, Claude Code and Codex can write (most of) the code for me - but the amount of technical knowledge I need to decide what and how to build remains enormous.

As an example: I'm working on a system right now that works like Claude Artifacts, allowing custom HTML+JS apps to safely run in an iframe sandbox inside a larger application.

Just understanding why that's a useful thing that can be built requires deep knowledge of sandboxing, security threats, browser security models, and half a dozen different platform features that have been evolving over a couple of decades.

A vibe coded without that technical understanding would have zero chance of prompting such a thing into existence, no matter how much guidance the LLMs gave them.

It really saddens me to see some developers talk about literally quitting their careers over AI, right when the benefits of existing deep technical experience have never been more valuable.

miyoji 1 hour ago||
> It really saddens me to see some developers talk about literally quitting their careers over AI, right when the benefits of existing deep technical experience have never been more valuable.

1. Because the experience of interacting with AI is miserable. I like writing code. I don't like finding the magic incantation that gets the machine to write the correct code. I don't like correcting the machine when it gets things wrong. I don't like any of this, it's awful and I would never have gone into this field if someone had told me that it would be like this one day.

2. I cannot condone the means by which these tools were created, which is, as far as I am concerned, theft. I think it's unethical to use them at all, because they were created unethically. I dislike using stolen work, I think it's wrong, and I think everyone who uses it is making the world worse and normalizing theft. If continuing in my career means that I have to compromise my ethics, I wouldn't do it even if I loved this stuff, and see point (1).

3. Is anyone going to pay me more for my "more valuable" skills? Doesn't seem like it, engineering salaries on the whole are going down right now. You can believe they'll go up eventually if you like, but there's no evidence that will happen, or that it's happening. If my employer captures all the value, why should I care whether I'm creating more of it?

echelon 42 minutes ago||
> Because the experience of interacting with AI is miserable. I like writing code.

I'm your exact opposite.

I've felt like code is 1960's punch card tech my entire career. I've always wanted to do more.

So much of coding is plumbing. Or paying attention to tiny little details. Or hunting down stupid bugs. Or changing requirements and refactoring. That shit sucks. All of it.

I've never had so much fun with software. It's starting to feel like magic. And because we possess deep understanding, we are uniquely positioned to take advantage of this.

The AST is not the objective. The finished product is. Our DNA is by all accounts filled with garbage. Let your feelings about code purity and sanctity go. It's the job to be done that matters.

Code is not holy. In 100 years people will look at our ephemeral artifacts as silly little things. Treat it that way today. Means to an end.

keybored 3 hours ago||
I can’t just quit the “career” that I’ve spent years building (for what else?). I’ll just fade somewhat gradually into unemployment, I imagine.
JumpCrisscross 3 hours ago|||
> can’t just quit the “career” that I’ve spent years building

One, I think the talk about AI replacing developers is tripe. We’re still correcting the post-Covid hiring binge.

Two, even if that level is breached, I’d consider your skillset more broadly than what you can literally do right now. Organizing people and technical systems is hard. And the article highlights how that doesn’t seem to be something AI is focused on improving on right now. (Would take larger context windows. Which would make inference more expensive.)

simonw 3 hours ago|||
I firmly believe that your existing skills and experience are more valuable in a world where the AI tools can speed up the bit where you type the code.
NiloCK 43 minutes ago||
It's great that you believe this, but are you hiring?

I don't intend this to read as pure snark, but someone's abstract value isn't much good to them if the job market itself can't / won't recognize it.

reconnecting 5 hours ago||
> I think AI tools are more like Iron Man's suit.

There's an interesting repository with 63600 stars on GitHub (1). The developer of the repository is No 1 at the GitHub's trending contributors list (2). However, it seems like the application isn't what it's described to be (3), and the developers, on their end, are unable to clearly answer whether this is real or not, as it's just messy LLM output.

Proof that the suit alone doesn't make anyone Iron Man.

1. https://github.com/ruvnet/RuView

2. https://github.com/trending/developers?since=weekly

3. https://github.com/deletexiumu/wifi-densepose

tambourine_man 4 hours ago||
> After a thorough independent code audit with cross-verification from three AI systems (Claude, Codex/GPT-5.2, Gemini), we confirm that this project is a non-functional facade.

So, a nonfunctional project is created by AI and AI is used to attests its nonfunctionality.

What a brave new world.

reconnecting 4 hours ago||
It seems like a perfect ouroboros illustration for the current world.

AI creates a delusional product, people don't trust their own opinion regarding it and follow it, another AI is needed to prove that the product is unreal.

In the loop.

keeda 33 minutes ago|||
> Proof that the suit alone doesn't make anyone Iron Man.

I do believe that is a running theme in the Iron Man comics and movies.

pelasaco 5 hours ago||
the whole thing is creepy. The ruvnet, has multiple projects.. its just AI. A lot of AI. It floods GH infra.. Kind of easy to understand why GH struggles.
reconnecting 5 hours ago||
On the other hand, there are 8,400 forks, and it looks very real, so developers seem to have confidence in it.
krapht 1 hour ago|||
I went and looked at the code. It's AI bots and a few confused trend followers all the way down. There's no way anything in there works.
chrisweekly 4 hours ago|||
The forks are as meaningful as the stars.
irchans 1 hour ago||
I also "had an Iron Man moment last week" as a mathematician. I've been doing joint math research with two friends (professors) on a project for several years. Last week, I decided to explore part of our research using chat GPT. 1) I would have a thought. 2) Present it to GPT. 3) Ask GPT to write theorems that were easy to prove and put those proofs into LaTeX. (I always have to check the proofs carefully.) 4) Then I would ask it to generate code (I mostly use Mathematica the language.) 5) Running the code would help verify the proofs. It would also inspire more thoughts and I would go back to step 2). This worked very well, but at one point I could not bound a particular expression and I was not understanding it well, so I got out the pencil and paper and redid the derivation myself which helped a lot. This whole process worked about 10 times faster than doing it without GPT. At the end of a couple of hours I had around 20 pages of correct proofs and all the code needed to do numerical simulations related to the proofs.
wccrawford 27 minutes ago||
I think that it's not a multiplier on skills.

It's a reducer of time.

For less experienced developers, it's an immediately reduction at the start of a project. But then they will almost certainly have problems later when their initial decisions come back to haunt them.

For senior devs, it's like having a junior or mid-level dev that will instantly do things within their capability, so long as it's explained to them well enough. This junior dev will do things fairly smartly, but any important decisions left to them will be wholly or subtly wrong. And the subtle ones are the worst ones, because they're so hard to detect.

But if that senior dev sets the guidelines well enough, and notices the problems, development is so, so, so much faster. It's wild.

snide 5 hours ago||
I mostly share Josh's opinion, but I think a lot of these posts that talk about Senior vs. Junior experience when working with AIs is kind of rubbish. Sure, you get better results as a Senior working with AI tooling and struggle more as a Junior. Nothing has changed in that equation except the amplification.

What folks seem to avoid is that a Junior (in ANY subject) has the ability to LEARN so much faster with an AI research assistant, and that becoming an expert has accelerated for those with the personal stamina to dig deep (this as a requirement hasn't changed). I spend just as much time with my AI tooling asking questions as I do asking it to "build" or "fix" things. "How does this work?". "Can you suggest other tools?".

I think some people always think about AI as an input / output relationship, when a lot of the time, the fiddling in between, with or without AI was always the important part. Yes people will suck in the beginning, against they always did. I think the good folks though will suck for a MUCH shorter time than I did getting into things.

A lot of people will drop out and get discouraged. That happened before too. Learning things requires persistence. I think the only real case to be made is that AI's sense of immediate pleasure can neuter people away from running into friction. AI natives likely won't understand friction and question it.

lelanthran 2 hours ago||
> What folks seem to avoid is that a Junior (in ANY subject) has the ability to LEARN so much faster with an AI research assistant,

You don't learn by reading, you learn by doing.

In this case, simply reading the output of an LLM isn't going to substantially educate you.

djeastm 2 hours ago|||
>I think the only real case to be made is that AI's sense of immediate pleasure can neuter people away from running into friction. AI natives likely won't understand friction and question it.

This is key, I think, and gets overshadowed by people being offended by seeing bad vibecode or claims of 10x speeds, etc.

The most important learning that happens is not when we ask and get the answer to our question right away. It's when we stretch ourselves to seek out the answer, fail a few times, think deeply, then perhaps after a nap, solve the problem. That kind of knowledge is priceless because it not only gets you an answer it gets you some errant paths you can use to avoid problems in future problem solving as well as getting you increased trust in your own thinking.

If the next generations skip this step, they'll always think answers are supposed to be easy to find and will find themselves more and more dependent on AI and less and less confident in their own brains.

bluefirebrand 1 hour ago||
> If the next generations skip this step, they'll always think answers are supposed to be easy to find and will find themselves more and more dependent on AI and less and less confident in their own brains

This seems like a very polite way of saying they will become less intelligent and less capable

JumpCrisscross 5 hours ago|||
> a Junior (in ANY subject) has the ability to LEARN so much faster with an AI research assistant

I’m not seeing this. And based on what we’re seeing at the university level, I’m not expecting to.

keeda 13 minutes ago|||
I think the key word is ability, and I fully agree with that. Using GenAI as a teaching aid can supercharge learning, especially as it makes it very easy to learn by doing. The problem is that people use GenAI to do and hence don't learn.

(The preliminary research so far supports this: using AI to do the hard assignments produces poor learning outcomes, but using AI as a tutor, or even just for help with the hard assignments, produces slightly better learning outcomes.)

I think what you're seeing is the effect of the incentives of the system. The system uses simplistic numbers like grades as proxies for actual learning, and these grades heavily influence students' job prospects, and so you're simply seeing Goodhart's Law in action. Given how easy current methods of skill assessment are to game with AI, my guess is the entire system has to be overhauled.

JumpCrisscross 7 minutes ago||
> using AI as a tutor, or even just for help with the hard assignments, produces slightly better learning outcomes

Source? The few people I’ve seen try to do this wind up with a terrible understanding of the material, with large knowledge gaps and one or two fundamental fuckups. In every case, an introductory textbook would have been better. (It would also have been harder.)

sonofhans 5 hours ago||||
Yes, I agree, the skills are orthogonal. Digital typesetting is vastly quicker than manually putting down metal type, and since you’re exposed to more type you have the opportunity to learn faster. But getting good at typography with digital tools will help you very little if you need to lay out type manually.
JumpCrisscross 4 hours ago||
> getting good at typography with digital tools will help you very little if you need to lay out type manually

The analogy is unlimited typing in Gmail won’t make you a better writer or typesetter on its own.

vanuatu 3 hours ago|||
I wonder how much of this is due to poor incentives at the university level?

I've seen this work well at a job when there's a feedback loop for juniors that incentivized them to learn with more scope and compensation

judahmeek 16 minutes ago||
How did that business evaluate that the juniors were actually mastering concepts they had not known before?
xxs 4 hours ago|||
> has the ability to LEARN so much faster with an AI research assistant, and that becoming an expert has accelerated for those with the personal stamina to dig deep (this as a requirement hasn't changed)

If anything it allows to be as lazy as possible. I have not seen anyone digging deeper with the AI tools.

qweiopqweiop 1 hour ago||
If you decide to dig deeper, it's an incredible tool. Getting a summary of the internals of something you only use as an API, then getting it to test you on it until you understand. It really allows you to learn a lot.
renticulous 4 hours ago|||
There are other axes as well.

Companies with AI will move faster than those without.

AI itself could subsume what we collectively consider as Engineering Taste.

AI is faster at what it does. So even if a junior costs less on his own than AI. Paying extra for AI means gaining first mover advantage.

judahmeek 12 minutes ago||
> AI itself could subsume what we collectively consider as Engineering Taste.

Only if AI feeds on more taste than garbage.

runarberg 5 hours ago|||
> a Junior (in ANY subject) has the ability to LEARN so much faster with an AI research assistant

This is a testable hypotheses with severe lack of citations. Intuition would argue the opposite. We learn by using our brains, if we offload the thinking to a machine and copy their output we don‘t learn. A child does not learn multiplication by using a calculator, and a language learner will not learn a new language by machine translating every sentence. In both cases all they’ve learnt is using a tool to do what they skipped learning.

simonw 3 hours ago|||
This seems to me like one of those things where people go into it with widely different initial assumptions.

1. AI is for cheating and doing the work for you. Obviously it won't help you learn faster because you won't have to do any thinking at all.

2. AI is an always-available question answering machine. It's like having a teaching assistant who you can ask about anything at any time. This means you can greatly accelerate the process of learning new things.

I'm in team 2, but given how many people are in team 1 (and may not even acknowledge team 2 as even being a possibility) I suspect there may be some core values or different-types-of-people factors at play here.

runarberg 2 hours ago||
This is also a testable hypothesis. I would like to see usage statistics before making assumptions here but my gut feeling is that an overwhelming AI usage (like > 90%) would fall into your category 1.

But even with category 2. I think that still does not absolve AI as a cheating machine. Doing research is a skill and if you ask AI to do the research for you that is a skill a junior developer simply never learns.

simonw 2 hours ago||
This is interesting and relevant: https://www.sciencedirect.com/science/article/pii/S095947522...

"The expertise reversal effect is present when instructional assistance leads to increased learning gains in novices, but decreased learning gains in experts."

There's a whole lot of depth to the question of how AI tools support or atrophy learning for different levels of expertise.

jononor 4 hours ago|||
As a precondition I think we have to assume that the person in question 1) wants to learn and 2) is smart enough to absorb new info and apply it and 3) reflects enough to adjust their approach when hitting bottlenecks or making mistakes 4) has a drive to create. Without these, self driven learning is not viable - and that has very little to do with AI.

For such a person, I believe AI can be very empowering for learning. Like Google, wikipedia and stack overflow, Arxiv before it - AI tools give access to a lot of information. It allows to quickly dig deep into any topic you can imagine. And yes, the quality is variable - so one needs to find ways to filter and synthesize from imperfect info. But that was also the case before. Furthermore AI tools can be used to find holes in arguments or a paper. And by coding one can use it to test out things in practice. These are also powerful (albeit imperfect) learning tools. But they will not apply themselves.

runarberg 4 hours ago||
Who is talking about self driven learning? Every workplace teachers their juniors how to do their job, and how to become better at their jobs.

And as we are talking about junior developers it is safe to assume your conditions (1), (2), and (4) are all true, if any of them are false, then why did that person apply for and get a job as a junior developer? As for condition (3), all workplaces eventually hires a person who does not fulfill this, then they either fire that person, or they give them a talk and the developer grows out of it and changes their behavior to fulfill that condition.

Aside: you listed 4 conditions for learning. I am not sure these are actually conditions recognized as such by behavior science. In fact, I doubt they are and that these conditions are just your opinions (man).

bluefirebrand 3 hours ago|||
> that becoming an expert has accelerated for those with the personal stamina to dig deep (this as a requirement hasn't changed)

This is a contradictory statement imo.

Digging deep still takes the same amount of time it used to. AI accelerates the surface level (badly, tbh), it doesn't accelerate digging deep. Becoming an expert still takes time and effort, there really aren't shortcuts.

To torture the Iron Man metaphor a bit. If you're not an expert without the AI, then you're not an expert with it.

justinhj 4 hours ago||
Smart, motivated juniors have incredible tools to amplify their learning and capabilities.
xnx 5 hours ago||
An "elephant in the room" is a big topic that no one is talking about. Everyone is talking about AI.

Better headline: "Why AI Multiplies Developer Skills Rather Than Replacing Them"

bluefirebrand 3 hours ago|
The outcome is the same, though

Fewer developers required to achieve the same things means a lot of people are going to be unemployed

It also means that the people who remain will likely be paid less. Why would you pay a senior salary when you could pay a junior salary plus AI subscription and get "the same result"?

I think Software Devs are in for a rough time. I've been doing this for 15 years now, and I'm not looking forward to it. I'm honestly thinking about re-skilling to a different industry. Even if it pays less, it's probably worth it to sit out this shitshow.

nyantaro1 2 hours ago||
I agree with most of your take, but I don't really think those left are going to be paid less. I am not one of them, but I don't see why they would be paid less.
bluefirebrand 2 hours ago||
Simple economics. There are fewer software developers required to achieve the same goals, so there are fewer jobs for software developers. That means there's an oversupply of software development labor. That means salaries for software developers will go down

It's the same thing that happened to every other skilled profession that was automated in the past. That's why unions became a thing and they started busting heads until their employers paid them more.

Edit: the only way I can see software developer salaries staying the same is if the amount of work available for them expands dramatically.

Hypothetically if half of software developers are laid off and replaced by AI, there will need to be twice as many software development jobs in order for salaries to not go down

Also keep in mind that even if salaries remain flat, inflation means you're making less.

samdjstephens 4 hours ago||
Many or even most software engineers are experts in their own codebases though, which means a large proportion of engineers are getting high value out of AI.

What’s not clear to me is: if writing more code per engineer is possible, does that result in fewer engineers or just more software, especially in areas that traditionally got squeezed: UX, testing, DevEx, documentation, etc. Perhaps the bar just gets raised?

wg0 1 hour ago||
I'm a severe AI critic. Bitterly so. But this much I would agree that AI has a multiplying effect for the expert who can still do the job by hand albeit slower no matter how much slower but a good job nevertheless.

And still worth repeating that AI has net negative gain in team settings but is a booster for lone wolves like me.

travisgriggs 4 hours ago|
What is unclear to me is how less skilled people gain useful experience, when using these amplifying tools. I’ve been at this for 35 years; I like to think that sometimes i get some pretty amazing results.

I work with two pretty green developers. The rate that they can make a mess is now phenomenal. And the sense of confidence the tools give them with early successes, means any experience I might have to offer means less now. Which is ok, I’m not going to be that “my experience has to be useful to you so I still fell relevant” old guy. But I do find myself curious how “lessons are learned” that lead to greater and greater tool exploitation in this brave new world.

rglover 1 hour ago|
> But I do find myself curious how “lessons are learned” that lead to greater and greater tool exploitation in this brave new world.

(I think I'm reading this the right way but if not feel free to correct).

In a word: pain.

Until there's a legitimate threat to their well-being (emotional, psychological, or financial), the lessons won't be truly "learned." Until you know the true cost of a decision, you're flying high.

Older engineers have dealt with this organically so it's kind of encoded into their DNA. The very reason certain things aren't done (or a certain way) is because that pain has already been felt/encouraged learning a better way.

More comments...