"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)
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.
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
Just saw the same thing. What a shame that this stuff gets put out there as "NEED" or "MUST"...
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
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
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
So the actual things you need to be a web dev are: nothing.
There is no hard requirements.
π
center div
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.
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
Please read the post!
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.
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 π
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!
π 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. :)
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!
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.
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.
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.
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.