208 comments

[ 0.23 ms ] story [ 9.9 ms ] thread
Being a programmer in the era of AI now means configuring the AI and run environments to produce the sought result, than manipulating the code itself. It's like how C runs on top of assembly.
luckily there are still some people who know and care about actually understanding what is happening. but dwindling. market correction needed to wash larpers out
Being a programmer in the era of AI means not being a programmer
That is why I am very thankful for my job. We are not really allowed to use LLMs for much of anything.
Typing the code was never the interesting part.
>> Typing the code was never the interesting part.

Code is fascinating! An abstract language to compile to program a CPU. So many ways to do this!

Now we're using natural language, which at times is extremely verbose. "[{}]" versus "array of objects", for example.

Being a programmer has always meant dealing with abstraction layers and climbing up the abstraction ladder.

You are simply learning a new language, whose syntax happens to look like English (or whatever language you speak), but with new, undiscovered, and constantly changing design patterns and best practices.

the thing that allowed me to effectively climb higher in the abstraction stack, is to dive lower first.
It depends how much you outsource to the llm.

If you outsource everything to a llm, I just don’t think you get very good results right now. Language models aren’t great at remembering all the little design decisions that are needed in medium to large projects. The code ends up riddled with semi-conflicting design choices, which have been slammed together and maintained by context inertia. For a lot of projects this is more than fine - sometimes higher quality work simply isn’t worth my time. But for a lot of projects, you will pay for that slop later.

But I think there is a useful middle ground. If you carefully review all the decisions an llm makes, I think you can often be more productive than just programming everything by hand. But it’s a very different way to do engineering. I think I learn more this way than if I program by hand - if only because I’m touching more code. My mind roves around the design space a lot more. I don’t lock in as much as when I’m programming each piece individually.

If you work with an llm like this, your engineering skill matters more than ever.

It's nothing at all how like C runs on top of assembly. C has semantics. Code means something without ever being run. You can check in your source code and (assuming it actually follows the C standard and your compiler's documented extensions, which almost no real C code does - C was a horrible example) it will work just as well in a year as it does today.

Try checking in only your prompts and nothing else. Just the parts you actually typed. See how well it works to regenerate the same application next week, let alone next year. Prompts are fundamentally a different sort of thing from code. Do not mix them up.

> (assuming it actually follows the C standard and your compiler's documented extensions, which almost no real C code does - C was a horrible example) it will work just as well in a year as it does today.

> See how well it works to regenerate the same application next week, let alone next year. Prompts are fundamentally a different sort of thing from code

I mean... yes, but also no. C is actually a great example. So much of the code we wrote is about manipulating the specifics of that specific computer system we happen to be using at that exact moment. Everything from cpu specific instructions to how the ram behaves or how much of it there is all the way up to how library functions operate at any given point in time.

And in relatively short amounts of time, it can all change out from underneath you.

No. C is a language with a specification independent of implementation. If you write correct C code (according to the specification, which no one does), it does not depend on any of those factors. C is almost uniquely bad in terms of accepting broken programs and just compiling them differently. But that doesn't change the fact that the language has semantics, even if most code that violates their preconditions those semantics depend on.
Lots of people mention this higher abstraction level but its not really the case. C has a grammar. You write C and get C as output. Assembly is hidden from the user. Natural language also has a grammar ("sort of"). You write prose into your preferred cli/app of choice BUT it outputs code in C or other language. So its basically a code generator. A code generator is not even remotely a form of abstraction. Its just a facade that breaks down as soon as the generator fails to produce a meaningful result.
My wife's experience is managing teams and has been involved in creating corporate websites using contractors. She doesn't know anything about html at all. She just manages people.

She's now working on a biotech start-up pre-funding. They have pretty much zero money. They want to redesign their website.

I set her up with my deepseek key and she's been using flash-v4 with image detection (I think deepseek says it's still experimental). She just provides the current website, tells how she wants it to look and it works great. I mean it's obviously ai generated but she gets quick results and is able to tweek things to look better by just telling deepseek what to do. She was even able to change the text in one of their images to its new product name without having to contact the graphic designer.

This is a simple example. Basically it's one of those earlier jobs that you could get someone to bid on for $x but now you can do yourself for $20.

i started a web development business in 1995 and have been coding web stuff for decades.

like the OP, all those years of learning how it works under the covers gives me a distinct advantage since i can easily tell what is slop and what is going to perform. as well as how to get AI to iterate and fix the things it isn't good at (yet). i feel like now i have super powers. i love it and can't get enough.

the fact that your wife can be productive at lower cost means that more products will be built and more opportunities will be made. instead of spending money on website design, her business can spend money developing biotech.

i welcome that, even if it means that things will change from the past and those that have made a career out of charging thousands will get replaced by a $20/month subscription.

My mother has a psychology practice and wanted to update her 20 year old website.

I did the first few prompts (single static page, basically a brochure, don’t worry about hosting) into ChatGPT to get her started and a few days later she sent me a .zip which I uploaded.

Only took a while because she wasn’t paying for ChatGPT so had to wait for the free limit to reset quite a few times.

But overall it was super empowering for her.

Not that I'm in favor of spending money unnecessarily, but I find it kind of surprising she didn't just spend the $20 given this was a website for her professional money-making business.
> I find it kind of surprising she didn't just spend the $20

If it because the poster's mother dislikes the idea of subscriptions, then I totally get it. (Though I admit I have no idea if this has anything to do with the poster's mother's decision.)

I'll go out of my way as much as I can to avoid signing up for anything that is a subscription because of how horrible the entire corporate world has abused subscription dark patterns over the past couple of decades.

These days just the packaging of anything into a subscription makes me assume there is intent to screw people out of money.

While signing up for LLM usage is fairly low risk as far as subscription lock-in goes, someone non-technical might not be aware of that fact.

See my more detailed sibling comment, but was more that the scope and urgency were so small that it wasn’t worth the hassle to set up the subscription and have to cancel it after.
I do get the sentiment for sure.

