Hacker News new | ask | show | jobs
by woojoo666 1447 days ago
It's in fact one of web devs strengths. Web dev cares about UX, so they design it to be accessible. A lot of these libraries and frameworks are about making complex patterns (like lazy loading) easy to do. The hard parts of web dev are still hard (optimizations, caching, architecture, etc), but the entry level is low and there is an abundance of great resources and tooling to help you as you ramp up in complexity.
1 comments

>(optimizations, caching, architecture, etc)

These things are trivial compared to what other fields of software engineering have to deal with (and other fields have to deal with all this stuff too along with extra harder stuff as well)

At the most advanced levels of pure web dev it is still FAR easier then other fields of programming. It only gets a bit harder at massive massive scale, which 99% of developers are shielded from through frameworks or the fact that the company itself doesn't deal with that level of scale.

> These things are trivial compared to what other fields of software engineering have to deal with (and other fields have to deal with all this stuff too along with extra harder stuff as well)

I disagree but I suspect an argument about difficulty will go nowhere until we have a proper way of measuring such things. But for reference, many Javascript tools and frameworks are made by FAANG teams (like React, Angular, Yarn, etc). If smart people are working on these problems, I would expect them to be hard.

>If smart people are working on these problems, I would expect them to be hard.

This isn't a logical statement. Who says smart people can't work on easy problems? Is there some rule that says smart people HAVE to work on smart problems? FAANGs definitely has a bunch of mundane problems to work on, and they have an over abundance of smart people to work on those problems.

>I suspect an argument about difficulty will go nowhere until we have a proper way of measuring such things.

Not everything has to be done through scientific measurement. If I punch someone in the face I don't need some scientific measurement to tell me he will be in pain? No. Anecdotal experience is enough here, and such "measurements" only serve to make things too pedantic.

The same applies to web development compared with other fields of software development. I think it's actually quite obvious. If you disagree, which you're free to do, then I would ask, do you have the relevant anecdotal experience? Have you worked on something outside of javascript or web development?

If not then I would say your experience and thoughts are biased. Among most people who have experience in software development outside of web, it's obvious them. If I'm wrong and you do have extensive experience outside of web then I'm actually interested in what you have to say because it's like hearing someone say that being punched in the face is not painful at all.

These aren't just random libraries that some FAANG dev worked on in their free time. These are company-released libraries and frameworks, that have full time employees working on them. If these companies are willing to pay FAANG engineer salaries for these employees, I expect it to be FAANG level work

As for anecdotal evidence, sure I have some, my professional experience is pretty evenly split between Java and Javascript, both backend and frontend. I feel like they are of equal difficulty, and to me this is obvious as well. It was always in my power to scale up the difficulty as high as I wanted. I have no doubt you won't be happy with this answer though

Absolutely, this is why everyone uses GWT. It's FAANG level work!
>These aren't just random libraries that some FAANG dev worked on in their free time. These are company-released libraries and frameworks, that have full time employees working on them. If these companies are willing to pay FAANG engineer salaries for these employees, I expect it to be FAANG level work

You seem to view FAANG as some school of superior humans. I can assure you the amount of variance in intelligence is quite high.

But let's assume everything you said was true. It doesn't change the fact that FAANG can put full time employees on EASY problems to produce "FAANG level" work. FAANG companies have a bunch of menial developer jobs that need doing. And if the only people in the building are geniuses then the geniuses are the only people available to clean the toilet. Yeah and you can probably expect them to build a robot (that no one will use) that automatically cleans the toilet.

Additionally I should mention that google in FAANG is a bit different in terms of web. They use C++ for most of their backend services for scale, so it's a step above typical web development. Although I'm very sure it's not too far away as their developers extensively use frameworks so the experience of development doesn't deviate too much from your traditional golang or java app.

>As for anecdotal evidence, sure I have some, my professional experience is pretty evenly split between Java and Javascript, both backend and frontend. I feel like they are of equal difficulty

A web dev includes both "backend" and "frontend" your statement shows that your experience is exclusively web dev and as I suspected very javascript focused. When I said web dev was easy, I wasn't talking about just front end. I was talking about everything from the front end all the way to the back end. This includes architecture, optimizing queries and all that jazz.

>I have no doubt you won't be happy with this answer though

No of course not. Don't attribute it to some predictive power you have about my bias. It's not, I stated plainly what was needed. I literally stated what it takes for me to be interested, and you literally stated that you had nothing. I'm pretty sure your opinion will change if you ever do a big software engineering career switch outside of web.

Well you did say you have experience with Java but you never said what you were doing with that Java. So if you're one of the few developers doing things outside of web with java then I stand corrected.

You are making a lot of assumptions. "Very javascript focused" I said evenly split between java and javascript, I don't know where you got that conclusion. And while the work I did for java was partially related to a web service (as practically everything is nowadays), it was focused on distributed data processing, and was rather far away from the actual service. I would not consider it part of web dev, and I suspect most companies would not categorize it as such either.

Your (incorrect) assumptions are a bit of a red flag. But honestly not too surprising given your earlier statements. However now that I've shared my professional experience, what about yours?

> At the most advanced levels of pure web dev

And what's that level exactly? Creating one's own markup language or browser engine from scratch?

Nah. That's crossing over to not being a web dev anymore if you're writing a browser engine in C++ and the renderer is in vulkan or opengl. If someones writing a rendering engine in javascript and html. Well, that person is basically what I'm talking about in my initial post; a person who thinks he's solving some problem but not.

It's blurry in this area. It's hard to fully define and arguing about the borders of this field is sort of pointless.

Take the definition to be fuzzy but to be referring to the Majority of Web Developers in general, and advanced web developers to be people that are harder to define.

It doesn't take a complicated renderer to make a usable browser. The very first web dev built his own browser in a few megabytes of C and created his own markup language (based on SGML). Everything we use today is based on that work. So I think it's a relevant marker for when the line between advanced web development and "regular" coding gets blurry.

>It's hard to fully define and arguing about the borders of this field is sort of pointless.

I don't think it's pointless at all. If advanced pure web dev is relatively less complicated ,even at the highest levels, then it's important to define where the line ends and begins. I might not have the answer, but I think it's an interesting question worth asking instead of leaving such definitions up to a God of the Gaps-like argument.

>It doesn't take a complicated renderer to make a usable browser.

99.9% of front end web developers and back-end as well won't even know how to begin to do this in C or C++. Nowadays to even build a trivial renderer in C or C++ using vulkan is not something someone can pull up a tutorial for and learn. Not like React or Vue or even some backend framework.

>I don't think it's pointless at all. If advanced pure web dev is relatively less complicated ,even at the highest levels, then it's important to define where the line ends and begins

You accomplish nothing with this other then to put one set of developers in a stupid bucket and another set in a smart bucket. These buckets are real but specifying and talking about the bucket only pisses people off. Additionally the line is very complicated and has several dimensions and in many areas the line is not a line, but a gradient.

You'd only be aware of of this dichotomy if you worked outside of web development (and not in datascience).