Someone else mentioned SPAs. I 100% guarantee that no user in the world ever wished for their “back” button not to work as they expected.
Calling themselves “full stack engineers” is another symptom of this.
Someone else mentioned SPAs. I 100% guarantee that no user in the world ever wished for their “back” button not to work as they expected.
Calling themselves “full stack engineers” is another symptom of this.
I'm playing contrarian here a bit, so excuse the unqualified language. It seems these days anyone who isn't a webdev in some capacity* is probably a dinosaur, inflexible, less well-paid, lacks understanding of complex distributed systems, and in any case is irrelevant in the modern conversations around development. Might makes right, after all, there are vastly more webdevs than non-webdevs and the most valuable software companies make their money from distributed systems interfaced with via web browsers... The notable exception is probably the group of native mobile application developers, but that's only become more and more webdev-like since both the iPhone and Android took over, rather than the reverse.
* Even being back-end only for a back-end whose only front-end is web-based. Yeah I am conflating webdev beyond the post's qualified "front-end developer". But the back-end webdev guys get up to the same overly complicated architecture-astronaut crap we like to complain about the front-end webdev guys getting up to. Don't let me go off on J2EE/JavaEE/Spring.
And the amount of system and infra software that is needed to even let the web exist.
An "application" is not just a cute GUI that a consumer or an office worker can interact with. Nor is the interface the most complicated parts in some systems. I found your projection and generalization as ridiculous as if you said: even the EE needs to master the web technology, and they are not very valuable if they don't.
Hey, they are web devs of various levels. It is ok to be one, especially a good one. It is also ok to be, I don't know, a compiler expert, a kernel hacker, a baseband FW engineer?
The thing is: you often forget about what works pretty much correctly and silently, even when you use it all-day long... :P
Well, that sure is an arrogant way to present stereotypes as fact. At first, I read this as satire.
You can follow the history of web development and see exactly why the current stack is as it is. It's people building solutions to problems.
For example, nobody thought "I should create a front-end build process to impress my peers!". What happened instead is that repetitive tasks were programmed out of existence.
The web industry is young, you can trace every single steps of it without much research. To claim something as ridiculous as "responded by making the simple things they do monstrously complicated to try to prove something to the C++ guys" is silly at best.
Sure, this may be accurate for some of the junior devs. you worked with in your career. However, this is not representative of the industry as a whole.
It most definitely doesn't seem so. People build multiple solutions to nonexistent problems, or problems that are only relevant to google (which classifies them as nonexistent problems for everyone else). Then they push those solutions where they don't fit (e.g. SPAs for blogs)
I have lived this history of web development. I remember when CGI was new and exciting. Now I see modern sites using literally thousands of times the memory and CPU to struggle to do things that were trivial even back in the 90s on a 486 with 8Mb RAM.
A typical document, say a news story might be 2kb-5kb in size. Why does the page need 5Mb of JS to deliver and display it?
So I am 100% confident in my assertion that the web as it is today is massively and needlessly over complicated.
The quality front-end developers are not the ones who make small blogs or small corner store websites. It's agency developers working on huge projects. Those projects have big budgets on optimisation and page speed.
Switch your gmail account to Basic HTML (https://support.google.com/mail/answer/15049) and see how the SPA version isn't any slower but in fact much more pleasant to use.
"The web" isn't an entity. It is a network of websites and applications. Some of them are slow and over-engineered and others are bloated excuses to display adverts. I can assure you that every single front-end developer I have worked with understood those issues and pushed for the right technologies.
I mean, you only need check out all the vulnerabilities in said C++ software for verification of that fact :)
I think what you're trying to say is that you don't consider 'webdevs' to be "real" developers.
I however disagree with the fact that I'm not a developer, and although I do it professionally I have little interest in the web outside of work.
Ended up just linking to it directly to the jquery and bootstrap CDN...
It's been a long time since I did any kind of major front end work. I think it will stay that way. I don't do enough work with it long enough to really "get it" and retain it.
Pahahahahahaha. There is no group in our industry with a bigger chip on their collective shoulder than "C++ guys".
Well, a lot of them aren’t - until recently, a lot of front-end developers were actually graphic artists who were more skilled in photoshop than software development (not to knock that skill, it’s a useful one!). It doesn’t help that 23-year-old MBA “unicorn startup” founders have bought into this pipe dream model of software development where a couple of eggheads in the unlit server room develop algorithms that the $10/hour mcweb-developers cut-and-paste into beautiful templates.
This is funny because C++ used to be considered a shining example of this. Software is a flat circle.
This opinion invalidates the rest of your post. If you lack a fundamental understanding what people are building obviously it seems overcomplicated.
Hi. I have a fundamental understanding of what people are building. Most of it's overcomplicated and the "web app or not?" decision's very often made due to hype, résumé padding, or making a project look more impressive to other internal folks. Some of it's justifiable as a "webapp" is truly a decent choice but still usually performs worse than is reasonable, indicating overcomplication under the hood—look at various Google "webapp"s performance dropping steadily over the years as features remain similar or drop off, and that's not even comparing them to older non-webapp incarnations which are universally much snappier (though usually missing some features, to be fair).
I think a lot of the cost has to do with the underlying tech not really being that great for what it's being made to do, in concert with everyone feeling the need to try to be special in even the tinies little looks and behaviors. It's also where a lot of the audience is so will tend to experience oddities like this more exaggeratedly than other fields.
Your manager or project owner or whoever says "we want a webapp" are you gonna stick your neck out and argue against it? "But it's what google's doing", "but Gartner", but whatever. It's cheaper! OK, sure, here's my bill. It's absolutely follow-the-leader behavior, damn the cliff. And it works well enough that it does get the job done, eventually. It's just not necessarily doing the users any favors, or your bottom line.
Decision makers do strange stuff all the time because they think it makes them look better—and, to the extent and in the way they expect it to, they are probably right more often than not. This is just one example. Whole world's run by guesswork, personal quirks of taste or incentive, and blame-avoidance (follow the trends), more than anything else, from what I've seen. It's just people, running around doing funny people stuff, hoping no-one calls their bluff.
[EDIT] actually, look at Java Applets and, more so, Flash. Folks hated the way lots of those were used, but the worst and least-justifiable uses of them happened anyway, for a long time, because managers wanted the bling. That was, seriously, it. And developers went "oh sweet I can add Flash 5 and Actionscript to my résumé, I've been wanting to play with that". That's exactly what happened then. This is exactly the same thing, just much bigger. And in both cases sometimes the tech was used well.
The question is: what are you going to argue for instead? Not using the web at all is a non-starter, especially in the retail space where you'd get killed by a web-based competitor.
I don't know what your experience is, but historically my bosses haven't given half of a damn what tech stack I use. They care that I deliver on what I promise. Hypothetically, I could still be using PHP/HTML/jQuery but there are a great many reasons I don't and not one of them has to do with padding my resume.
[EDIT] incidentally I notice you keep arguing against things I've not actually written.
> ...improve UX, performance, maintainability, and development cost.
I don't buy it at all. As mentioned, I've done both professionally and there are reasons I keep picking React (or a hybrid ala Next) that don't involve a bigger paycheck or "peacocking".
> It's because I've been trying very hard to understand what your contention is.
I appreciate it. Seriously!
Bootcamps are something that grows out of this desire to pad your resume with newer tech.
I build SPAs as part of my job. Good SPAs do not break the back button. Insisting they do is silly.
It is super common to see "Don't use your back button" messages after placing orders on e-commerce websites.
On the other hand, most frontend developers writing SPAs just use react-router or something like that (instead of reinventing the wheel) and it just works.
Yet there was a post about how specifically to do that on dev.to because their users couldn't tell their modal was a modal, and the solution they came up with was to hijack the back button.
Ah, also, not sure if you were joking, but I don't think using JavaScript (TypeScript, that is) in both frontend and backend is a bad idea. Having a shared (domain) model can be a real boon. Admittedly, JavaScript lacks a few things that is offered by Java and the like that makes not yet fit for larger applications though (say DI, modularization and so on).
100% agree with this. From my experience good front end developers are much harder to come by in silicon valley. We use a general coding interview process, and really struggle finding experienced front end developers because its a hard position.
When I have to touch javascript, I break everything, beg for help, then run back into my enterprise java code. This elitist backend attitude to me seems to stem from insecurities of us nerds. I personally feel inferior to front end developers, the ones I know are freaking magicians.
Some SPAs are cool. Easyeda.com is pretty cool.
But also: storing information about a page in the URL is pretty cool too. It makes it possible to link to the page, for instance!
That is patently false. What happened is product managers wanted their websites to feel cooler to their customers, and work more like native apps. Developers then respond to the requests from the product managers. For example, charts that refresh data without a page reload when you click a button. The requirements get more and more complex, and the web was never meant to be an application platform. So you end up with what we have today.
I think people who don’t understand the web talk it down to make themselves feel superior.
Knowing as little as you do about SPAs, why do you think you would be able to understand all the intricacies of the problems they solve. Don't claim that people
> make the web complicated because it made them feel cooler developing it
just because you don't understand the issues.
It would be like me claiming that pro golfers wear golf shoes "just to look cool", when in reality, golf shoes probably offer some advantage that I'm just not aware of.