Personally though? I’ve made peace with the fact that I might have a 20/month subscription indefinitely. It’s slowly working its way towards being like a cell phone or Internet bill, although there’s reason to hope that the amount might decrease over time eventually.

If you've waited 20 years to update your website, surely it's no difference to wait 20 years and a few days.
Wow, it’s fascinating after waking up to see all this conjecture here on why she didn’t pay for the subscription.

The short version, wasn’t for wanting to save money, but simply a matter of it not being worth the hassle to any of us to subscribe and then later cancel for such a small scope of work. If it was too frustrating I would have let her use my Claude sub.

Also, she’d been meaning to have it updated for years, a few extra days was nothing.

She did short sessions in spare time between other things, the wait between was maybe a little frustrating, but also gave the benefit that she would have had better clarity develop between sessions.

Website is not key to her business where it’s mostly word of mouth at this point (she’s been practicing for >20 years). Goals of website were:

- Findable in Google by “psychologist/therapist <area name>” (she also has a Google. Business profile so is findable on Google Maps).

- Minimal copy. A comforting sentence or two to state philosophy, qualifications, therapy types offered, where located, how to contact.

- Doesn’t feel dated.

Essentially it’s meant to complement the word of mouth aspect and maybe bring in the occasional completely new patient.

Not that it matters for anything—she got the work done on the free plan and was happy—but my strategy in this situation is always to subscribe and immediately cancel. The cancellation does not actually take effect until the end of your billing period. (Otherwise they'd have to refund you.)

In my head, I'm not really buying a subscription, I'm just buying one month of access. I can always decide to buy another month if I want to, but it will never be automatic.

There is an ocean sized gap for free stuff and something costing something, anything (not that this had to be the case).

Person not understanding this should not work in marketing, or even claim they understand human psychology.

show us these "corporate websites"
That was just part of her work. She was employee #11 at a now $4.5B biotech company so everyone that early on had to do everything. She worked for Novartis, for booz allen, and others. She usually hired McKinsey consultants for projects but the web stuff was for smaller companies. She managed a team in India for one of her companies that took care of the web stuff. Basically just look at any top-10 Pharma or government website and you might see what she managed.
I choose to imagine that you guys are like a cute "opposites attract" Marxist x capitalist power-couple :)
> She was even able to change the text in one of their images to its new product name without having to contact the graphic designer.

Is that legal... ? I admit I don't know much about graphic design is contracted.

Just like if you're a programmer the company paying you owns the work.
It's generally a little more complicated than that. Not up to writing paragraphs about it so I'll just leave this as a note so anybody that's interested can do their own research.
That's only true if the picture was specifically commissioned by the company.

If it's a stock image or a licensed image, they need a license to alter the original image.

Every static HTML pages built this way with ai is another WordPress site that wont get built by contractors just to be neglected, compromised, and used to launch phishing and ransomware attacks.
Every static HTML pages built this way with ai is another WordPress site that wont get built by contractors just to be neglected, compromised, and used to launch phishing and ransomware attacks.

You mean the very web sites that the "AI" trained on?

If you think AI can't make buggy code, there are several dozen thousand comments on HN that disagree.

Ai cant make a static HTML page sitting on something like cloudflare pages have an rce bug.
Maybe, but what about when "Claude do this" picks WordPress for someone that doesn't know what a reverse shell is?
Still a win. Claude loves to write code from scratch instead of searching the web and pulling in dependencies, so you’ll likely end up with fewer garbage tier plugins written by people whose average skill level is put to shame by bootcamp grads; those people don’t know what a reverse shell is either.
So… similar levels of garbage code, but with no eyes looking at it.
From what I've seen around it will be a WordPress website still, running some at-best-once-updated version of Divi/Elementor/WpBakery, built using their equally terrible new AI tools.
She wouldn’t be able to do any of that without you setting it up first. She would not know anything about deepseek, meaning of a folder with index.html file. Would not know even what to ask ChatGPT, “I need a website”? You make it sound like easy task anyone can do, when you provided 99% of otherwise impossible for them to easily obtain key knowledge needed.
you can literally do that to chatgpt
Haha, yes. Can have it code a webserver from scratch on a disposable vape. Should be quite theraputic.
Any idiot can spend one minute now to acquire this amazing knowledge that you can just ask ChatGPT “I need a website”. If they don’t know now, sooner or later they’ll know from a short TikTok or something in the next couple of months/years. Not to mention AI companies are spending $$$ on ads to raise awareness; professionals already know they can create slides with LLMs, literally nothing’s different when it comes to most content websites. Yes, it’s an easy task any idiot can do. Head in sand, pretending it’s some sort of $10k for knowing where to hit situation isn’t going to reverse the trend.
You're not accounting for how deeply unpopular AI is with the general public. Would anyone be making those TikTok videos in the first place? Would OP's wife want to use AI if he wasn't there to advocate it?
Given that my nontechnical coworker has shared quite a few of these TikToks/Google Shorts with me, yes tons of people are making them. I don’t know what kind of alternative reality you live in, you can just go to any social media site and search for “create website with ChatGPT” etc. and check the view counts.

Plus the context here isn’t any random person, but people who intend to pay for website development for their businesses.

[delayed]
Sure, because people you know haven’t shared with you, no one would “be making those TikTok videos in the first place”. Can’t argue with logic.
AI is not deeply unpopular, that’s just nonsense. The complaint ratio is just relatively high from a loud minority. Don't believe me? Just check Pew.

https://www.pewresearch.org/internet/2026/06/17/americans-an...

It’s true that about half of all adults overall never use chatbots, but it’s not out of a negative perception, it’s largely just lack of interest with a side of privacy concerns and distrust.

The key is you're doing it yourself, so it takes your time away from something else. And if something doesn't quite work out, who's the backup?

For small shops and startups, this probably doesn't matter. For mission critical sites, who's more dependable? AI is a tool, that's all it is.

