DEV Community

Cover image for You DON'T need these to be a web dev
Nitzan Hen
Nitzan Hen

Posted on

You DON'T need these to be a web dev

"If you don't know all of these, don't call yourself a web developer", followed by some list of web dev related terms. Have you encountered one of these posts before? I come across them every once in a while on social media.

These sorts of divisive claims bring about nothing but toxicity to our community, and only alienate the junior developers who are new to it. Especially for the profit of some traffic on Twitter or elsewhere, it's despicable.

They paint a completely wrong image of the web dev scene, too - being a web developer is much more about the perpetual process of self-improving, learning new tools & technologies and experimenting with methods to combine them in the best way, rather than knowing some constant list of terms (which are often occasionally useful at best). And, built on top of the open-source industry, the web dev industry is one of the most welcoming industries out there, to programmers of any caliber.

So, to be perfectly clear - you don't need to know closures, the event loop, hoisting, etc. to be a web developer. The same goes for non-niche concepts & technologies - you can be a good dev without knowing Docker, FP/OOP or cloud computing, for example. Knowledge is always good to have, so if you're not familiar with them you should aspire to learn them sometime, but you can also be a damn good developer without them.

I think my personal journey is a good indication to this point: I was met with web development close to three years ago, when I began my mandatory service; beforehand I knew some Java, from school and from coding as a hobby. The "tutoring" I received consisted of one half-baked, 30 minute lesson about the basics of HTML, and my "training period" consisted of watching some YouTube tutorials for close to two weeks, after which I was already being assigned tasks (that I was obviously not ready for).
Virtually all of my knowledge and experience was gained on-the-job, much of it through ad-hoc googling, and it was months before I actually went back and strengthened my knowledge on the fundamentals. And, for an even longer time, concepts like CORS, XSS and Virtual DOM remained unclear to me.

It's not like I'm at the top of the industry today (still working on it!) but I've definitely gained a lot of experience and knowledge as a web developer, and have created some awesome projects along the way. And you can too! don't let anybody deter you from it.

My bottom line is - don't let any random list of technical terms discredit your journey as a developer. Be proud of what you know, and be curious in what you don't.

And, perhaps most importantly, be a good person; see people, not their labels, and invest energy in helping them improve instead of discouraging them from doing so.

Top comments (37)

Collapse
 
jamesthomson profile image
James Thomson

These sorts of divisive claims bring about nothing but toxicity to our community, and only alienate the junior developers who are new to it. Especially for the profit of some traffic on Twitter or elsewhere, it's despicable.

I know exactly the Tweet (and a good few others) you're referring to and I couldn't agree more with this statement. For some reason, at least lately, these tweets are coming from so called "experts" peddling their online courses. I really hope it doesn't affect any new comers to the field as this kind of gate keeping is toxic, discouraging, and completely unnecessary.

Collapse
 
rexgalilae profile image
RexGalilae

I know what tweet you're thinking of as well. It made quite a lot of stir recently and popular devs like Emma Bostian also mocked it

Collapse
 
eleven83 profile image
Ryan Hoffman

Just saw the same thing. What a shame that this stuff gets put out there as "NEED" or "MUST"...

Collapse
 
lucaster profile image
lucaster

Yeah... this reminds me of some pundit who has been claiming Clojure is the best language ever... And who also happens to have published a rehashed TDD course with Clojure on his website

Collapse
 
cjsmocjsmo profile image
Charlie J Smotherman

Everything in programming is optional to include the tools you use.

There are NO hard set rules only best practices which are also optional.

These are the things you absolutely have to have to do web dev

  1. A text editor (your choice)
  2. A web browser (your choice)

Everything else is up to you.

My suggestion to new web devs is write code. Vids are good but you will learn the most by actually writing code.

Happy Coding

Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️
  1. You can "program" with graphical building blocks and I'm sure there's some environment out there that outputs javascript.
  2. A big part of the web is APIs, which you don't need a web-browser to test.

So the actual things you need to be a web dev are: nothing.

There is no hard requirements.

😁

Collapse
 
_genjudev profile image
Larson

center div

Collapse
 
nitzanhen profile image
Nitzan Hen

Just to clarify - you should learn all of these technologies (and others!), eventually; reiterating the point I made above, being a web developer is about the perpetual process of self-improving, learning new tools & technologies - popular as well as niche ones - and experimenting with methods to combine them in the best way.

Always aspire to learn more and improve further!

However, if you're just starting out, or still haven't learned the newest or most advanced tools yet - that's just fine!! You're just as much a member of the web dev community.

Collapse
 
hassnainabass profile image
Hassnain Abass

This is dangerous and hard coded bugged concept.
Should never guide a person like this.
especially FP/OOP, why would a person not learn these concepts. I feel like you had some bad experience while learning programming

Collapse
 
nitzanhen profile image
Nitzan Hen

Please read the post!

