110 comments

[ 1.9 ms ] story [ 231 ms ] thread
In my opinion, the dev role will slowly shift towards debugging and writing logic-heavy code.
That doll popping out is creepy as hell.
"I hope I didn't startle you" -- yeah you fuckin did!
I reflexively closed the tab when it came out haha.
Yet another blog post about how LLM can't replace people for X task. I wish there was less noise about this and more discussions on how we will (all) benefit from LLM replacing people. Like UBI, paying people to pursue their passions, etc.

I personally would be fine if LLM replaced my $DAYJOB if it meant I could work on learning violin, gardening, or creating videogames.

LLMs not existing isn't the reason we don't have UBI or free healthcare, or stipends to pursue passions. I think most people are understandably concerned that the benefits of these new tools will primarily accrue to the tiny elite who can afford to control the compute resources and therefor mediate access to the models.

If LLM replaces a bunch of $DAYJOB you won't have people learning violin, you'll have widespread unemployment and the civil unrest that accompanies it.

> If LLM replaces a bunch of $DAYJOB you won't have people learning violin, you'll have people arming themselves and raiding stores of food and medical supplies.

Thus the need to start talking about how we will all benefit from this and demand those kind of outcomes...

This isn’t how anything works dude. Automation doesn’t mean less work it means each individual can be more productive. We’ve been automating jobs for centuries, your dream of doing nothing is just an infantile dream that we all have to get over at some point.
Automation means less work for any given value produced, which means greater quality of life across the board unless this increased productivity is offset in its broad effects by increased capture of value by narrowly concentrated capital.

Which makes it kind of suck if you have an economic system that is so centered around maximizing the concentration of capital and the extraction of value by that class that it is named for it, but the problem there isn’t automation.

You won't pull yourself up by your bootstraps with that attitude! You can learn to play the violin and be homeless( Typical slacker complaining instead of just being willing to multitask).
1. Who is going to sponsor your gardening work?

2. Why would they?

That would be great, but I don't see it happening. Instead I find it more likely that human labour will be relegated to other activities which cannot be automated like food delivery, driving, cleaning et cetera, and we will all keep working 40hr work weeks (if you are lucky to have a job).
Relevant:

https://twitter.com/stealthygeek/status/1604513283972767745 Quote: 1960's Futurists: Automation will free mankind from meaningless tedium to focus on creative pursuits only human beings can master.

2020's Techbros: We're building AI that will write all your books, music, and TV so you can focus on the meaningless tedious of your cubicle job.

don't worry, generative models are coming after music and videogames too. hope you really like gardening...
Great, just like gardening, I get enjoyment out of doing the thing. Happy to share what I produce, but couldn't care less if no one else uses it.
Why bother learning violin or creating video games when AI does it much better and faster?
This is actually an interesting question that I also see in the AI art and artist debate. The trope is that "people thought AI would replace mundane jobs leaving room for creativity, now it's automating my creative job, why even bother making art?" The answer is the same as why anyone does any hobby at all. We still run despite making cars, ships, planes, rockets that go at hundreds of miles per hour. We still play chess and Go even though an AI can beat every human on the planet. We will still make music even if AI does simply because we want to.

Now, to expect to do a hobby as a job, forever (coding, art, music, whatever), that is a very privileged position to be in and most people in human history have not been that fortunate.

> I personally would be fine if LLM replaced my $DAYJOB if it meant I could work on learning violin, gardening, or creating videogames.

But let's be realistic -- that's not at all what it would mean.

AI won't take of front-end dev jobs until it can start creating a new framework every week, constantly break backwards compatibility, then abandon the project and start a new one.
This right here is the right strategy, make a new framework and wait for the model to be re-trained with a corpus large enough for it to be correct. Rinse and repeat.
Downvoted because this is a low effort attempt at humour.
AI can probably take that weekly framework cycle and crunch it down to daily framework cycles.

It will churn through frontend frameworks way faster than humans can.

This joke is getting so old, we need to say thank you and let it go.
Let them believe it and choose new careers

For those of us who know we won't be replaced, we only benefit from this FUD

I've been with other hats web developer for 25+ years. And have the impression ChatGPT gives me super powers.
At this point we could even deviate from software development and say this about any job that requires thinking and decision making around a set of rules.
Frontend seems to involve visual design, which backend obviously doesn't (usually). Other than that, I don't see the difference, as soon as you're working on things more complex than simple static pages. Both will gradually become more efficiently done through smart use of AI tech.