>The key is you're doing it yourself, so it takes your time away from something else.

There is still a cost to the business owner, they have to find a place to hire a freelancer, interview and then explain what problem they need solved, go through several iterations with them (either via meeting or email, or both) etc etc. If you're a small business that's not setting up an online storefront, the time spent setting it up and building it yourself is possibly less time. And then there's the bigger headache: what happens when the freelancer stops returning your calls? For the average small business website/page it is 2-10 pages. The average business owner can probably crank out that site with AI in less time than setting up a single interview.

Yeah i have a similar experience. I’m essentially a sysadmin and i don’t do much programming and i always kept myself as far as possible from frontend development.

And yet now with AI (chatgpt codex in my case) i can make useful little apps without ever looking at what kind of html/javascript gets generated.

I’ll be honest: my agents.md explicitly states to use vanilla javascript and plain bootstrap for frontend, in case i might have to look at it in the future, but so far i’ve never had that need.

writing about your dates with an ai prompt are not that interesting
In a related but less public way, I've found myself less motivated to write internal documentation at work. It feels like in a lot of cases, it'd be better for the reader to throw Claude at the codebase to explain things.

A separate document explaining how a system works can go out of date. While I'm quite good at highlighting the most important insights and non-obvious traits of a system, I'd still be guessing what the reader needs from my doc at the end of the day. Claude can answer questions based on what the reader is curious about and wants to learn.

Some types of document are still useful, namely higher-level directional or philosophical topics about the intention of a codebase. e.g. "we would like to eventually move X system to Rust for Y reason", "we chose mutable data structures over immutable in this part of the system because Z". But fewer than before.

Even the latter can be done automatically from meeting notes, tickets etc.
Yeah, I feel similarly, and kinda grieve how this is not longer a valued skill... I think I've cultivated my taste in many important social dimensions through thinking about what is important to leave in docs and in a note. It's a little strange to know that rarely will people do this work of honing this sense anymore...
> A separate document explaining how a system works can go out of date.

Good documentation does not explain "the how", it captures "the why."

> The frontend is less risky to just hand to an agent.

The smaller the problem, the less risky it is to do this, regardless of the nature of the problem. This is not a frontend-specific issue today.

Frontend development - perhaps more than any other kind of software development - is “what you see is what you get”. There aren’t a lot of ways a website can be invisibly broken.

Systems engineering isn’t like that. Vibe coders beware: A database could silently corrupt data, or have latent security vulnerabilities. It might have a badly designed query language that will be difficult to change later. But frontend code can be rewritten at will. It’s a perfect target for LLMs.

At the same time I have found LLMs far less competent at frontend because they don't seem to have any visual understanding of what a good website looks like.
Similarly for how things feel, like animations, physics, controls, etc. That's one reason I don't think agents will be creating games anyone wants to play, any time soon (unless they just straight up copy an existing good game)
The UX is what makes the users use the apps, systems, games, their phones.
"There aren’t a lot of ways a website can be invisibly broken."

??? Have you never debugged weird react state before??? Have you never used a nontrivial SPA before? Even the most simple react SPA has about a trillion states.

I don't really know how to respond to your statement than "no, they can definitely be invisibly broken."

React state bugs are usually not invisible failure modes.

Other kinds of software - for example, the backend of a website - have far more invisible failure modes. Security. Correctness. Performance. Bad API design leading to overfetching. Etc. Software works great on your machine and when you demo it, but it falls apart at scale. Endpoints that aren't secured properly. Race conditions cause silent data corruption. Memory leaks. And so on.

If claude messes up writing a react frontend, we're more likely to find the problem quickly. And frontend bugs usually don't continue to cause problems after they've been fixed. Silent bugs in the backend are more dangerous and more expensive.

No need to engage with bad faith premises. You cant convince someone who is invested in their own FUD.
What bad faith premises?
> There aren’t a lot of ways a website can be invisibly broken

Any website that has any UI state management or does any kind of network calls can be invisibly broken in many, many ways

> Systems engineering isn’t like that.

Whatever lets you sleep at night man. If you really think you’re better than the machine at spotting arcane Unix incompatibilities, or that you’re somehow more “safe” than frontend jockeys, I’ve got really bad news for you.

Are you replying to the right comment? I didn’t say any of that.
When done properly, yes. But AI agents are doing a lot of data logic in the frontend that should be in the backend behind secure api's. When this happens, the frontend becomes a massive risk.
In my useless opinion, most people are not aware of how big AI is and how bigger it will be in 3~5 years. It's not worthy to be worried about it, because it will be a global problem, but there are people who are completely blind about it
> It's not worthy to be worried about it, because it will be a global problem

Like hunger and diseases are global problems not to be worried about.

I think they meant more along the lines of "This narrow problem today is not worth worrying about, because soon it will be a larger and bigger problem. "
That's still a silly argument though

How about we worry about this smaller problem today so the bigger problem tomorrow is less big. Or doesn't materialize at all?

Do we have to sleepwalk off this cliff?

I agree with you, but have you tried talking to people in real life about it? Almost nobody cares. If someone asks about it, I give them what I believe. I don't want them to take my words as truth, but I hope that it makes them research something, at least. If you are luck enough, 5% of people will do that, and the conversation will be possible.

Tech people give you better odds, but you still will find that most believe that AI is useless for something that you know that it's totally capable of doing. Damn, the last one I talked said that "Fable can't even do React"

(comment deleted)
Nobody is aware, but neither are you. We may as well have plateaued already. You don't know that.
Even if that is the case, the current models are already revolutionary. We would spend years discovering all the capabilities of these things. And that is considering that the plateau would last for years. And I didn't say that nobody is aware. There are some people that follows the breakthroughs and model releases (in my life), and they agree with me
I don’t think we're anywhere near the plateau. AI is still expensive and slow. Make it realtime, local and nearly-free and you got a problem.

  Prompt: Answer without searching the internet:
