DEV Community

Discussion on: What languages, frameworks, and libraries would you put on a front-end developer's 2020 "must learn" list?

Collapse
 
jamesrweb profile image
James Robb • Edited

Every developer working on the frontend should have the fundamentals of all these topics in some form or another by the time they hit the mid-level generally speaking.

Developers who come from a wholly JS or perhaps a backend role who complain about HTML, CSS and JS kind of irk me because usually it is a misunderstanding of how they work and the developers fault, not the language, which is fine since we all make mistakes but the fact that these languages are and for a long time have been ridiculed in many cases as "not real languages", etc gives an eminence of superiority to those who do the ridiculing and perpetuates a cycle of bad coding practices and repeated complaints over things that aren't that hard if you have the foundations in place using well defined best practices on the frontend.

Here is a highly recommended article on a related topic about the great divide among frontend developers.

Accessibility is a basic requirement by law in most countries and yet is fundamentally ignored by so many developers I have come across in almost 8 years of being a developer. Lately awareness, etc, is bringing attention to why that is a fallacy but for now it is a hugely prevalent issue in companies and projects large and small. Take the Web AIM 1,000,000 survey for example which shows the scale of problems, even topics like aria which are meant to make things better by giving developers a way to provide correct semantics to users with access needs are actually being misused and misunderstood so much that actually the results show that more errors are being made, not less! This is a travesty.

Laws, guidelines, standards, best-practices and frontend basics are all being regularly ignored and people are being left out and left behind because of it.

Are we not professionals? Should we not be learning the basics and building upon them instead of making arbitrary skill-maps? sure, use react but what benefit does it have? angular, sure but the same question... all of these ideas and comments are arbitrary and so opinionated even if not intended to be. Validation, value creation and reasoned steps are how technologies should be chosen on a context by context basis. Not personal non-objective ideation. Here is an interesting set of points and a talk about demanding professionalism in tech.

Learn HTML, CSS, JS, A11Y, testing and design fundamentals before anything else. Frameworks are irrelevant if you don't understand what they are built upon.

Sorry for the rant, I just feel it is so, so important to advocate for the fundamentals because they are often missing from many companies, people and places I have seen and known to date. We need to take things a bit more seriously and like any other profession, take a step back, get the fundamentals right and then use the frameworks and so on that abstract for us. If a mid-level to senior-level frontend developer (and this as happened before) tells me that they are very experienced with Angular and when I see the markup output being wholly against best practice and semantics totally ignored... I wonder how they can be a self-respecting frontend-developer, I really do. Same with CSS, something as simple as vertical alignment or some layout thing will eventually end in the ever-hilarious:

peter griffin css gif

But should that be the case? Layout is a css fundamental and just isn't that hard once you get the fundamentals down. As peter himself would say, professionals lacking fundamentals are what really grind my gears and naturally all of this is aimed at non-beginner devs.

peter griffin grinds my gears meme

Some notes on other peoples comments though since the post was advising for "someone getting into front-end development in 2020":

  • WASM is barely used so why learn it when getting into frontend?
  • TypeScript for frontend without advising to learn NPM/Node/Babel/etc first?
  • Rust? I mean sure you can do it and convert to WASM or use something like rocket but the community is small and the language is not built for the job, rust doesn't even have a native http module... you can build something akin to that as the docs show but can you imagine anyone doing that?
  • etc

Let's be sane about our recommendations and expand more than just a few points, not meaning to offend anyone, honestly, but hopefully those points make sense.

Collapse
 
helderberto profile image
Helder Burato Berto

Amazing reply!
I totally agree with your comment, thanks for that.