But replacement? ChatGPT and GPT4 can't solve real world problems without heavy time investment of an engineer to prompt-engineer a semi-usable (if lucky) solution that still needs a lot of debugging (so coding yourself is still way faster for sufficiently complex things) and adjustment to your codebase.

Will people get left behind that don't adapt? For sure. That's always the case. If productivity is significantly increased with use of such AI tools, then those that won't use it due to whatever reason, including incompetence, will be let go eventually. All others will be fine, as always. This fear-mongering is actually good for us that can adapt, makes us more valuable.

Let's talk in 2030 again. Then in 2035. Then in 2040. And so on until we have AGI that generates you a new revenue stream just by reading the thoughts of a non-technical middle-manager, by which time we will probably have completely different problems.

People afraid of AI automating things just don't know how it works. I mean, no one does really, but if you went to University and studied AI, statistics, machine learning, deep learning and some of the variations then you'd know that that shit isn't intelligent or magic.

It predicts the most likely next tokens + some randomness based on what's in the training data. It can't do more than that. That it can conjure up well known algorithms and some variations of them that help solve some specific problems that "look complex" is not a surprise, but alas, a mostly useless party trick that scares some people apparently.

There are a variety of differences.

Frontend development involves a large number of fuzzy human bits that are constantly moving underneath you. Yes, your backend dependencies can change and you may need to update an API version, but in frontend you have browsers, screen readers, frameworks, and all sorts of massive icebergs largely outside of your control constantly moving.

In the backend, you probably have a language that is fairly stable. Write some unit tests, write some integration tests, but things are predictable and mockable.

Writing UI (properly) requires testing against several versions of several browsers, each with their own rendering quirks. UI tests - screenshots, whatever - are inherently flakier and when something breaks it's harder to know for sure if it's your fault.