Woah! Must it discard all pre-training as well?

It already slurped "the internet". You can't seriously say it doesn't count!

there seems to be at least one service that your LLM can find if it searches the internet (e.g. in my case "best rental API") that poisons your context into thinking that that one service is the definitive and only available API for that data
> Meanwhile, Cursor and Viget have blogged about migrating their codebases from Solid and Lit, respectively, to React.

That was maddening to read. Here I was thinking we should all be migrating to better performing frontend solutions. Does it really take an agent that many more tokens to write Lit or regular HTML and HTMX?

At least last year most agents wrote materially worse code in htmx.
> Does it really take an agent that many more tokens to write Lit or regular HTML and HTMX?

Definitely not. That's skill issues. The shadow DOM can be a bit tricky.

I offer this, as someone who is heavy into AI development (as a coding assistant, not vibe-coding). I was pretty fast before and now I'm easily an order of magnitude faster.

* I scrutinize every line of backend code and frequently make revisions.

* I pay just barely enough attention to the frontend code to make sure it's not doing anything dumb.

* I pay zero attention to the CSS.

Either our expectations for UI interaction are going to go up a lot, or FE devs should start looking at product management roles. I think the asteroid metaphor is apt.

As someone who loves FE the slop people are pushing where I work is really quite upsetting to me.

I reviewed some code earlier which clearly wasn't intended for consumed by humans and I know with certainty this dev wouldn't have understood 90% of what that code did. It looked like hours of Claude trying to force square into a round hole tbh, but it worked.

Was I going to reject the PR because of my code preferences? No, of course not. Ultimately it doesn't matter anymore. If Claude can maintain it then who cares... Even if it's broken (which it didn't seem to be) it's just FE anyway so not the end of the world.

I wish it did matter of course, but like most of coding these days, it just doesn't.

> Was I going to reject the PR because of my code preferences? No, of course not. Ultimately it doesn't matter anymore.

You absolutely should've rejected it. Putting slop into production is a huge trap, because now the humans can't understand it and the LLM is just going to make it worse and worse over time.

I think what OP is saying is that the fact that a human can't understand it won't matter as the code will only ever be read by AI.
Yes exactly. I think we all understood at a high-level what it was doing.

The issue I had was that it was doing a lot of weirdness like using `Object.defineProperty` to try to force an existing library to do something it wasn't suppose to do. No human would have written that code.

Although I generate most of my code with AI I still personally try to keep it understandable by a competent developer. Where as most people on my team are not good at FE so they just trust the LLM to get it right. But ultimately it just doesn't matter anymore.

> Even if it's broken (which it didn't seem to be) it's just FE anyway so not the end of the world.

Last week alone I was unable to access two major websites because their auth flow was broken (I was attempting to log in with Apple, so not "the happy path"). I was just locked out, had to contact support. I guess this mentality is what causes it.

We had safeguards and best practices built over the years of learnings to avoid introducing these kind of regressions. And we threw them away in half a year to...gain some productivity in delivering features that most likely the users don't even want.

"Note I’m not saying there are zero risks: the agent could mess up accessibility, it could cause an infinite loop that blocks users, etc. But in general, frontend code is a lot more ephemeral and replaceable than other types of code. So I expect many AI coders will feel comfortable just letting their agent handle it unsupervised (for better or worse)."

This is a weirdly reductive take on frontend correctness. Just for the record, I'm a backend dev. So I don't have much stake in this game.

This idea is, of course, not uncommon. "If the backend has to treat the frontend as adversarial anyway, and has all this cool stuff (constraints etc) for guaranteeing consistency of the system, then the frontend can just do whatever, right?" It plays into a lot of biases around typical frontend devs, typical backend devs, language stereotypes, etc. So it _sounds_ good.

Let me tell you for a moment about one of the spookiest bugs I've seen. It was an app for sorting personal photos. You'd upload pics/vids off your phone, they appear in the UI, you click a folder for them to go into (or click delete to discard), etc. Simple app, right?

Well, naturally, pics from even vaguely modern phones are regularly 5MB or more. Not really something you want to sling around while a user is browsing and their main activity is going to be looking at said pic to decide what folder it goes in (or if it gets deleted). So we thumbnail. And the main app only ever shows the user the thumbnails. The backend organized things quite simply: it gets a list of images from the frontend, it assigns each of them a zero-based index, and generates a thumbnail you'll also access via index. Imagine a URL scheme like `images/0` and `images/0/thumbnail` serving the real assets and the thumbnail.

Well, this app had a bug at one point. The backend was indexing by the arbitrary order the user uploaded them in. The frontend was mostly doing this too. Unfortunately the logic for thumbnails was incorrectly indexing by the "taken time" (which was a post-upload timestamp constructed by looking at basically every available timestamp and picking the "best" one. i.e. hopefully the one the iOS camera app adds, but obviously pics come from other places too and you never know what a user will upload). The end result being users would upload pics, see a thumbnail of an accidental pic they took of their shoe, hit delete. But actually they were deleting a pic of their baby or similar.

Literally none of the testing caught this for 2 main reasons: headless tests don't look at images, and you can't write an assertion like ("does this image look like a downscale of this other image") (at least not easily... i guess image models could do it now? but probabilistic? not a word i like in my unit tests? I digress, this predated the current crop of "AI").

Now let me generalize: your frontend isn't just a weird way to call RPCs on your backend. It's part of the application. I don't think you can just hand-wave. And as we saw above, you can't even say "well the frontend is stateless! any bug is 1 deploy away from fixing!" - deploying the frontend didn't get anyone their baby pictures back.

(comment deleted)
> you can't write an assertion like ("does this image look like a downscale of this other image"

You can though. Maybe not exactly what you are thinking but there are some pretty good image similarity algorithms like dhash out there that do stuff like this. Mostly they get used to check for duplicate uploads, copyright materials, or "does this look like porn" style filters

This isn't something that needs image models to accomplish really.

