You DON'T need these to be a web dev
Tags: webdev, beginners, javascript, programming
Published: 2021-12-01 00:18:43

*"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](https://stackoverflow.com/questions/111102/how-do-javascript-closures-work), [the event loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/), [hoisting](https://www.digitalocean.com/community/tutorials/understanding-hoisting-in-javascript), etc. to be a web developer**. The same goes for non-niche concepts & technologies - you can be a good dev without knowing [Docker](https://docs.docker.com/get-started/overview/), [FP](https://www.infoworld.com/article/3613715/what-is-functional-programming-a-practical-guide.html)/[OOP](https://searchapparchitecture.techtarget.com/definition/object-oriented-programming-OOP) or [cloud computing](https://azure.microsoft.com/en-us/overview/what-is-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](https://www.youtube.com/watch?v=4KHiSt0oLJ0), [XSS](https://owasp.org/www-community/attacks/xss/) and [Virtual DOM](https://reactjs.org/docs/faq-internals.html) 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.