Roadmap für den Einstieg ins Data Engineering 2024
(blog.dataengineer.io)- Der Berufseinstieg ins Data Engineering kann sich wegen des komplexen Technologie-Ökosystems (z. B. Spark, Flink, Iceberg, BigQuery usw.) schwierig anfühlen
- Es reicht nicht aus, einfach nur Python und SQL zu lernen; erforderlich sind eine systematische Strategie und praktische Übungen
Elemente, die für den Berufseinstieg ins Data Engineering nötig sind
-
Technische Kompetenzen:
- Sicherer Umgang mit SQL und Python
- Verteilte Computing-Technologien (mindestens eine von Snowflake, Spark, BigQuery)
- Verständnis von Orchestrierungs-Tools (Airflow, Mage, Databricks Workflows usw.)
- Fähigkeiten in Datenmodellierung und Datenqualitätsmanagement
-
Portfolio-Projekte:
- Projekte erstellen, die reale technische Fähigkeiten zeigen
-
Persönliches Branding:
- Die eigene Fachlichkeit durch Pflege des LinkedIn-Profils und Interviewvorbereitung hervorheben
SQL lernen und beherrschen
- SQL ist die unverzichtbare Sprache des Data Engineering:
- Empfohlene Lernressourcen:
- Zentrale Konzepte:
- JOIN-Typen: INNER, LEFT, FULL OUTER (RIGHT JOIN wird kaum verwendet)
- Aggregation mit GROUP BY und Einsatz von DISTINCT
- Verständnis von Window Functions sowie der Unterschiede zwischen RANK, DENSE_RANK und ROW_NUMBER
- Verständnis von Keywords und Shuffle in verteilten SQL-Umgebungen (z. B. JOIN, GROUP BY, ORDER BY)
- Einsatz von CTE (Common Table Expression), Temp Table und View
Python und Scala lernen
- Sprachauswahl:
- Für Einsteiger wird Python empfohlen, für Erfahrene Scala.
- Wichtige Konzepte:
- Datenstrukturen: Listen, Dictionaries, Stacks usw.
- Algorithmen: Schleifen, binäre Suche, Verständnis der Big-O-Notation
- Wichtige Einsatzbereiche von Python:
- Schreiben von Airflow-DAGs
- Interaktion mit REST APIs
- Schreiben von Spark-UDFs und Performance-Optimierung
Konzepte des verteilten Computing
- Kern des verteilten Computing:
- Verständnis von Hadoop-/Spark-basierten Architekturen zur Verteilung von Datenverarbeitungslasten
- Management von Shuffle- und Skew-Problemen:
- Einsatz von Broadcast JOIN, Bucket JOIN und Partitionierung
- Nutzung adaptiver Ausführung in Spark 3+
- Verwaltung von Ausgabedaten:
- Optimierung der Dateigröße von Parquet-Dateien durch Nutzung von Run-Length-Encoding
Datenqualität und Nutzbarkeit sicherstellen
-
Datenqualität:
- Deduplizierung, Prüfung von NULL-Werten sowie Kontrolle geeigneter Formate und Datenmengen
- Ergänzung der Datenpipeline um Qualitätsprüfungen mit Tools wie Great Expectations
-
Nutzbarkeit:
- Angemessene Dokumentation und vorherige Abstimmung der Spezifikationen
- Ansätze der Datenmodellierung:
- Verständnis der Vor- und Nachteile von relationalen Modellen, Dimensional (Kimball) und One Big Table
-
Einhaltung des Datenschutzes:
- Anonymisierung personenbezogener Informationen (PII) und Minimierung der Datenaufbewahrungsdauer
Portfolio-Projekte erstellen
- Merkmale effektiver Projekte:
- Ein Thema wählen, das einen persönlich interessiert
- Ein Projekt mit Frontend-Anbindung erstellen (z. B. Tableau, Power BI)
- Moderne Technologien einsetzen (Spark, Snowflake, Delta Lake usw.)
- Eine Pipeline implementieren, die in einer Produktionsumgebung läuft
Persönliches Branding und Interviewvorbereitung
-
LinkedIn nutzen:
- Networking mit Hiring Managern und Kolleginnen und Kollegen aufbauen
- Die eigene Bekanntheit steigern, indem man den Lernweg teilt
-
Interviewvorbereitung:
- Interviewer und Unternehmenshintergrund recherchieren
- Ruhig und positiv auf Fragen reagieren
- Neugier und Leidenschaft für Technologie und Rolle vermitteln
Fazit
- Der Einstieg ins Data Engineering ist 2024 trotz der schwierigen Marktlage mit einer systematischen Strategie erreichbar
- Wer dieser Roadmap folgt, kommt dem angestrebten Job im Data Engineering einen Schritt näher
1 Kommentare
Scala ist wirklich eine großartige Sprache, aber ich finde es schade, dass sie außerhalb von Spark nach und nach an Einsatzmöglichkeiten zu verlieren scheint.