The actual problem is that no-one had considered that this (desync between front and backend) COULD happen. Once it was realized that it was possible (and worth testing) the bug was practically solved already.

Such is true for many bugs. Even if you have unit tests, they only test on things you've thought of. It's usually the stuff you haven't thought of that gets you.

(comment deleted)
This same level of "oops" in the backend causes users to accidentally see or delete other user's photos, which is definitely a categorically worse scenario.
I was originally a Flash developer, when that died when Steve Jobs banned it from iPhones, I pivoted to frontend. I got to see web evolve over the next decade or so and loved every part of it.

Now, still as a frontend engineer albeit much more senior. The writing is on the wall, again. It's time to reskill for AI.

It's not bad news.

We as experienced engineers are needed to help build in the guardrails, frameworks, the new tooling, etc. There is a lot of work that is needed that requires actual engineers with technical experience.

Like the early internet, I see this as a new beginning and we get to decide how it evolves.

I think that is the nature of being a software engineer, even before AI you had to keep learning new libraries/SDKs/APIs/languages to keep up with the industry trend. I think it will remain the same in the age of AI, good engineers will adapt.
IMO the reskilling is not that hard. Leetcode and applying for jobs has been way harder. In fact, the AI reskilling has been a boon for me. Suddenly I'm able to get a job way more easily and get to call myself a senior, all of a sudden. And the fact that I'm a generalist is really playing to my strength for the first time [1].

So yea, I really welcome the change.

[1]

What I mean with being a generalist:

