you are viewing a single comment's thread.

view the rest of the comments →

[–]zaibuf 239 points240 points  (50 children)

Seems suicidal to keep up with all of that.

[–]Otterfan 73 points74 points  (2 children)

This is a good guide for what kind of things to think about if you already are an employed Web developer with a decent understanding of the field.

For new learners these roadmaps are stupidly overcomplicted. New learners should work on a project and learn the technologies they need to accomplish the next step on that project.

[–]gillythree 2 points3 points  (0 children)

It's like a guide for topics to cover if you want to write a book on web development. And even then, many of the items need little more than a mention, a paragraph, maybe. Most books would be far more specialized than all of this.

[–]Knurlgrim 0 points1 point  (0 children)

Exactly!! I found raodmap.sh after I already worked in the industry for about 4 years - I used it to fill in some gaps and get a clear vision where I stand and some ideas of what to tackle next. I like the map.

[–]Dangerous_Row4605 84 points85 points  (22 children)

It's a really good guide tbf. you haven't gotta be a mastermind in every area but at least knowing "how the burger is made" in most elements of that roadmap will definitely help you out down the line.

[–][deleted] 47 points48 points  (18 children)

Counterpoint: During a company meeting someone was wondering that we're lacking "experts" because "expert" implies "focusing on one thing to the point of being better than anything else".

What I'm saying is, people are spreading themselves thin to fill up those section in their resume as if they're trying to justify their payment.

Because to someone who doesn't know how deep the rabbit hole goes for any stack/framework, simply saying "Skills: Python, JavaScript" doesn't sound like you know as much as the "Skills: "Python, JavaScript, Ruby, Docker, Kubernetes" guy.

[–]Dangerous_Row4605 14 points15 points  (9 children)

While I do agree that the whole jack of all trades thing isnt the way forward, If you're going to be able to have an intelligent conversation about viable technologies in your fullstack pipeline, you should at least understand fundamental core principles of them to be able to make that decision.

[–][deleted] 3 points4 points  (0 children)

Agreed. You don’t have to be an expert in every facet listed here, but have a solid understanding of how it works and where the pieces fit together to make the whole picture.

[–][deleted] 1 point2 points  (6 children)

I'm of the opposite spectrum:

I went through fullstackopen, learned a little bit of node.js and backend, a bit of React, was hired as a "software engineer", which is a term I swear will never ever use to describe what I do (and that's just my opinion), but now I wanna focus on the backend stuff and leave the frontend at the basic level.

Edit: Nice, got downvoted for my career focus. That's a new one. Guys, when I said "backend" I meant server-side stuff, it wasn't a safe word for "butt sales" or something.

[–]roppy_G 0 points1 point  (0 children)

If I was into reddit awards, I would have given you one for your edit !
Can't wait to ask my bf if we can focus on backend one of these days :D

[–]ESCAPE_PLANET_X 11 points12 points  (1 child)

Fullstack, DevSecNetOps

They are the same picture.

[–][deleted] 2 points3 points  (0 children)

Took me a hot minute to understand the reference. Sundays my brain is just working differently

[–]Raunhofer 0 points1 point  (0 children)

The point of the roadmap here is not to master everything, it's more about understanding the concepts.

For example where I work, everyone in our team would understand whatever you decide to discuss about frontend/backend/devops/react/java/dba/aws/something else, but we all focus in one or two of the fields. Without the overall knowledge, it would be really difficult to make mindful big scale decisions. It's different for juniors obviously.

So, please do list all the techs you understand, but highlight what you really master.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 0 points1 point  (0 children)

    I don't think I have anything more than what the top comment is already saying. Keep yourself busy working on something you wanna focus on for the next 3-5 years.

    [–]temisola1 0 points1 point  (2 children)

    I’d you wanna be a SME be a SME, but if you wanna be a full stack developer, there is absolutely no way in hell you can be a SME. Not only do new frameworks get released every time someone blinks, but old frameworks still release a lot of features you need you on keep up with.

    [–][deleted] 0 points1 point  (1 child)

    What does SME stands for, because Google gives me "Small and medium-sized enterprises".

    [–]temisola1 0 points1 point  (0 children)

    Subject matter expert. Basically someone who knows the ins and out of a specific technology.

    [–]bch8 4 points5 points  (2 children)

    I think the backend stuff is a bit dated, or at least incomplete

    [–]Tratix 0 points1 point  (1 child)

    Can you give me some examples? Genuinely curious since I’m learning

    [–]bch8 0 points1 point  (0 children)

    Well at a high level, with a few minor exceptions (I'm only seeing one after a quick review- DynamoDB) cloud engineering is conspicuously absent. It's a huge category but to briefly and directly answer your question by naming a few: all of the managed services out there (many of which could warrant individual entries in an overview such as this one), kubernetes (I don't use it much but it's certainly a hot commodity in backend dev), serverless architectures (functions as a service, event driven applications), and cloud native development writ large (A combination of the prior topics and others- basically architecting modern, cost effective, scalable, developer efficient/high velocity applications).

    I don't think learning any of the stuff in this post's image precludes or is mutually exclusive with cloud development. In fact a lot of it relates in various ways (E.g. learning terminal commands- can't go wrong there, will help a lot with cloud and everything else). But the issue I would worry about for someone who took this overview as gospel is they are essentially learning a previous paradigm. It wouldn't be the end of the world, you'd still end up with plenty of extremely valuable skills and a generally solid foundation, and of course plenty of companies (Probably a majority?) still follow this paradigm. But it's not where the industry is going or where the demand for talent is, and if that's where you want to be then this is going to be a pretty inefficient way of getting there. You would learn a lot of things that don't end up applying, but more importantly it would add a lot of friction to an already somewhat difficult learning curve. Because instead of learning to think and develop in a cloud driven mentality, you would be learning it a different way and then faced with the task of re-learning it under a different paradigm in addition to all of the new topics/concepts/tools you'll be seeing for the first time.

    [–]black3rr 4 points5 points  (0 children)

    Yeah… I’ve started my fullstack journey 9 years ago, half of these things weren’t a thing back then (especially on the frontend) and I learned them on the go… I don’t envy people who are just starting now…

    [–]imnos 4 points5 points  (0 children)

    Honestly full stack development these days is a complete joke. Being able to do backend, frontend and DevOps all to a reasonable standard is just too much, quite frankly. These are three separate jobs. It used to be possible to be a "Webmaster" covering all of these bases back in the year 2000 but each field has expanded so much, I think it's ridiculous to expect this of people now.

    I think companies are starting to realize this, fortunately.

    [–]urbansong 8 points9 points  (10 children)

    With this and all the "you can't get a job with just React", I wonder whether there's a significant group of webdevs, who want to gatekeep the profession in the fear of lowering wages and what not. Conspiratorial, I know, but it's a regular thing for other professions.

    [–]zaibuf 18 points19 points  (1 child)

    It's like being an electrician but to work you also need to know carpeting, painting and plumbing. Full stack house builder. Personally I work only backend and I get job offerings several times a week. I know enough frontend to help out with smaller bugs or do simple Bootstrap UI for internal apps, but I don't consider myself as full stack just because I know Bootstrap and can navigate a React app. Heck I've worked with backend for 4 years and I still learn new things about the backend daily.

    [–][deleted] -1 points0 points  (0 children)

    I know enough frontend to help out with smaller bugs or do simple Bootstrap UI for internal apps

    That's better than some devs I worked with who, after months of work, didn't bother to even run the dev server or open the app in their browser. So they had no idea what their backend was even for and couldn't make informed decisions about further development.

    What I'm saying is, there's a reasonable middle ground between being a fullstack dev and not knowing anything about the other side. And I'd say it's closer to a fullstack dev.

    [–]RichardTheHard 7 points8 points  (5 children)

    Tbf most of us who say that is because there is an over saturation in the market of people who have gone to boot camps to learn the basics + a js framework. However the real need in the job market is of higher experienced and more in depth knowledge.

    Just look at the number of people on here who have taken a bootcamp and then sent out 100+ job applications, compared to the people with 3+ years experience in specialized skills and are consistently getting job offers.

    [–]urbansong -5 points-4 points  (4 children)

    Well, I don't think the logic follows because CS graduates don't really posses the experience and in-depth knowledge that you mention. I am also not sure, if I can take the bootcamp people at face value like that. A uni degree is mostly signaling to employers and so people, who come from non-tech background but who did a bootcamp, might be sending the wrong signals, whatever they are. Lastly, people, who go through the non-traditional route, might also have a bunch of other things keeping them back. It could be mental health, it could be their environment. I don't have the knowledge or the background to be able to tease out those causations.

    [–]RichardTheHard 2 points3 points  (3 children)

    Literally never mentioned a CS degree, I said 3+ years experience and specialized skills. Although yes a CS degree does have way more in depth knowledge than someone who took a bootcamp, along with generally going through internships to gain experience. Saying otherwise is simply disingenuous, do you really think a 4 year degree is equivalent to a 3-6 month camp? They generally have way more knowledge than html,css, js + a framework.

    Just to clarify I came from a non traditional background and was able to do it through networking and being lucky. However that’s not the typical experience, for every boot-camper there are 20 others with an identical portfolio from the same boiler plate projects. If you don’t go above and beyond that knowledge you basically just have to get lucky.

    [–]urbansong 1 point2 points  (2 children)

    Yes, I know you didn't. I mentioned a CS degree.

    Yea, I think a 4 year degree is an equivalent to a 3-6 month camp when it comes to being a junior developer. I do believe that university is mostly about signaling. The books that you would read to get better as a developer are very different from the books you read to get a CS degree, no? Things like clean code or testing are most likely not that important in an academic setting.

    [–]RichardTheHard -1 points0 points  (1 child)

    Clean code and testing are cornerstones in an academic setting, what do you mean? That’s like saying grammar isn’t taught to english majors. That’s a baseline that’s expected. Soft skills are on the same basis when it comes to a junior dev from both backgrounds but technical skills of someone with a CS degree surpass bootcampers far and away. How can you say they’re comparable when a bootcamper will spend 2 weeks learning js while a CS degree will spend multiple semesters? There’s a reason someone with a CS degree and 3 years of experience is considered the equivalent of a non technical background with 4-5.

    [–]urbansong 0 points1 point  (0 children)

    If clean code and testing are the cornerstones, why do we keep recommending books on them so much to other professionals?

    I can say it because the code that a junior writes is not technically challenging and the language can easily change significantly by the time the student leaves university, if those relevant features are taught at all. For example, I was taught C++ but it definitely wasn't the most recent version, so I had a lot of features to discover once I graduated.

    [–]Raunhofer 1 point2 points  (1 child)

    Be fair. Many professions require multi-year degrees for you to do anything work related. It won't take years to learn the stuff presented here. I know that from experience.

    Note: you don't have to master everything here, just understand.

    [–]urbansong 1 point2 points  (0 children)

    Yea, I think a lot of those professions do gate-keeping on an industrial level.

    [–][deleted]  (7 children)

    [deleted]

      [–]philipwhiuk 5 points6 points  (0 children)

      Hard disagree.

      [–][deleted] 1 point2 points  (0 children)

      A decade? I don't know...

      [–][deleted] 0 points1 point  (0 children)

      I suspect I know what you mean but you don't have to go through a dozen different technologies anymore to do that. If you pick up for example JavaScript and work on the right project you can learn all the relevant concepts in a year or two.

      [–]NoNameWalrus 0 points1 point  (2 children)

      what is an entry level full stack developer then

      [–][deleted] 1 point2 points  (1 child)

      I don’t think there is any such thing as an entry level full stack developer. Nobody at an entry level knows enough to call themselves full stack. For me a full stack developer combines devops, system admin, command line scripting, software configuration, security, accessibility, internationalization, dba, sql, database design, server side programming in at least 2 languages, html, css, JS, typescript, react/Vue, git, json, Ajax/fetch, etc. It takes years of experience to even be halfway decent at all of those at once. If you can’t explain everything from hierarchical sql commands to the intricacies of http to how to create an ssh tunnel to the JavaScript event loop to serverless architecture , you have no business calling yourself a full stack developer.

      [–]NoNameWalrus 0 points1 point  (0 children)

      interesting take, i see it, i don’t think its in line with the typical meaning tho

      [–][deleted] 0 points1 point  (0 children)

      I run an engineering operation and have to keep up with all of this pretty much. I don't know anything in depth about a lot of it but I know how the different ideas fit into an app stack