There is no one set of tools that will get you a job as a Data Engineer. It will depend on the company, industry, and the need for data engineering where you live. Unlike other guides, this guide will list the minimum requirements needed (generally) to get a job as a Data Engineer. For each role, skills are listed in order of general importance and what level of mastery is needed for that role.
**Data Engineering Roles:**
- [[#Junior Data Engineer]]
- [[#Data Engineer]]
- [[#Senior Data Engineer]]
# Junior Data Engineer
There are very few of these roles currently but similar roles with different titles may exist. For example, if you're a BI developer, SQL developer, or backend engineer then you probably have overlapping experience. See [[How can I transition into Data Engineering|How can I transition into Data Engineering?]]
**Minimum skills required:**
- [[SQL]] (Beginner)
- [[Data Modeling]] (Beginner)
- [[Relational Database]] (Beginner)
- Soft skills (Beginner)
**Nice to have:**
- Scripting language ([[Python]], [[Java]], or [[Scala]]) (Beginner)
# Data Engineer
**Minimum skills required:**
- [[SQL]] (Intermediate)
- [[Data Modeling]] (Intermediate)
- Scripting language ([[Python]], [[Java]], or [[Scala]]) (Intermediate)
- [[Indexing]] & Query Optimization (Intermediate)
- [[Batch Data Processing]] (Intermediate)
- Soft skills (Intermediate)
- [[Relational Database]] (Intermediate)
- [[Online Transaction Processing]] (Beginner)
- [[Data Pipeline]] (Beginner)
- [[Data Warehouse]] (Beginner)
**Nice to have:**
- Cloud platform ([[Amazon Web Services]], [[Microsoft Azure]], or [[Google Cloud Platform]]) (Intermediate)
- [[Stream Data Processing]] (Beginner)
- [[Online Analytical Processing]] (Beginner)
- Reporting tools (Tableau, Superset, Metabase) (Beginner)
# Senior Data Engineer
**Minimum skills required:**
- Soft skills (Intermediate/Advanced)
- [[SQL]] (Advanced)
- [[Data Modeling]] (Advanced)
- Scripting language ([[Python]], [[Java]], or [[Scala]]) (Advanced)
- [[Indexing]] & Query Optimization (Advanced)
- Cloud platform ([[Amazon Web Services]], [[Microsoft Azure]], or [[Google Cloud Platform]]) (Advanced)
- Infrastructure as code (Beginner)
- [[Batch Data Processing]] (Advanced)
- [[Relational Database]] (Advanced)
- [[Non-relational Database]] (Advanced)
- [[Online Transaction Processing]] (Intermediate)
- [[Online Analytical Processing]] (Intermediate)
- [[Data Pipeline]] (Advanced)
**Nice to have:**
- Infrastructure as code (Advanced)
- Reporting tools (Tableau, Superset, Metabase) (Beginner/Intermediate)
%% wiki footer: Please don't edit anything below this line %%
## This note in GitHub
<span class="git-footer">[Edit In GitHub](https://github.dev/data-engineering-community/data-engineering-wiki/blob/main/FAQ/What%20skills%20do%20I%20need%20to%20become%20a%20Data%20Engineer.md "git-hub-edit-note") | [Copy this note](https://raw.githubusercontent.com/data-engineering-community/data-engineering-wiki/main/FAQ/What%20skills%20do%20I%20need%20to%20become%20a%20Data%20Engineer.md "git-hub-copy-note")</span>
<span class="git-footer">Was this page helpful?
[👍](https://tally.so/r/mOaxjk?rating=Yes&url=https://dataengineering.wiki/FAQ/What%20skills%20do%20I%20need%20to%20become%20a%20Data%20Engineer) or [👎](https://tally.so/r/mOaxjk?rating=No&url=https://dataengineering.wiki/FAQ/What%20skills%20do%20I%20need%20to%20become%20a%20Data%20Engineer)</span>
Not found
This page does not exist