Did iOS dev as a student, web dev bootcamp instructor, teaching assistant (programming), teaching fellow (programming), found some SQL injections + docker vulnerabilities + replicated rowhammer with WebGL, did a lot of full-stack engineering (5 years), did a UX bootcamp, studied 2 bachelors + 1 masters + research master which is 2 years (psych, business, CS and game-design). Each full-stack engineering job was in a different language (C#, Java, JavaScript, TypeScript, Pharo/Smalltalk, currently JS & Python).

>And the fact that I'm a generalist is really playing to my strength for the first time

I was just speaking with my wife about this a few days ago, that I am actually happy that I didn't specialize in one specific discipline, or rather spend my time around learning a little bit of everything, which now gives me the foothold into any direction that I want to go.

> It's time to reskill for AI.

I'm just curious, what do you think that looks like for you and for others? AI is not so much a skill as it is an interface, and one that is quite possibly one of the easiest to use that we've ever created. It is an interface for information, essentially. It's the skills that you come to the table with that determine the results that you're going to get back, and whether they're going to be quality or slop.

It sounds like what you're describing is similar to this new course that Theo Browne (ugh) and Kent C Dodds (double ugh) are launching called "mega.dev", and it appears that it's essentially just talking about the systems and tooling that's going to go into utilizing agents, and code is no longer even a topic.

I can't wait for the asteroid to hit C-Suite and senior execs. These are the most meaningless jobs and easiest to automate, with the most cost savings.
beware! using AI for middle management is how you speedrun to dystopia. Bad Managers can be fired, good managers can manage up. on other hand, "bad" AI will remain and continue to be dystopic, and "good" AI will be killed by higher management for being not being a doormat.
C suites typically aren't middle management though.
The csuite has the power to keep AI away from it or make itself mandatory.
You would prefer the company that employs you be run by AI rather than humans?
I suppose that depends on how dystopian you think current middle management is. I've had managers that were deliberately malicious, AI would almost certainly have been better in that situation.
> If you write a React component with an agent, though, then the risk of just yolo’ing it into production is (typically) much lower.

If your state management gets out of sync with the form controls your users are working with it can become pretty high risk because now users see one thing and something else actually gets sent to the backend.

If your coding agent screwed up so bad that wrong data is being shown to the user, in August 2026, thats more on the prompter than anything else.
But the prompter is supposed to be someone who doesn’t know web dev. That’s their selling point.
Maybe I'm an outlier here but I moved into front end to steer products and the resultant architecture into making sense from the incomplete or contradictory "requirements" we got from product and even UX. I've been doing this for over 20 years and every company has needed good engineers to make the product a logical reality.

LLMs piping out UIs from PM prompts aren't solving that imho.

I spent 2 years developing and polishing a front end web application, and then some other engineers at my company pointed Claude at it to try to reproduce it. The slop it crapped out would make most if not all our users leave for the competition. Then they had the nerve to ask me to explain what was bad about the sloppified version. I'm looking for a new job.
I'm a backend engineer working closely with a single frontend guy on an internal app and after creating a pr in his repo, it was immediately clear that AI can build some nice brochure sites, but UI state management, clean UX, good performance and API dispatch handling still require you to know what your doing for things to work well.

I think that frontend devs merely have to move from debating their frameworks to focusing more on user problems, maintainability, performance etc. but that is every dev right now...

There is going to come one day that companies (and any website owner) will wish they didn't use AI and instead used a simple (maybe even plain-text) website. That will come when people really need information from that website but can't get to it.

https://sparkbox.com/foundry/helene_and_mobile_web_performan...

Discussion regarding that post: https://news.ycombinator.com/item?id=46494734

Absolutely this. Although I like the shiny and polished looks, getting the info out is the most important, and it is hard yo beat pure black-on-white text
Heck, you can have your information as clear and concise as possible, but the moment I sense that "AI-generated" texture, I am immediately closing the tab. This is just extrapolating from how I feel about the bevy of obviously AI-Generated flyers and banners that have been gaining a lot of traction in real life.
Doubtful. This is just the cost of doing business. 99.9999% uptime for a fraction of the cost is totally fine for all businesses. Government should be the exception though.
I've seen some websites now just serve separate md endpoint (for agents to read)

I even ended reading those instead of main "interactive" websites myself

As agents are not great at navigating react either, this will catch on and you will have what you want

> For better or worse, React is heavily overrepresented in the training weights, and “agent experience” is starting to matter more than developer experience.

Another winner takes all situation. This and the other post on agent tool use[1] makes me think we are in a period of great homogenization. I'm sure there's a group that's delighted about this but for me, it just makes me feel a little uneasy.

[1] https://armature.tech/blog/which-tools-coding-agents-install

> period of great homogenization

It's called alignment. And that's the correct word for it in my opinion.

> It's called alignment

Alignment is such a polite term for "a giant boot that is crushing all of the uniqueness out"

Once it is done crushing, congrats! Everything is aligned.. by being flattened

Does the world need the "uniqueness" of 40 similar web frameworks?
Since a good LLM can handle any of those 40 web frameworks, I think having 40 web frameworks is becoming less of a problem than it used to be. Actually, implementing ideas in an individual manner will become easier. Remember the Bazaar and the Cathedral? The Bazaar kind of failed on the client side, but LLMs may revive it.
the world certainly needs novel ideas. maybe eventually we'll come up with a web framework that doesn't suck - or rather we'll realise that Django had it right all along for all these years.
Perhaps not if the one framework we ended up with was a good one …
Perhaps not but the world does need the uniqueness of 40 different people who each made their own web frameworks
Wasn't that true for tech in general though? I mean I have heard developers bitching about React for years now and every year I saw it get more adopted at the same time. Of course some obviously do not like it but the decision was usually driven by business and not coders. I feel its a simillar thing happening with AI code taste being primarily developed by big tech firms which ofc love homogenization. But its not all bad, I don't think people will just give up working on what they like because agent expeirenxe got better but who knows though
A lot of the bitching about react always had the same flavour of the complaints that JavaScript dares to have a NaN

To be fair it is stupid that NaN !== NaN but that is how IEEE and CPUs made floats to be

It's not stupid when you realise that NaN is not "not a number" but rather "not a particular number", this becomes clear from

  hypot(Inf, NaN)
being Inf rather than NaN
NaN means only NaN, 0/0 is NaN at the cpu level.

to my weak undestanding only pow and hypot behave like this; pow for math reasons and i could guess that hypot does that to sorta have |x| <= hypot(x,y)

I mean to me the whole point of NaN is that it should not equal NaN, so it seems sort of like you are making the complaint in the first sentence in your second sentence, only in a slightly more abstracted way. Unless you are of the opinion there is another better point to NaN?

funny story, I was once interviewing for a job where the tech guy did not know that NaN existed. I guess JavaScript wasn't his language, but not sure what was, and the code was in JavaScript for a Web Dev role.

my point is that that a lot of people shit on js for having "weird crazy stuff in it" and then the example is 0.1 + 0.1 + 0.1 !== 0.3 or NaN != NaN which has nothing to do with js semantics

JS is weird, and not having a stronger separation between ints and floats makes NaNs more common than in other languages (eg parseInt would not return NaNs in C or python) but for many "weird" examples people are making fun of normal stuff.

I wonder if this is overstated. Anecdotally, we use Vue at work and Claude and Codex handle it just fine. I'd expect Vue to be the third best-represented after React and Angular, but even then, we feel absolutely no need to change things up to get better results.

Vue's reactivity is quite similar to Solid's, AFAIK, so I wonder why there would be so many issues with Solid.

We have also started to have success getting LLMs to create custom lints for us to handle tricky edge cases. For example, discovering deep watches or tricky interactions - you can get a fair way asking an LLM to create a lint using a codemod library (in our case, vue-morph) that fires on this example but not on that example.

What bothers me is that I notice it everywhere. Not only does AI have a distinct writing style, it has a distinct style of frontend UI/UX design. I notice it on more and more websites and it bores me. I want creativity and originality. I haven't really seen AI exhibit that at all. It can maybe be driven there through persistent human input but then I think it's still the human being original/creative.
Creativity and originality? Like when you try to scroll a page and it rotates an image gallery instead?
Not sure if sarcastic but no. Check out for example this website: https://www.geofungames.com/

The functionality more or less works and the website is usable, but the design follows that "AI style". I'm not sure how else to describe it.

This is absolutely a generic AI website. Do you feel the same about one I've developed using AI? https://whistle-enterprise.com/

I think the AIslop of websites is down to the lack of vision or user journey and just going with the default which will always be generic and bland.

If it does feel in the "AI style" I'd love to understand what it is.

FWIW, I clicked through a few pages and this doesn't register as AI slop to me at all.

At least, it's missing the cargo cult telltales like the beige or unreadble neon hax0r dark mode theme, that console looking font with three different sizes and tiny headings, useless cards/animated colored dots, scrolling text, excess boilerplate text on every surface, useless generated tags/categories/chips everywhere, etc that plague the designs of the last year.

Overall it's clean and modern (and the interactive table actually has content not useless filler). It definitely wouldn't have triggered my visceral slop reaction and therefore wouldn't bother me at all if I later learned the dev used AI to make it.

I can't speak for everyone, but personally my issue isn't the use of AI at all (I use it myself), the problem is being able to recognize a carbon copy Claude/Codex design in <5 seconds. At that point I can't help but assume it's just slop that was fired off with a couple prompts and not worth my time engaging any further.

(Mostly) the same with prose. That's playing with fire a bit because while a website/app might have a utilitarian purpose, I will have zero motivation to continue reading text I didn't prompt myself once I suspect it's from an LLM. The writing on your site doesn't scream LLM either though so I think you're good on both fronts.

Appreciate you taking a look through!

> my issue isn't the use of AI at all (I use it myself), the problem is being able to recognize a carbon copy Claude/Codex design in <5 seconds. At that point I can't help but assume it's just slop that was fired off with a couple prompts and not worth my time engaging any further.

You absolutely hit the nail on the head.

This is much better but I can still tell. But I'm sure you guided it a lot to arrive at this state. Surely people with less care are one shotting and publishing boring websites.
Did you need ai to hold together a bunch of paragraphs and a table really? holy moly
Thank you, the fact that's all you picked up on makes me very happy.
I think it's just the modern version of the default MySpace or Facebook page. People primarily need the functionality and they reach for the tool that gives them that functionality even if it feels fairly cookie cutter.
I don't know. The website does what it needs to and doesn't do anything to annoy me.
Is anyone keeping track of these .. second order effects.. of the proliferation of agents? Like this, or oss projects getting 10s of 000s of bug report, or the Linux kernel site getting ddosed by crawlers..
>But in general, frontend code is a lot more ephemeral and replaceable than other types of code.

Tell that to Digg.

If you slop oit a front-end, your users will leave. It's that simple. The front-end is the part the users use the most, nobody cares how "elegant" your APIs are, or what kind of database the system uses. The front-end matters to users, a lot.

I've seen AI take a perfectly good front-end and slop out a piece of crap that will make the users leave in droves. And when nobody raises their hand (or in my case, everyone else is in the grip of AI psychosis) then bad times are ahead.

Yep. I don't know why this is so hard for teams to understand: if the part your customers pay you to interact with (the UI/UX) doesn't fucking work, your customers are going to leave.

We need to kill this two-party-system-brain crap and siloing front end and back end. Learn both. It isn't difficult. It allows you to design much better systems that avoid complexity and unreliability.

I honestly think specializing in front or back end is a good thing. Sure, it does help to know both, but there's too much ground to cover for any one person to do well at all of it. I'm full-stack leaning towards front-end, and working on a personal project I know where the back-end is lacking. The front-end is pretty great but not as great as it could be if I could focus all my skill only on front-end.
> there's too much ground to cover for any one person to do well at all of it.

If I can do it, others can do it, too. I even built an entire full-stack framework (w/ a custom components system + Node.js back-end), deployment system, database, and CSS framework (and now those all run my businesses). When I started, I didn't have the slightest clue beyond some basic HTML and CSS. I think people limit themselves too much trying to fit into the narrow containers of a job title/description. I get why, but it's worth asking yourself what else you're capable of beyond your job if you're eager to learn.

Just because someone can code front-end doesn't mean they can design good UX. One of the "full-stack" devs I work with who started as a back-end dev thinks rewriting a full WYSIWYG front-end system is fine to replace with a series of unstyled input boxes. He's pretty clueless about what our users want. He's asking me to explain to him why his solution is worse, when it should be extremely obvious. While he can code front-end, he doesn't really "get it" at all.

I've seen this way too often across my career.

That only works if viable alternatives exist, the moats aren’t too large and users have the freedom to switch. For example, Reddit was a viable alternative to Digg at the time, Facebook was a viable alternative to MySpace. Enterprise software has some truly grotesque UI but the user doesn’t have the freedom to switch and the moats are enormous.
Yeah, exactly this.

The Web has always been a bunch of things: complicated backends that just need something in the frontend to operate, flashy marketing sites that don't do much behind the scenes but build brand credibility, cheap-to-free sites that people cobble together just to get something out there. Some are "web site", some are "web apps".

For some of these cases, frontend is probably dead. For some, either the robots aren't quite able to have the level of originality and fidelity people are after yet, or the robots will enable more people to do better frontend work.

And like you're saying, it has to "feel" good/right. That can be a hard thing to prompt!

Looking forward to that entry level laptop with 128GB RAM
You can pivot to design systems. I believe they’re 80% development problem and just 20% design problem really.
> So where does this leave frontend dev education?

I think this is more generally,

> So where does this leave education?

We need to figure this out anyway, because gpt galaxia and gpt cosmos will mean no skill is worth learning functionally.

The law of 42: Any debate regarding artificial intelligence and human skill will inevitably collapse into a discussion on the meaning of life, the universe, and everything.

Currently (re)learning my math fundamentals and it is indeed frustrating to see that Fable 5 has everything correct. It reads my scribbles and then tells me whether my answer is right or wrong.
Hard disagree.

The AI is a fantastic assistive tool, and in many ways it surpass my skillset as a software developer(I'm a skilled software developer, although it's not my job).

However, I do not believe I would be able to build what I'm building using LLMs, without myself having the right skills.

you forgot a 'yet' somewhere in the last sentence of your comment.
No, I didn't forget anything. Don't put words in my mouth.

I do not believe random Joe, even an intelligent one, will be able to build advanced software using LLMs in the near future.

We gave a university class called "Advanced JS" and it was going for more than 13 years. Some years we had 30, others 50, recently more like 18 students. In 2026 though, I see very little reason to continue to do so.

What am I going to teach them? How to run Codex or CC? Who in his right mind would like to dive in super complex browser internals? We have always considered ourselves forward-thinking with live coding, paired programming, AI-assisted visual artefacts.

And then one day came this bloke who was holding chatgee in his hand and asking me questions right off it, as if testing me. I went berserk, and this was the moment I decided we stop giving these lectures. Everyone autodidact themselves, I dont care anymore.

> And then one day came this bloke who was holding chatgee in his hand and asking me questions right off it, as if testing me. I went berserk, and this was the moment I decided

Was that the first/only moment you had a draining/bad student? Seems quick to give up because of one bad experience, maybe this was repeating?

Personally, I felt similarly once the people I'm mentoring starting using CC and Codex and stuff, as a lot of the questions they asked me were easily answerable by the agent, so I guess I had a brief moment of "But what value do I even provide in the world anymore?".

I ended up kind of restructuring what I'm trying to teach, and instead of getting them more exposed to the mechanics of software engineering, I've started leaning more towards the soft skills, how to collaborate, how to get a feel for things, how to understand better/faster, and similar things, all still related to software engineering of course, but I basically try to ask myself what I can teach them that no agent/model could, and do that stuff.

I even started introducing mentees to each other (not sure why I didn't before but alas), and have them collaborate on projects together, and figure out what works/not in collaborations with others. Surfacing a whole new host of issues to work through, so seems to work fine :)

> Was that the first/only moment you had a draining/bad student? Seems quick to give up because of one bad experience, maybe this was repeating?

Coding was hard enough that even most bad students understood they knew very little because they'd falter, students with decent knowledge were very seldomly total assholes.

I think the big change in the equation is that chatbots churning out good enough shit without tripping up on basics or tedious tasks makes the insufferably stupid people (those worst affected by Dunning-Kruger) think that they actually know something.

> insufferably stupid people (those worst affected by Dunning-Kruger) think that they actually know something.

inevitable, and we cannot close our eyes about it. but okay, lets say a single asshole does not resume the whole group. then again - it is very difficult to convince anyone in 2026 (myself included!) he needs to do something in coding manually. but then again if you don't get one's hands dirty, even like... taking paper notes, then he will inevitably very quickly forget all that is tought. so we cannot 100% agree that teaching with cool AI artefacts is going to be sufficient. also im not sure which manual tasks should be forced upon otherwise (supposedly) smart peoples.

perhaps we'll have people late in life that will turn to coding things again by hand, for the sake of making their brain work, the way people turn to physical careers to stop the stress
> Was that the first/only moment you had a draining/bad student? Seems quick to give up because of one bad experience, maybe this was repeating?

well, in 2025, not sure if related to agentic dev, but very likely, there is a very well felt drop in attention. also we figured there is a massive misproportion between people who have already used GPTs alongside classic dev, and those who have adopted or been exposed to agentic dev.

my surprise is that these people, being 3rd and 4th graders, were not equally exposed to harness-based dev, even though most are already employed on certain roles in actual companies.

> started leaning more towards the soft skills like how to collaborate, how to get a feel for when things are right/wrong, how to understand better/faster, and similar things,

well I agree this is important, but it is not a class in JS anymore. told the faculty staff we need to reinvent the program, and they are not even aware yet how damaging this impact is.

in all honesty - nobody knows at present moment what skills are needed to teach to people. besides, with LLMs, everyone curious enough can teach themselves.

so this changes massively the whole idea of knowledge transfer done by humans, does it not? we should teach other skills, not the technical trivia. i can give many examples, but this is going to eventually become very long post.

If you were just teaching technical trivia, I would have considered that teacher a bad teacher even in the 90s.
The issue is that AI is still very bad at making frontends that work well on any kind of device, for blind people or otherwise impaired, color blind, ...

However it's not that anyone cared before otherwise AI would know better than that

Well AI does whatever is told. or rather - expounds as per what the anchor (the prompt) started the generation. That is all - it doesn't do more. It has biases because of RLHF and other post-training, but not innate AI-bias. It's like... whatever you put in the archive will later on expound. But that's not the point realy.

The question is what is that we going to command the LLM do, how complete this requirement will be. But hold on - writing JS is not doing UX, and is not doing business analysis - definitely not the same thing.

JS is a general purpose language with fair amount of functional and declarative stuff in it, heavily influenced by Perl and LISP. So why would a person who's not inclined to dive in this matter (typically very hard stuff) would want to learn it, instead of spending a day out in the sun before the world ends? Well she did so (back in the day) mostly because there was a market demand for such skills.

And then we have autodidacts who don't need this type of education (not schooling!), and those that are not. The latter still want to take good salary and perhaps they can be trained into it. So, in essense, many people learned JS because there was a demand, and my prognosis is this demand for people writing JS goes down, not because the demand goes away, but because we won't be needing most of the JS code and perhaps also we won't be needimng UIs very soon (not in the same way we did before).

And, just imagine, if one's aware of first principles in programming, they can easily command the LLM/harness to create a perfectly working Swift code. Saying it because is exactly what myself did, even though this is remotely a language I am good at. Perhaps the amount of effort to get these libs right would've otherwise costed in the hundreds of thousands, now it costs 200$ a month for Fable/GPT6 and not-so-much-of-an-actual-understanding on my side, but a steady pace to keep the harness follow the road intended.

Why would then anyone want to learn JS, save for the fun of it?

> ...AI is still very bad at making frontends that work well...

The world has spoken, and it does not want "good". It just wants "good enough". The "idea-guy" got 100-fold more dangerous.

It is questionable on how many occasions the world ever wanted more than ‘good enough’. And it is apparent from all the half baked systems we use daily how much this is actually true and how little software excellence matters in a real world scenarios where deadlines and costs are forcing dubious decisions every day.
I've made websites for universities and science programs so I've got a taste of the other side, where money doesn't really matter that much and accessibility is a must.

It's hard to go back and just ignore it

>Who in his right mind would like to dive in super complex browser internals?

I would have loved this in college. I know most don't, but I think we'll hit a point where the people who don't know enough to assess when model output is sub-par will fall by the wayside.

I'm not arrogant enough to think that I won't be included in this blast radius, so I try to dig as deeply as I can whenever possible (and where it makes sense,IE: I couldn't tell you all of the details of LLVM or hypervisor internals)

Unless this is the endpoint of software engineering (React for the next thousand years?) someone’s gonna have to do the work of understanding and pushing things forward. It won’t be an agent.
Have there's been interesting developments since ai coding got popular?
I would pay for such content. Do you have course notes? Have you written a book? I'd pay to get expert knowledge from... an expert! LLMs are fine, but still not replacing actual human experts IME.
Here the notes and materials from stuff written during the two classes - Advanced JS and JS frameworks

https://github.com/FMIjs

You can tell the year of distinct repos. There are no slides as we adopted the mathematical approach of writing live and solving as we progress in order to demonstrate the thought process.

This is not a complete snapshot of all discussed in the classes, but is a comprehensive history of what I claim we did.

There is still a chance we give it one more time in 2026/2027. At least one team member already dropped out, perhaps a second also. I’m considering with the other leading person whether to continue. Thanks for the feedback.

From one of the links in the article (https://exploringjs.com/):

> The income from my book sales went from being enough for me to live off (2024) to zero (2026).

Oof that hits hard. I'm not an author or anything like that, but wow.