8 ms·
The End of Front-End Development
- frebord 4y agoAt 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
- raducu 4y agoWe 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.
- punyearthling 4y agoAs a FED, I embrace my AI overlords. There's a lot I hate about my job (learning/using the latest silly thing React's rolling out, configuring new projects, Webpack, etc.). If AI can handle this garbage while I solve actual problems, I'll have it made in the shade.
- vnjxk 4y agoIn my opinion, the dev role will slowly shift towards debugging and writing logic-heavy code.
- dmak 4y agoThat doll popping out is creepy as hell.
- chunk_waffle 4y agoAI 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.
- pagutierrezn 4y agowait!...
- lalos 4y agoThis 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.
- pharmakom 4y agoDownvoted because this is a low effort attempt at humour.
- bluefirebrand 4y agoAI 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.
- SakeOfBrevity 4y agoThis joke is getting so old, we need to say thank you and let it go.
- thomasmarton 4y agoAt 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.
- candiddevmike 4y agoYet 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.
- nice_byte 4y agodon't worry, generative models are coming after music and videogames too. hope you really like gardening...
- candiddevmike 4y agoGreat, 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.
- NationalPark 4y agoLLMs 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.
- candiddevmike 4y ago> 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...
- edgyquant 4y ago
- NerdiOrg 4y agoLet them believe it and choose new careers For those of us who know we won't be replaced, we only benefit from this FUD
- tchvil 4y agoI've been with other hats web developer for 25+ years. And have the impression ChatGPT gives me super powers.
- ThereIsNoWorry 4y agoFrontend 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.
- Arainach 4y agoThere 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.
- croes 4y agoJust 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.
- waboremo 4y agoIf 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").
- ericmcer 4y agoThese 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.
- ramesh31 4y agoWith 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.
- boringuser1 4y ago> And things like Tailwind/CSS-in-JS are quickly making traditional CSS skills obsolete This statement literally makes no sense.
- satvikpendem 4y agoIndeed, I'm not sure how people can use Tailwind or Css-in-JS without, well, knowing CSS. It's literally CSS as another DSL.
- ramesh31 4y agoPoint 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.
- usgroup 4y ago> 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.
- jve 4y agoI 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.
- brigadier132 4y agoIf 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.
- lobstrosity420 4y agoPosting a comment without reading the entire article more or less sums up why I think HN comments aren’t worth reading.
- usgroup 4y agoEither it’s a “small JS app” or it’s “~65k lines of code, but not both :-)
- raducu 4y ago> "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.
- shawabawa3 4y ago> 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
- raducu 4y agoIt 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.
- pagutierrezn 4y agoMy 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
- fdgsdfogijq 4y agoYou would guess all you could need in the future is a code base, and a video of the website working in action
- cameronfraser 4y ago"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.
- JohnFen 4y agoI'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.
- japhyr 4y agoIf 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.
- fswd 4y ago90% of frontend development is gathering the requirements. The other 90% is trying to get CSS to center a div.
- deleted 4y ago[deleted]
- hk__2 4y agoThis jokes only works if you never used flex.
- ryanmcbride 4y agothis joke is older than flex
- dkersten 4y agoFlexbox 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.
- dkersten 4y agoToo late to edit: “because it was nested strangely”
- 4y ago
- ren_engineer 4y agobigger 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
- mrpippy 4y ago> The End of Front-End *Web* Development T,FTFY
- potatolicious 4y agoThere 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!
- jonny_eh 4y agoI 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!
- potatolicious 4y agoThat'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.
- beardedman 4y agoChatGPT 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.
- beauHD 4y agoIt'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.
- hbn 4y agoI 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.
- JeremyNT 4y agoI'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.
- marban 4y agoTime 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.
- jppope 4y agoI say it a lot, but I'll say it again: "The code isn't the hard part of the job"
- proc0 4y agoIt'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.
- Julesman 4y agoI'm a dev using ChatGPT and CoPilot. I work more efficiently as a result. Currently I don't think LLMs represent a risk to my job in that I work for a small company and personally handle many aspects of the development process on my own. However, at a larger company where those roles are spread out I could see some of them going away soon. I work on a large WordPress theme. If an LLM were trained on that theme it could possibly have the global scope I need to make changes and understand their impact. It won't be long before we have software that allows you to easily train an LLM for your use. That could threaten my job. But then, my company would still need someone to manage and QA the results. So I see fewer jobs, but not the end of the profession.
- adamredwoods 4y agoI agree. I simplify it as boilerplate coding versus maintenance coding. I worked at a job where I built out UI templates for a larger system. I could see that job reducing to perhaps more of an QA or automation engineer to manage the pipeline. Too bad, though, as that job was menial but gave me the longer term skills of muscle memory to write out HTML code.
- arisAlexis 4y agoDoes the argument hold for the next much better versions that are inevitably coming very soon? There is no point in making a temporal argument for today
- monkeynotes 4y agoI see posts like this comparing past attempts, and in this article even 1990s Homestead, and I immediately think this person does not get it. Additionally all the statements that follow along the lines of "GPT today has a hard time with xyz" are all problematic too. Today is not tomorrow, and what it can do tomorrow is what we should be talking about. The fact is in just 3 months we've gone from fairly basic code reviews to super helpful code reviews with code examples and intelligent code contextual comments. Comparing GPT to Homestead or any number of early attempts to translate mockup to HTML+JS is unhelpful. This is wildly different technology. Talking about what GPT can do today and landing at "it's not good enough" is also missing the point, we are nowhere near the limits of this tech and it's evolving so fast that these assessments are not insightful in the slightest. Talking about GPT as being merely a probability evaluator is also demonstrating the authors limited insight. WE ARE ALL probability evaluators. Humans work on prior experience, employ heuristics to make decisions based on that. GPT, indeed all AI, is more or less based on that paradigm. The difference is an AI can hold the whole of its learning in a perfectly memorized model. It doesn't forget what's in that model and can draw on billions of data points to make its probabilistic determinations. We pull on bias, false memories, misunderstandings, and so on. Now, that's not to say AIs won't also be afflicted by these comprehension errors, but that just doubles down on AI doing what humans do which is astounding either way. Jobs are going to be lost, it's a fact. Even if it's just that junior who was learning code reviews and supporting basic development, that job will be around for maybe a year or two at the rate we are moving.
- JohnFen 4y ago> Jobs are going to be lost, it's a fact. Even if it's just that junior who was learning code reviews and supporting basic development, that job will be around for maybe a year or two at the rate we are moving. And how is that not a disaster for those who are out of work?
- monkeynotes 4y agoI don't know. It sounds like a rather substantial problem for those affected.
- 4y ago
- marymkearney 4y agoJust want to say, I'm really enjoying your site, thanks for all the tuts, they're timely! Just decided to ditch Wordpress because my content is static. Wordpress is ridiculous bloat for that. With CSS grid and flexbox I can replicate easily in HTML. Only reason I adopted WP, ~ 2014, was to get a sidebar, and escape from the dreaded float. Comments are my only dynamic content, easily transferred to a forum. Anyway most appreciated, thank you.
- rikschennink 4y agoIt’s not the “it’ll build websites” part that worries me, it’s the “it’ll browse the web for people” part. When it starts doing that the relevancy of interactivity and design on the web starts plummeting as less and less humans will use it.
- ibn_khaldun 4y agoElaborate, please. This is a new take to me.
- rikschennink 4y agoIf there’s no humans browsing your webpage but it’s just AIs parsing it and using the forms, then why invest time, money, and resources in cool interactive components / subtle animations / responsiveness / etc. AI won’t care. User won’t see it.
- ibn_khaldun 4y agoI never thought of that. That would definitely put a spoil on common access to digital information in the long term. Perhaps it could even bifurcate the Web in the way that‘s been entertained before: a separate Web document environment and a separate Web application environment.
- anonzzzies 4y agoYou have a camp that keeps saying it will replace jobs (me, and it already does) and another that says it does not. If you want a good future, you don't care about either camps and use this as another tool. I don't like frontend, but now I don't need to ask someone else (and in that way it is replacing people we now mostly no longer need); I can just do it myself with chatgpt. Don't get me wrong, I know how to use html, css, react, vue etc but I hate doing it and find it all pretty much a waste of time; now chatgpt does it so I can do something else. I would say most people can do it with the stuff they don't want to do. Who cares if it's frontend, backend or whatever. Use it as a tool to gain an advantage; you will be ahead in many possible futures.
- adamredwoods 4y agoI look at the ChatGPT movement similar to the era of the switchboard operator (not specifically frontend coding, but rather the impact): https://www.history.com/news/rise-fall-telephone-switchboard-operators https://www.history.com/news/rise-fall-telephone-switchboard...
- ibn_khaldun 4y agoThis is an exciting time, but also topically exhausting. I can see how past generations of technological change may have taken being in the midst of it all for granted in between the hype and the volley of takes for and against the latest groundbreaking innovation of the time. Side note: I’m looking forward to a viable OpenAI competitor to come along and introduce their own chatbot…right now all of the speculation in the LLM area of AI are concentrated to the work of one company…what else can be out there?