data-engineering-community / data-engineering-wiki

The best place to learn data engineering. Built and maintained by the data engineering community.
https://dataengineering.wiki
Creative Commons Zero v1.0 Universal
1.21k stars 120 forks source link

Learning DE Roadmap #49

Open JPHaus opened 6 months ago

JPHaus commented 6 months ago

A FAQ in the community is a structured roadmap for learning Data Engineering and it's about time we start addressing it. We currently have a getting started guide but it's not detailed enough and was meant to be improved on anyways.

It can be a complex question to answer but we can simplify it by adding a few constraints. Since the majority of folks asking are those who are new to DE or trying to transition we should focus on skills for junior/entry level and mid level roles. While there aren't many jr roles at the moment it can still be useful to make the distinction for foundational skills. To make it as general as possible, I believe we should exclude tools/requirements that only apply to FAANG-like companies since they are more niche and oftentimes FAANG companies have developed their own internal tooling to solve their unique problems. Finally, the focus should be on core concepts instead of tooling. While we can include specific tools, we should try to avoid directly recommending specific tools and instead point learners to pages that have lists of the current popular tools to keep this resource as evergreen as possible (example: workflow orchestration popular tools).

While I don't believe a diagram is a requirement, I do think it could be helpful if we can get it to render nicely in mermaid because we can then make it interactive and link to other notes in the wiki like we do with other diagrams. The canvas feature for Obsidian publish is not yet supported so we would probably use a mermaid flowchart for now.

Existing popular roadmap shared in the community:

For V1, please share any thoughts/ideas/constructive criticism on the structure and core concepts. I'll start a new branch after Christmas and start something we can work from.

gr8web commented 6 months ago

https://awesomedataengineering.com/

oguzhangur96 commented 6 months ago

Here are couple of ideas:

sdairs commented 6 months ago

Like anything else, there's basic and advanced streaming, it's not a niche skill nor is it gated to senior engineers. IMO It's a huge disservice for a junior level not to have basic familiarity with where the industry is heading.

JPHaus commented 5 months ago

I just created a page to start playing around with. I figured we'd start with entry level -> mid level roles since that's what most people are looking for. I'll add more to this later but feel free to make edits. https://github.com/data-engineering-community/data-engineering-wiki/tree/49-roadmap image

gr8web commented 5 months ago

I just created a page to start playing around with. I figured we'd start with entry level -> mid level roles since that's what most people are looking for. I'll add more to this later but feel free to make edits. https://github.com/data-engineering-community/data-engineering-wiki/tree/49-roadmap image

In my opinion databases should be part of the computer science "computer resources" would probably just be called "Operating Systems" So computer science fundamentals would be something like:

Operating Systems -> Networks -> Databases or ->Databases->Networks

But generally not sure if the whole thing is not just reinventing the wheel at the end.