You need to test against a variety of screen readers and accessibility tools. None of them are well documents, all of them parse the DOM (or native accessibility stack if you're not doing a web app) in a slightly different way, and the standards are constantly changing. As a bonus, you're legally obligated to get it "right", not that anyone can tell you precisely what "right" is.

Visual design isn't a walk in the park either. The designers will tell you to use color X. Its contrast ratio against colors Y, Z, and B on various pages will hopefully meet the contrast ratios, but then someone will point out that in exactly one of Windows' four different high contrast schemes this ends up being black on black and you will stare into a dark Lovecraftian abyss wondering what hellish algorithms Microsoft uses to pick colors. You'll fix HC Black and break HC white, you'll fix white and break black #2, and you will eventually throw your computer into the Marianas trench and go repair bicycles for a living.

Brilliant, sounds even less automatable than what I assumed.
I mean if one day AI can meet with the client instead of me....
We already have them, they're called product managers /s
These are valid differences, but none of them seem particularly challenging to an AI, assuming some equivalence between image and text recognition. To a human, sure because it is more difficult to formally specify. Arguably an AI could benefit from the fuzziness because the set of acceptable outputs is larger.

And I’d also say that the argument is a bit straw man-y because it considers (some of) the complexities of frontend, with a fairly ideal view of the backend. Once you bring concurrency, scale and state, backend can become fairly Lovecraftian as well.

> Frontend seems to involve visual design, which backend obviously doesn't (usually). Other than that, I don't see the difference

My thought, from a long career or full-stack development, is that front-end is very much about how people interact with things. It's more a matter of doing a thing with strong attention to the details of the display, interactions, and behaviors in different environments.

Back-end development is more about how machines interact with each other. Things are more deterministic, but instead of scrutinizing minutae of human-machine interaction, I'm thinking about how a machine will do this hundreds or thousands of times per second.

Just describe a average website and see if ChatGPT can reproduce it.

I think the description as such will be the difficult tasks, followed by fine tuning your description if ChatGPT's result isn't correct.

If you were to mix ChatGPT with premade blocks and a WYSIWYG editor you could get very far. It would be quite a lot of upfront work if you were actually intending on automating the full site creation rather than a general wireframe, still doable.

But, nobody really has a job like this in the front end. They were all replaced by Squarespace/Wix/Webflow/etc years ago. Which seems to confuse people who aren't really in web development, and where Josh Comeau is mainly making the argument from (against the social media idea that "front end is dead").

At this point I don't think anyone can predict where we will be in 5 years because its changing very quickly.

From my view, chat gpt already codes a lot like a jr. developer but much faster

We can't, indeed, but if the past is any prediction -- it will have a few good iterations, better features each time, smaller models, but it will quiet down after a few iterations.

Unless Open Ai found some completely novel way of training GPT to enable the exponential growth in training data required up until now.

These demos all give me the same vibe as "we prevented aging in mice". It's really impressive and interesting but I don't think we should be worried about our jobs disappearing any more than what living to 200 will be like.
With a decade of experience as a front end dev in this industry, I have to agree with the premise, although not for the reasons stated. AI is, and will be, hugely disruptive for all fields of programming. But it won't be taking jobs any time soon.

The reason front end development as a skillset is coming to an end is that we've solved all of the problems that front end devs were responsible for. Front end used to be a very specific skill set that dealt with taming the complexities of cross browser support, and shoehorning the browser into a proper application platform. Those concerns are no more. Browsers have all converged on chromium-as-a-standard. Things like Tailwind/CSS-in-JS are quickly making traditional CSS skills obsolete; gone are the days of needing someone who knows how to cast arcane incantations of CSS rules to get an image centered on a page. And with modern frameworks and development techniques, all the stuff about semantic HTML and whatever else is being thrown out in favor of DevX and rendering everything as a pile of <div>s.

There has been a massive shift in the last 3-4 years where practically all job listings are now "full stack", with the expectation that UI work is "just some silly thing we have to deal with" on top of the real work. Perhaps some huge companies will maintain the separation but most have already given it up.

> And things like Tailwind/CSS-in-JS are quickly making traditional CSS skills obsolete

This statement literally makes no sense.

Indeed, I'm not sure how people can use Tailwind or Css-in-JS without, well, knowing CSS. It's literally CSS as another DSL.
Point being that traditional stylesheet based CSS is all but obsolete now. Any dev can pick one of ten thousand component libraries, slap a few utility classes on the element, and call it good enough.
Not when you're working at a company that wants a specific design. Tailwind and CSS-in-JS have their own issues.
Yeah, this is all great and lots of words, but I just spent all morning centering a radio button in a td lol
UIs have become more complex in parallel to more sophisticated tooling. Most websites now use persistent state and are reactive, where before those features were not as widespread. So I would say it has evolved, and the entry point for FE dev is closer to typical app development than before (which was closer to design and scripting).
> So I would say it has evolved, and the entry point for FE dev is closer to typical app development than before (which was closer to design and scripting).

This is kind of my point. UI development will always be a thing of course. But the "front end dev" was a phenomena of the early days of the web, and needing someone to wrangle the insane complexity of the browser. Nowadays you just install some framework and off you go without any concerns for browser issues. And so it becomes like any other programming environment, where the average developer of any skill set can do it sufficiently.

Never read such a long list of inaccurate statements here on Hacker News.
> A small JS app like this blog has ~65k lines of code, across 900+ files. That doesn't include the written content, only the JavaScript and TypeScript.

More or less sums up why I think FE dev has reached peak ridiculous.

Good luck ChatGPT.

I wonder if he counts node_modules files and lines too or not. You should count only lines you write yourself (actually tou shouldn't count lines at all as it's a useless metric). Or else we should count machine code instructions.
If you actually read the entire article you'd see his explanation for why it's the case. He has a lot of animated interactive experiences that are used for teaching concepts and he also includes other non-blog related projects in the repo.

Pretty embarrassing man.

Posting a comment without reading the entire article more or less sums up why I think HN comments aren’t worth reading.
Either it’s a “small JS app” or it’s “~65k lines of code, but not both :-)
> "Fundamentally, LLMs are super-powerful text predictors. Given a prompt, they use machine learning to try and come up with the most likely set of characters that follow the prompt."

I've heard this tossed around and in the old days it used to be true.

BUT in the process of learning to predict text, just like with CNNs that learned to predict image types, it seems GPT learned some very interesting functions that bring it very close to "cognition".

I would not be at all surprised if we found those neurons in GPT, the same as I saw on fast.ai the building blocks of neurons that predicted images back in the day.

