4 ms·
I'm going to get downvoted into the the ground for this, but I think it has to be said: Front-end infrastructure and tools design unfortunately does not attrac
by ur-whale 6y ago
I'm going to get downvoted into the the ground for this, but I think it has to be said:
Front-end infrastructure and tools design unfortunately does not attract the cream of the CS graduate crop (and even less so Front-End design work).
For some reason, cream of the crop CS graduates usually veer towards systems, compiler, DB, back-end infra, language design, back-end, ML, etc ...
But not front-end.
The net result: the front-end ecosystem looks like the first BASIC program written by a 10 year-old who just got his first computer: it's a mess, it's unprincipled, it's grown organically, it's driven by fashion and immediate business needs, it's an unmaintainable tarpit, and it's increasingly a nightmare to build with.
I'm just ranting, I don't know what the solution is, but I gotta say: the WEB in 2021 is in a very sorry state.
[EDIT]: and if I try to think of a root cause for this state of affairs, I believe a lot of the blame can be attributed to Javascript, a language which sort of gave the "slapped together quickly because we need something now, damned be the warts" tone for the entire ecosystem.
- jayd16 6y agoEh, I think it has more to do with the fact the front end is the most visible to the product people. You get a lot of poor technical decisions to bend to the whims of the product design. Backend is usually free to do as they see fit.
- Sevii 6y agoYep, I decided to focus on backend to avoid dealing with requests to move pixels around arbitrarily.
- reader_mode 6y agoFrontend has the problem of being stuck with JavaScript and DOM, even in the modern iterations it's a patchwork structure built on top of a cesspool - no wonder everything smells like shit. Agreed about the tooling, npm and node were basically hacks everyone kept building on - there is zero architecture behind most of it.
- crazygringo 6y agoRegardless of whether or not your observation about CS graduates is true, I don't think that has anything to do with it. The difference is that with the backend, you have choice over what technologies to use. There's competition between languages and ecosystems, so a better more elegant one can replace a worse crufty one. But with the frontend, there is no competition. You have to use HTML, CSS, and (roughly) JavaScript. If, when the web had started, it had been based on some kind of primitive bytecode for rendering, that HTML+CSS+JavaScript compiled to, then we could have had language competition and better technologies today. But that's not what happened. Front-end is stuck with an old, crufty tech stack that simply can't ever be replaced. Back-end doesn't suffer from that.
- zozbot234 6y agoWhat's wrong with HTML+CSS as a rendering primitive? It's quite successful in decoupling semantics from presentation, which is a requirement for a platform that's as widespread and universal as the modern web. JS is a bit crufty, but you don't have to deal with it. You could write everything in some other source language and compile down to JS/WASM. (Even low-level languages like C/C++/D/Rust can support this via Emscripten.)
- crazygringo 6y agoThe article is almost entirely about what's wrong with HTML+CSS -- the frustration over whether to use tables, floats, flexbox, grid, or whatever will come next (as one example of many). HTML+CSS is a soup of overlapping technologies that has accumulated into this tangled ball of mismatched paradigms from nearly 30 years of "generational" improvements. I grew up with it from the beginning so I understand the reasoning behind it all. But to someone wanting to learn it from scratch, trying to decipher tables vs. floats vs. flexboxes vs. grids must seem like utter madness -- a layout language written by a truly insane person.
- craftinator 6y ago> If, when the web had started, it had been based on some kind of primitive bytecode for rendering Which is WASM! Well, sorta.
- cblconfederate 6y agoMost of the web runs php/jquery that's maintainable
- tarsinge 6y agoFor me it's kind of the opposite, the current state of front-end is clearly the result of bored overqualified CS graduates in overstaffed companies. I keep my sanity by working with people with a design background when doing front-end work because they usually rightly call out the unneeded complexity.
- xenihn 6y ago>For some reason, cream of the crop CS graduates usually veer towards systems, compiler, DB, back-end infra, language design, back-end, ML, etc ... >But not front-end. im going to go out on a limb and guess that it's because non-mobile front-end work sucks. few people who have options would have it as their top pick.
- nrjklk 6y agomuch of the front-end complexity is driven by product people and designers who want to jam as much interactivity and visuals into the UI as possible. Also complicated front-end layouts are necessary to make room for advertisements - the main source of revenue on the internet!
- deleted 6y ago[deleted]
- zeteo 6y ago>the front-end ecosystem looks like the first BASIC program written by a 10 year-old who just got his first computer: [...] it's driven by fashion and immediate business needs [...] I also miss the days when 10 year-olds wrote BASIC programs and had immediate business needs.
- mLuby 6y ago> I'm going to get downvoted into the the ground for this, but I think it has to be said: Ditto! All in good fun. 0:) > it's a mess, it's unprincipled, it's grown organically, it's driven by fashion and immediate business needs, it's an unmaintainable tarpit, and it's increasingly a nightmare to build with Can't tell if you're talking about front-end or back-end here; I've certainly seen both. > For some reason, cream of the crop CS graduates usually veer towards [back-end] Setting aside the implication that getting good grades in computer science is the same as being good at creating business value with software, I see two reasons: 1. academic inertia: old professors teach what they know (e.g. lisp) regardless of how useful it is in the industry. I bet a rockstar professor who loved front-end/UX would find the cream of their crop biased toward front-end work. 2. this very bias you're perpetuating: where a bright student looks into the world, sees front-end work derided, and so steers clear of it (and maybe even starts parroting this bias of those they respect, as youngsters so often do). I don't know what the solution is, but it's definitely not whining. 0:)
- yowlingcat 6y agoI dunno, this is the kind of opinion that seems trivially easy enough to falsify that I have to wonder about the real rationale behind it. If you take a look at the labor demand for skilled front-end engineering (https://www.levels.fyi/ https://www.levels.fyi/), it's hard to come to any other conclusion than that major companies pay a lot of money for top talent. So if major companies pay a lot of money for that talent, either they're making profit from a very tricky coordination of skilled labor, or you're pulling an argument out of an opinion that is at odds with the reality of the industry. Why do that? It could be that you're not familiar with how skilled frontend practitioners operate in large companies. Maybe that's why you're extrapolating (incorrectly in my opinion) that a) the web frontend ecosystem is trash and b) that is evidenced by cream of the crop CS graduates (???) choosing backend over frontend. My question is, what does that have to do with the reality of frontend today? Maybe it once was useful to consider why CS graduates gravitating towards one end or the other, but that division seems a little old in the tooth now. Good CS graduates these days have full-stack chops, and don't have too much trouble crossing devops, frontend, backend -- anything necessary to get the job done. So with that said, it's hard to consider your final conclusion anything than a rant about your own difficulties and preconceptions about frontend web development than anything: > The net result: the front-end ecosystem looks like the first BASIC program written by a 10 year-old who just got his first computer: it's a mess, it's unprincipled, it's grown organically, it's driven by fashion and immediate business needs, it's an unmaintainable tarpit, and it's increasingly a nightmare to build with. It's true that there's a lot of the front-end ecosystem that is super messy. But there's a lot of it which works a lot better in comparison to what was available a decade ago. Moreover, it's intrinsically gotten more complicated as mobile compute has gotten more powerful. Mobile has not just become a thing but achieved critical mass on par with desktop. There are enormously lucrative challenges involved with front-end these days, and who knows how much headroom is left in the industry? The modern phone's capabilities today are so far beyond what was possible even four years ago, that it's hard to consider these kind of rants anything beyond a lack of imagination. How is it that the largest megacap companies of our time are using better frontend experiences it to accomplish increasingly more revenue efficient activities than they ever have before? How is it that newly fledged startups are using the leverage of good frontend experiences to grow to $1B faster than they ever have before? Is it possible that UX and psychology account for far more of technology's value than you may be considering? Just a thought.
- qudat 6y agoI see it as the complete opposite. Because of the unique challenges that face front end development it has attracted some extremely talented people. I wrote my thoughts about this in a recent article: https://erock.io/2021/03/27/my-love-letter-to-front-end-web-development.html https://erock.io/2021/03/27/my-love-letter-to-front-end-web-...