6 ms·
I'm currently teaching my brother web development and I guarantee if I were to show him this, he'd just quit. This is way too much information. All a beginner
by sudofail 8y ago
I'm currently teaching my brother web development and I guarantee if I were to show him this, he'd just quit. This is way too much information.
All a beginner needs to know is JS and the basics of HTML/CSS/SQL. If they have a mentor, the mentor should draw out and explain how frontend, backend and databases relate, and the general lifecycle of a request to a webpage.
That's all you really need to start building stuff. The next thing will probably be a basic understanding of DNS and how requests get routed.
Anything much more than that is overkill.
- protonimitate 8y agoIt's a good reference resource to have. It's great to see what X technology is, and how it relates to everything else. I would agree that handing this to a beginner would be over kill. This is probably best suited for people who are in the 'I know the basics, but want to know what this technology-of-the-month is and how it fits in to what I already know' stage.
- jaredcwhite 8y agoI would posit that it's a valuable skill at this point in time to intentionally not seek out the flavor-of-the-month web technology. I'm of the opinion it's good to wait a year or two before adopting any new framework or technique, because it seems almost all of them are passé within that timeframe. (Case in point: BOY am I glad I never bothered to learn Angular 1!)
- JChase2 8y agoYa, I've got a CS degree and I'm slowly learning web dev. Learning JS is really nice, but I feel like I need to know so many frameworks and other things, not to mention algorithms, to land an actually decent job. Idk how accurate this is but most requirements on job sites seem fairly thorough.
- idontgetit12 8y agoMaybe your brother needs to learn how to take things one step at a time if this would make him quit at first glance. I don't understand why it's a bad thing to have a consolidated source of information like this, I would have loved to have a detailed roadmap as a beginner. These graphics lays things out very clearly and obviously you don't need to rush through the steps.
- sudofail 8y agoYou're right, it is valuable to have a resource like this. I guess I was taking issue with the title of the submission. I think something like this is great to introduce to someone who already has begun to get their bearings straight. But if a beginner followed this and spent time learning about "required" skills upfront, like Licenses, or Encodings, or Algorithms, it's just going to blow them off track. Once they are reasonably experienced and have started to get the lay of the land, something like this can serve as a good mind map.
- idontgetit12 8y agoAgreed, the "required" skills isn't in a great spot and isn't properly labeled. And beyond "learn a language" (looking at the back-end part), it's really not for beginners. That being said, if you have some familiarity with programming but not the state of tooling/environment/etc in modern web dev this should be invaluable.
- MuffinFlavored 8y agoMentioning SQL means backend which implies they need to understand that a network connection is incoming to a server bound on a port with a method, URL, list of cookies/headers, etc. with the purpose of serving a request with a response CORS potentially might be worth mentioning to get a beginner familiar with security (why can't I just scrape Facebook cookies from my personal website), yada yada. I think that's kind of still high level to hold limited attention spans without overwhelming but deep enough to prove that there's a bit more going on beneath the scenes. I feel most new web developers in those jumpstart "become a programmer in 60 days" classes probably know a bit too much about React and probably not enough about the sockets/IPs/networking serving the static assets. Probably not a requirement on day one, but I bet it might make their first "I have to debug this all the way through the stack" problem less painful. All hypothetical, at least.
- sudofail 8y agoI completely agree. The basics of networking, sockets, and the like are probably better taught before frameworks even come into the picture. To me, the idea is to get a shallow understanding of everything involved from hitting a page, submitting some data, and having it be displayed back to you. Once you have that picture in your mind, adding things like frameworks, git, docker, etc, will be easier for the person to grasp.
- wasted_intel 8y agoWhile I agree that knowledge of what's below those abstractions is important, you also need to cater to your audience. Getting something working on the screen in front of you is exciting for new folks; lining up little victories with increasing complexity feels like a path that would be more enjoyable to follow. As long as the person maintains a curiosity about the underlying technology, they can work down into the lower layers as their interest dictates.
- MuffinFlavored 8y agoI think they might be overstimulated. Hello, world from a compiler in a terminal is a good start. You should show them how many lines of code a web browser is and say "here is what it takes to get <p>Hello!</p> on the page" lol Scare everybody away :)
- turingspiritfly 8y agoI think there hardly is any field out there where once the roadmap is mapped, the roadmap doesn't look long and convoluted. Overcoming being overwhelmed is something your relative should get a grip of from the get go, or atleast be aware of the expectation that one will likely be overwhelmed at every step. That and mapping out of minimal reqs to get started. Of course I understand the person is a beginner but the advice applies to every field
- whytaka 8y agoI would also add a few unix commands. Just enough to get a server running to deploy a website. Since the early 2000s, I'd been working with HTML/CSS, with a touch of JS and making visually rich, pixel perfect websites. Then a few years later, I taught myself Python and came to understand how programming works and my skills transferred over to JS as well. It wasn't until many years after that I finally learned some unix command lines that I was able to bring together my skills to make any use out of them.
- airstrike 8y agoAgreed. I should say installing Ubuntu way back in 2007 really helped me discover a whole world of CLIs that I never knew to exist in my Windows / Notepad++ comfort zone back then
- driverdan 8y ago> All a beginner needs to know is JS and the basics of HTML/CSS/SQL. If they're going to dabble on their own stuff for fun sure, that's all you need. If you're trying to get a job that won't cut it.
- darpa_escapee 8y agoThis is the crux of it. In my experience, the roadmap in the OP accurately reflects the topology and expectations of today's hiring landscape.
- huebnerob 8y agoI don't think the author is suggesting that you need to 100% complete this entire prescriptive road map to start working as a web developer. This is more an illustration of the journey that a developer might take from zero knowledge to roughly mid-level. If you look at the key, you'll see that a lot of boxes are actually just his 'suggested options', not mandatory requirements.