> Given a prompt, they use machine learning to try and come up with the most likely set of characters that follow the prompt.

Funnily enough this is almost exactly how human children work when they're learning to talk

It doesn't really matter how we learn the features that we learn; I've heard numerous times that ML models tend to learn architectures/neurons that biological neurons do; I've seen convincing evidence about image recognition back in the day that this is the case.

I read that animals dream in the woumb partially to pre-train their nervous system, including vision stuff.

But I'm convinced GPT-3/4 did learn a lot of features/generalization/reasoning, even if part of a "text prediction".

Sure, it's predicting text... but to do so it learnt some calculus and quantum mechanics -- it's just an example, I don't know the cognitive building blocks to explain how humans/future AI do their reasoning.

My mothe-in-law is almost deaf. However, as you said, she is a good example of a "super-powerful text predictor". She almost always predicts what you're talking about even not hearing a single word. And most of the time she offers meaningful answers just as GPT does. But not always (same as GPT)

I don't expect, however, that she will program front ends any time soon

> I don't expect, however, that she will program front ends any time soon

Liar :) If she wrote/scored as good as Chat GPT-4 does, you'd be worried she's going to steal your job :).

I mean, I know I'm lucky my wife doesn't know programming, lest she'd know more about anything that I do.

You would guess all you could need in the future is a code base, and a video of the website working in action
"augmenting, not replacing" has been my go-to line for people who are anxious. There is no real meaningful discussion taking place about replacing people, it's just about augmenting people.
I'm not anxious at all about being replaced, but...

> There is no real meaningful discussion taking place about replacing people, it's just about augmenting people.

I guarantee that there are discussions taking place in countless executive meetings trying to figure out how to replace people with this tech. People are expensive.

If you have a team of twenty people, and you augment them well enough that they can all work more efficiently, the team can go two directions: it can stay the same size and do more, or it can shrink and do the same amount of work.

Some organizations are going to take the first approach, and some will take the second. Neither is right; some organizations can expand on what they do. Others have a narrower scope, and would be better off getting leaner.

There's always been a tension between an organization's needs and an individual's needs. I'm pretty sure these tools are going to increase that tension for a while.

90% of frontend development is gathering the requirements. The other 90% is trying to get CSS to center a div.
(comment deleted)
This jokes only works if you never used flex.
this joke is older than flex
The joke is played out and it's time to move on.
Of course, and so it doesn’t make sense to continue using it now that it’s outdated.
Flexbox makes it a lot easier, but it’s not fool proof. I’ve had situations where even flex refused to center something because it was ensured strangely (but out of my control), or because the containers size wasn’t being inherited correctly (again be a use of parent elements out of my control).

Compared to something like Qt/QML’s anchors and layouts, flexbox still feels like a crude hack, to me.

Too late to edit: “because it was nested strangely”
This was (sort of) funny 5-7 years ago.

Meta: Stuff like this doesn’t really fit in HN imho. Besides being low effort it just feels weird to read things like this on a site literally called hacker news. I feel like someone misspelled “tired techies complaining about the same thing over and over again”.

Is it that much harder to come up with a genuinely funny or constructive answer or, you know, go outside, and touch some grass instead of posting?

Does that really hold water when some days half the front page is reposts from years ago? Hardly "news" either
I struggled to find a better way to express what I meant tbf. I want to avoid making general statements re the discourse here, so I try to respond with a specific comment in mind (e.g. the joke above). Otherwise it's just more of the same (depressing) noise.

I'm looking for alternatives, but the best I have at the moment is chatting with random people via my Calendly.

Probably about as hard as it is to find a more original phrase than "touch some grass"? Or are you fighting low effort with low effort?
There are still days when I wish for a time machine to 20 years ago and table-based layout.

