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.

Discussion (36)

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
DarkWiiPlayer
  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
larsonnn profile image
Lars Feldeisen

center div

Collapse
nitzanhen profile image
Nitzan Hen Author

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 Author

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
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 Author

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
ingosteinke profile image
Ingo Steinke • Edited on

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
darkwiiplayer profile image
DarkWiiPlayer

you don't need to know closures [...] to be a web developer

This is, technically speaking, true; but it also sends a very bad message when not taken with a whole heap of salt. Closures are an essential part of JavaScript.

If you don't know how closures work in JavaScript, then you simply won't be able to reason about any code that uses them. This is definitely a gap any web developer should aim to close.

And yes, there is a big difference between having mastered web development and being a web developer. People should stop gate-keeping the field by setting up arbitrary rules of who can and cannot be considered part of it.

Overall, people just need to stop caring who is or isn't part of a club, including ourselves. At the end of the day, what does it matter to me if anyone else considers me to be a "web developer™"? I don't get paid according to how many people on twitter agree that I fit my job descriptions. I get paid to write code.

Collapse
aitor profile image
dragonDScript • Edited on

I agree. A web dev is a person who writes web contents, and that's it! Even if you use Wordpress. But, I have to say, if you want to work as a full stack, Docker is vital. BUT if you don't know Docker, you can for sure be a web dev. I didn't know Docker, or as you say, CORS etc. for a long time.

Collapse
zakwillis profile image
zakwillis

The whole movement of technology is towards conforming. Once something new comes along which enough people think may add value to their CV, they jump onboard. These can become sunk-cost fallacies.

The truth is, you don't need any of this stuff. You can construct your solution, and then get experts to collaborate with you.

I am perfectly capable of doing advanced javascript "stuff" but focusing on the big picture works. Please don't believe we have to follow these invisible hoops.

Collapse
jeromesch profile image
jeromesch

Feel like its not smart to tell people that they don't need to learn things (while starting).
Docker (in my opinion) is too powerfull to just ignore it.

The learn-journey itself can be different, but we all need some good knowledge to do our jobs (especially in the long term)

Dont fear learning new things, we all do, always.

Collapse
nitzanhen profile image
Nitzan Hen Author

I absolutely agree with you!
Web development is all about perpetual learning, especially when starting out, and depending on the path you take there are different technologies that are cardinal for you to learn to be effective.

My point is, taking Docker as a good example, that it's without a doubt a powerful and important tool for web developers - but it's wrong and hurtful to label the developers who aren't familiar with it as non-developers. Every developer should sit down and learn Docker eventually, but we as a community should also respect those who haven't reached this point in their journey yet.

Collapse
phantas0s profile image
Matthieu Cneude • Edited on

If you don't know how to write an OS in Fortran with 4KB of RAM, you're not a real programmer.

Joke aside, I think the real problem is: development gets more and more complex because the systems we build get more and more complex. Follows a truck of tools we should know because they're on these nonsensical job offers, random technical tests to be sure you're a 10x developer (whatever it means), and others subjective mess which are never about empirical data. It's hell, especially for beginners.

The only thing we should ask to developers: the will to explore the problem space and iterate on solutions to find the simplest ones. The rest is details.

On the positive side: the field is young and we build it, so we should all write this type of article, to move the industry in the good path.

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 Author

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!

Collapse
larsonnn profile image
Lars Feldeisen • Edited on

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
jeremymonatte profile image
Mbenga

English is not my mother tongue, so I apologize if I make mistakes

I agree with the global idea of your post. What you need to be good at your job depends above all on your project. With all the no code tools available, you can do a great job and release a good project without even knowing any code concept. And i mean it's great, a bigger dev community is always better, so let's include and love everyone.

But even if you don't need to know those or those things to be a develloper, u'll need to learn them to be a better developper. Each concept can help you to get a better understanding, and a better global vision on your project. Understanding it better, and know more option will make you save time, get a stronger project.

Collapse
akashkava profile image
Akash Kava

Knowing helps in solving problem. Didn’t some guy said that if I have eight hours to cut the tree I will spend six hours sharpening the axe? Knowing is the sharpening. In other words you can say you can still cut the tree for eight hours.

If you don’t know, you can’t learn, if you don’t learn you can’t apply and you stay where you are.

Collapse
sreece52 profile image
Shawn Reece

Excellent article. It is easy for developers to have this mindset and gate keep. All of the concepts you touched should be explored and learned throughout a dev's career but by no means should be used to shame someone. Each subject is so incredibly dense as well. Each requiring a considerable time commitment to become comfortable and competent with. I have been developing since early 2016 and consider my knowledge with FP/OOP pretty strong but there are people in this world that can make me look completely incompetent. Point is that doesn't that make me any less of a developer.

Collapse
nitzanhen profile image
Nitzan Hen Author

Exactly!

Collapse
davido242 profile image
Monday David S.

Awesome!!

Collapse
protecstudio profile image
ProTec Games

My age is 15 and I know HTML, CSS, Scratch, basic JavaScript , basic Python
Am I also a web dev?🤔

Collapse
donalfonsnisnoni profile image
Don Alfons Nisnoni

Well... The main thing is simply solving problems IMHO

Collapse
hackmed profile image
Mohamed Essabir

thanks for the motivation bro. I appreciate it.

Collapse
nogiator profile image
nogiator

Awesome post. Gatekeepers always remind me of riff between pure bloods and those they consider not pure in Harry Potter. We don't all have to follow the same path to get to the same goal.

Collapse
captainyossarian profile image
yossarian

Have you ever been asked how JS works in non strict mode ? :D

Collapse
elias89 profile image
Elias

🤦‍♂️

Collapse
sparkalow profile image
Brian M.

Agreed. You also don't need twitter or dev.to either.

Collapse
lucaster profile image
lucaster • Edited on

Lol tell this to, like, all recruiters and companies on linkedin.
Btw you forgot jsp and sql.