Knowledge is always good to have, so if you're not familiar with them you should aspire to learn them sometime

My bottom line is - don't let any random list of technical terms discredit your journey as a developer. Be proud of what you know, and be curious in what you don't

I would never tell anyone not to learn OOP, FP or any other tool or concept; in fact, I've introduced a good few people to both of those! They (and other mentioned examples) are important and useful for developers as a whole.

My main purpose with this post is to encourage junior devs who might come across these claims; they belong in the community even if they don't have a strong grasp of these concepts.

Collapse
 
ingosteinke profile image
Ingo Steinke, web developer • Edited

Well said, totally agree! Good article especially here on dev.to, as I like dev.to for its welcoming and open-minded culture, opposed to StackOverflow's elitist gatekeeping on one hand, and "Tech Twitter's" total lack of relevance and quality on the other.

I don't think there is a "journey" where everyone would have to learn Docker eventually.

Learn HTML, CSS, and JavaScript, and learn to use the tools that help you do your work.
Learn the tools required in your specific project setup. Some companies have established DevOps pipelines with Docker, GitHub, Jenkins, Kubernetes, whatsoever. Others have been developing for years without even using git.

If you wrote the article 20 years ago, we would discuss if it's necessary to know Adobe Flash to be a proper web developer. Tools come and go. Languages and frameworks come and go. Different people have different journeys / learning paths.

Collapse
 
scottshipp profile image
scottshipp

👏 Completely agree. Consider this: there is more "legacy" code than "modern" code by virtue of there having been far more time for legacy code to get written. Whether you define "modern" code as code written in the past three, five, seven, or ten years, there's still more years before that where old applications were being written.

Second, most code is written to address solved problems in business: a web form to collect data from an interested sales prospect, a report generated from some internal SQL database, a customer support case management app. In the overall developer population, only a percentage is working on AI, ML, augmented reality, cryptocurrency, etc. Even "cloud" ...I saw data recently from large corporations that showed that barely half of code is in the cloud. The rest is running on a server in a data center the old way.

Trends are just trends and don't reflect what most devs are doing which is getting valuable stuff done with what's available at hand. :)

Collapse
 
nitzanhen profile image
Nitzan Hen

If "know" was changed to "learn", I would have a problem with it too 😂

I guess that because this difference is (visually!) small, some people missed it; however as you've said it's a very important difference!

Thanks!

Collapse
 
arodionova profile image
Aleksandra Rodionova

I should have read it like 7 years ago, it would help me to believe much earlier, that I am a real developer, not just a layout maker with background in design knowing nothing about real programming 😂

Collapse
 
nitzanhen profile image
Nitzan Hen

Exactly!
Funnily enough, my weakest skill in development (front-end dev, at least) is design, and would give so much to be talented in this area as some of the designers out there! I think many devs feel the same way, so I'd consider your design skills as a strong (and not common) aspect of your dev skills, not the opposite!

Collapse
 
_genjudev profile image
Larson • Edited

When I’m hiring a web developer it would be nice to know certain stuff. I will pay for a professional developer not some developer writing software for fun.

Yes you are an developer when you first line of code is written. would you work for me when not knowing basic stuff. No.

And we have to much developers especially in the web field that are not well educated. Somewhere we need to draw a line. When you work for money it absolutely minimum to know the event loop when writing in JavaScript. It’s minimum to know OOP or FP. You don’t need to be the expert. you should be good enough to work with it.

Collapse
 
iakovosvo profile image
iakovosvo

Hey Nitzan, I am only going to touch on the subject of closures here. While I do agree with some of the things you wrote, I kind of disagree on closures. This is a fundamental JS concept and not some fancy new tech. You can sure start doing web development without having a solid grasp of the concept but that will eventually come and bite you in the a**s. At some point in your career you will have to learn about them so why not start with some strong JS foundations?

As a self taught developer closures really confused me when I started learning JS and the classic counter example you might stumble across certain books or articles didn’t really help. I think the biggest problem beginners face when someone tells them that they NEED to know about all these concepts is not explaining WHY and what are some practical applications for them.

Collapse
 
nitzanhen profile image
Nitzan Hen

A fair point!
Foundations are super important, and especially web development - where so many technologies eventually boil down to abstractions over JS, HTML and CSS - it's critical to have a firm grasp of them.
I think the event loop in Node.js is another good example for this: you could get around without understanding it for a while, but eventually you'll come across a bug that you simply cannot figure out without it (and not knowing what's causing the bug would make fixing it much much more difficult!)

In retrospect, perhaps it was better if I'd explicitly said this somewhere in the post itself. On the other hand, the importance of foundations deserves a whole piece of its own, so I might just do that! 😂

As for your last point, you're completely correct, and I'd like to add that it also applies for some of the most popular tools out there - some of them are so popular that devs learn them (and, in turn, use them) without the understanding of why (and when) they are important. And typically they are important, but it's just as important to know why and when!