Yes, it was semantically ugly but it %(#% worked every #%#% time.

bigger issue is that it takes more time and skill to become hireable, in the early days of the web there were plenty of people buying a book on HTML and getting hired in a few weeks. That isn't happening in a world where AI can do all but the most complicated programming tasks
> The End of Front-End *Web* Development

T,FTFY

There seems like a disconnect between the breathless AI hype and reality. I tend to be on team-LLM (having exposure to it in my daily work), and my stance is that it's going to revolutionize some narrow domains and features of products, but the idea that it will replace white collar labor generally seems poorly substantiated by what we know so far.

What we see ChatGPT being good at is largely boilerplate. The folks who are like "I am 5x more productive now with ChatGPT" raise alarm bells in my head - it suggests that they were typing the programming equivalent of pablum for most of their day.

Yeah, if you ask ChatGPT to author some simple HTML it will do so with a refreshing level of accuracy (though far from being able to do without extensive supervision) - but who is writing plain HTML? Likewise it's cool that it can generate a sort function whole cloth... but who is writing their own sort functions?

The trick with boilerplate is that the industry has already spent the past two decades automating large amounts of it away via frameworks and baking much of the functionality into programming languages themselves. If you're writing boilerplate for so much of your day that a boilerplate-spitting AI massively increases your productivity, I'd argue you've got bigger problems!

The trend - across both backend and frontend dev - is to make things more declarative and close the gap between what the developer wants and the amount of code needed to implement it. Use these technologies - it has made people dramatically more productive, but didn't require a LLM!

If you find yourself spending a significant portion of your day writing boilerplate, stop doing that! There are many options for you that allow you to more directly express what you want!

I find an engineer's value is in creating things have not been created before. As the author of the article says, there's already lots of great tools for making simple sites. So far, I've found that LLMs are not good at making novel software, it's basically a glorified stackoverflow. But that's still quite useful… for a programmer!
That's exactly it. Ultimately programming is just telling the computer what you want it to do - something that a LLM is unable to do. There may be a future where an AI is smart enough and demonstrates enough analytical, cognition, and deduction ability that it can take over specifying what a computer should do - but it's not today and it's not immediately at-hand. Nor is anything that can do so likely to emerge from LLMs, as opposed to a fundamentally different architecture of AI.

For most of our industry's history telling a computer what to do involved a lot of very painful and boring things that aren't really related to what you actually want from the computer. Moving registers around. Assigning variables. Managing memory.

But the entire time we've also been converging on doing less and less of this rote busywork. Advances in frameworks and programming languages has, in each iteration, gotten us closer and closer to simply telling the computer what you want, reducing the need for this rote busywork.

So now we have an AI that is quite good (though again: far from good enough to be unsupervised) at this busywork. For people whose jobs are largely consisted of this busywork this may be highly impactful - but your job as a programmer is to minimize this busywork to the maximum extent possible anyway.

> There may be a future where an AI is smart enough and demonstrates enough analytical, cognition, and deduction ability that it can take over specifying what a computer should do

When we reach that point, anyone's job will be at risk. Give that AI an AWS account and a credit card and it'll take over the world, not build websites when someone asks it to.

ChatGPT has way more of a probability to hit the singularity first, thus rendering all coding efforts futile & useless, whilst it ushers in the machine apocalypse. So write that FE framework before you get taken away and used as a bio-battery for the great machine king.
It's not that AI is going to replace certain jobs, it's that the people /not using AI/ will be out of a job because GPT et al are merely tools to get things done faster.
I have witnessed developers who are shockingly inefficient at getting work done quickly, but they get it done at the pace everyone's come to expect so it's never an issue.

Obviously this doesn't apply to all workplaces, but there are a ton where the slowest workers set the bar for how fast things get done, and anyone who can get stuff done quicker works a couple total hours per week and is dicking around or in meetings the rest of the time.

I'm well familiar with this too. It's essentially a variant of Graeber's "Bullshit Jobs."

Given how many BS jobs exist - and I've witnessed them personally - it's a bit early to declare LLMs the death of the programmer. It seems to me that the more likely outcome is that, rather than being put out of work, we programmers will become somewhat more efficient. Somebody has to babysit and evaluate the output of the robots, after all.

Does that translate to more actual productivity? Maybe in some cases, but given low expectations it might also just mean that we slack off even more. Perhaps ultimately, many more programming jobs will devolve into BS jobs.

Time for the AI hype-men to touch some grass. Anyone claiming they have 10x super powers now has most likely only dealt with hello world problems in their current job thus far.
I say it a lot, but I'll say it again:

"The code isn't the hard part of the job"

It's definitely going impact simple frontends that don't need complex app logic. Arguably that is already the case with so many of the existing frameworks taking over, but now if you don't need a framework chances are it can be easily generated.