"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 ...
For further actions, you may consider blocking this person and/or reporting abuse
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.
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.
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.
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.
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!
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.
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.
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.
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.
Exactly!
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.
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.
My age is 15 and I know HTML, CSS, Scratch, basic JavaScript , basic Python
Am I also a web dev?🤔
thanks for the motivation bro. I appreciate it.
Awesome!!
Well... The main thing is simply solving problems IMHO
Have you ever been asked how JS works in non strict mode ? :D
Agreed. You also don't need twitter or dev.to either.
🤦♂️
Lol tell this to, like, all recruiters and companies on linkedin.
Btw you forgot jsp and sql.