Der Data Engineer: Alles was man wissen muss (+ Infografik)

Data Engineers sind der neue Hype-Beruf nach dem Data Scientist. Wie kommt es dazu? Viele Unternehmen haben sich Data Scientists eingestellt und dann sehr schnell festgestellt, dass diese gar nicht arbeiten können. Der Grund: Die Daten sind nicht in einem für den Scientist einfach zu verarbeitenden Zustand vorhanden – also nicht “consumable”. Und um dieses Problem zu lösen, benötigt es einen Data Engineer.

Inhaltsverzeichnis

Was macht ein Data Engineer?

Der Data Engineer hat zur Aufgabe, Daten mittels technischer Lösungen wie Infrastruktur, Systeme und Data-Pipelines bereit zu stellen. Mit der Big Data-Welle gehört auch Cloud-Technologie immer mehr zum Standardrepertoire dieser Rolle. Dementsprechend begehrt sind momentan fähige und erfahrene Data Engineers.

Data Engineer: Definition und Aufgaben
Data Engineer: Definition und Aufgaben

Die Gründe für Zugriffsschwierigkeiten auf Daten sind vielfältig. Meist ist die organisch gewachsene, zerklüftete und in Silos vorhandene Datenlandschaft jedoch der Hintergrund. Was zur Folge hat, dass in vielen Unternehmen die teuer eingekauften Data Scientists ca. 80% ihrer Zeit damit beschäftigt sind, den potentiellen Daten nachzujagen: Festzustellen welche Datenquellen existieren, was die Inhalte sind – um dann ad-hoc Extrakte anzufordern (und lange darauf zu warten) oder selbst Data Pipelines zu bauen. Monate kann der Data Scientist dann gegebenenfalls mit seiner eigentlichen Arbeit – der Auswertung – beginnen.

So kommt es, dass Unternehmen realisieren, dass der erste, grundlegende Schritt der Datenbereitstellung inzwischen einen sehr hohen Stellenwert besitzt. Neben den Buzzwords Big Data, Data Lake und Analytics as a Service (AaaS) hat diese Entwicklung auch seine Daseinsberechtigung: Erst wenn schnell und einfach Daten abgreifen kann, kann man einem schnelle Innovationszyklus folgen. Daher die Notwendigkeit und auch die momentane Suche nach fähigen Data Engineers.

Welche Aufgaben erfüllt ein Data Engineer und welche Fähigkeiten muss er besitzen?

Ein Data Engineer beschäftigt sich mit Datenbanksystemen – vom Aufsetzen, über das Füllen bis zur kontinuierlichen Pflege. Heruntergebrochen ist er somit ein Software Engineer, der sich auf Datenprozesse spezialisiert. Im Hauptfokus des Data Engineering steht mitunter der Aufbau und die Betreuung von Data Pipelines – also Skripten, die Daten aus einem System in ein anderes transferieren. Dabei sind auch Transformationen, Anreicherungen und andere Prozesse notwendig. 

Ein weiterer Fokus ist das Management einer oder mehrerer Datenbanken oder Systemen, die Daten beherbergen. Generell ist es das Ziel, Daten in möglichst guter Qualität, in ausreichender Granularität mittels einfachem Zugriff bereit zu stellen.

Ähnlich den Kollegen aus der Data Science müssen Data Engineers daher Fähigkeiten aus drei Kategorien erfüllen: Technisches Wissen, Kommunikative Fähigkeiten und Domänenwissen. Doch ist es bei Data Engineers ein klarer Fokus auf die technischen Fähigkeiten zu erkennen, da sie am nähesten an den klassischen “Programmier”-Berufen sind. 

Konkreter muss man als Data Engineer folgende Erwartungen erfüllen:

  • Aufbau und Management von Daten-Infrastruktur
  • Datenakquise via APIs, Crawling, Scraping, etc
  • Aufbau und Pflege von Daten-Pipelines mittels Java, python und SQL
  • Extract-Transform-Load (ETL) Logik und Implementierung
  • Datenkonsolidierung, -aufbereitung und -staging  für Data Science, Data Analytics oder Dashboarding
  • Automatisierung von Datentransfer- und Datentransformationsprozessen
  • Management von Datenbanken und unstrukturierten Dateisystemen
  • Setup und Betreuung von Cloud-Infrastruktur wie AWS, Microsoft Azure oder Google Cloud
  • Operationalisierung von Datenprodukten (z.B. Machine Learning Modelle) in die Kanallandschaft eines Unternehmens

Das Mindset der Dateningenieure

Die richtige Einstellung des Data Engineers beeinflusst sehr stark die Qualität seiner Arbeit. Im Allgemeinen sollten Data Engineers sehr gewissenhaft und genau arbeiten, da sich deren Arbeit auf alle nachfolgenden Prozesse auswirkt. Weiterhin ist Eigenständigkeit ein wichtiger Faktor, da der Data Engineer oft selbstverantwortlich technische Aufgaben erfüllt. Um das Profil abzurunden, hilft es, wenn Data Engineers das große Bild der Datenlandschaft im Sinn haben – also Weitsicht beweisen können. Denn nur dann bindet sich ihre Arbeit in die gesamte IT-Landschaft des Unternehmens ein und kann somit die größte Wirkung entfalten. Zusammengefasst sollte ein Data Engineer folgende Einstellung mitbringen:

  • Gewissenhaftigkeit
  • Eigenständigkeit
  • Weitsicht
  • Technischer Selbstanspruch

Mit welchen Tools arbeiten (Big) Data Engineers?

Es gibt eine ganze Bandbreite an Tools und Programmiersprachen mit denen Data Engineers arbeiten. Ein Auszug:

NameKategorie
Relationale Datenbanken, z.B. Oracle, SQL Server, mySQLInfrastruktur
NoSQL, z.B. MongoDB, CassandraInfrastruktur
Hadoop, z.B. SparkInfrastruktur
Streaming, z.B. KafkaInfrastruktur
Graph-DBs, z.B. neo4jInfrastruktur
TalendETL-Tool
PentahoETL-Tool
AWSCloud-Infrastruktur
AzureCloud-Infrastruktur
Google CloudCloud-Infrastruktur
SQLProgrammiersprache
JavaProgrammiersprache
pythonProgrammiersprache
ScalaProgrammiersprache
JuliaProgrammiersprache

Für mehr Inspiration, bietet die “Big Data Landscape” eine sehr umfassende Betrachtung der möglichen Tools:

Data Engineering Software & Tools
Data Engineering Software & Tools

Was ist der Unterschied zwischen einem Data Engineer und anderen Rollen in der Data Driven Company (z.B. Data Architect und Data Scientist)?

Eine eindeutige Unterteilung in die Arbeitsbereiche der drei genannten und anderer Rollen ist immer noch nicht möglich. Generell gilt es aber, dass ein Data Architect das theoretische Framework einer IT-Infrastrukturlösung entwirft, visualisiert und ggf. aufsetzt. Der Data Engineer übernimmt diese Infrastruktur dann in Produktion, füllt sie, überwacht sie und baut sie weiter auf die Anforderungen der Datenkonsumenten aus. Einer dieser Datenkonsumenten kann ein Data Scientist sein, der zum Beispiel Machine Learning Modelle auf den bereitgestellten Daten trainiert. Das Überspielen dieser A.I.-Modelle in einen Live-Zustand und die Anbindung an Kanäle wie eine Website oder ein CRM kann dann wieder als Aufgabe beim Data Engineer liegen – oder beim Software Developer / Engineer auf der anderen Seite. 

Nochmal als direkter Vergleich:

TitelData ArchitectData EngineerData Scientist
AufgabeEntwirft IT-Infrastrukturlösungen.Betreibt und füllt Dateninfrastrukturen.Konsumiert Daten zur Generierung von Erkenntnissen.
Ähnliche RollenEnterprise Architect, Solution Architect, Technical ArchitectBig Data Engineer, Software Engineer, Cloud SpecialistData Analyst, Machine Learning Engineer

Wie ist nun der Zusatz “Big” beim Big Data Engineer zu interpretieren? Nun, den Vs der Big Data Definition folgend kann das alles und nichts heissen: Denn generell sollten Data Engineers darauf eingestellt sein, schnelle, unstrukturierte und große Mengen an Daten verarbeiten zu können. Daher erachte ich den Zusatz als hinfällig – viel wichtiger ist, in der Rollenbeschreibung die eingesetzten Technologien zu spezifizieren, um gegebenenfalls Anforderungen an Big Data Software auszuweisen.

Die Ausbildung: Das klingt alles gut – aber wie wird man Data Engineer?

Aufgrund der techniklastigen Anforderungen kommen die meisten Profile aus der Informatik oder Wirtschaftsinformatik. Auch ein sehr stark weitergebildeter Fachinformatiker ist denkbar. Diese Ausbildungen sind im Grunde aber nur die Basis für den wichtigen Teil: Die praktische Erfahrung. Diese praktische Erfahrung konzentriert sich meist auf bestimmte Infrastrukturlösungen und kann nur aus realen Projekten gewonnen werden. 

Data Engineers haben viele Skills
Data Engineers müssen mit vielen Skills aufwarten

Daher ist die Ausbildung zum Data Engineer meist über das Thema Software Engineering oder Datenbankadministration zu realisieren. Standardkurse gibt es zwar auf Coursera & Co., diese helfen allerdings nur bis zum ersten realen Problem. Daher meine Empfehlung: Wer Data Engineer werden möchte, sollte sich auf einen Bereich spezialisieren (z.B. Cloud-Architektur) und dort Use Cases probehalber umsetzen. Durch diese praktische Erfahrung gewinnt man am meisten und schnellsten Einsichten, wie eine funktionierende Infrastruktur aussehen kann und worauf zu achten ist.

Das ganze noch mit theoretischer Erfahrung über Bücher oder MOOCs anzureichern rundet das Einstiegsprofil gut ab. Denn wenn man die erste Position angetreten hat, wird schnell klar: Das meiste ist doch Learning by Doing.

Das Gehalt: Was verdient man als (Big) Data Engineer?

Wie üblich ein schweres Thema, da sich das Gehalt immer sehr stark nach Aufgaben, Erfahrung und Firmengröße und -branche richtet. Dennoch möchte ich hier grobe Anhaltspunkte geben, womit man als Data Engineer rechnen kann:

Junior 
Data Engineer
Mid-Level 
Data Engineer
Senior 
Data Engineer
Berufserfahrung0 – 3 Jahre2 – 6 Jahre> 5 Jahre
ExpertiseGrundlegende Kenntnisse in mehreren Technologien, praktische Erfahrung in mindestens einem Setup. Mindestens eine Programmiersprache auf fortgeschrittenem Level.Fortgeschrittenes bis Expertenwissen in mindestens zwei Technologiesetups. Arbeit in mindestens fünf Architekturen. Mindestens zwei Programmiersprachen auf fortgeschrittenem Level.Umfassendes Wissen über eine hohe Bandbreite an Technologien und Infrastrukturen. Fundamentale Beiträge im Setup und dem Betrieb von kritischen Infrastrukturen.  Gutes Wissen über aktuelle Trends. Experte in mindestens einer Programmiersprache, fortgeschrittenes Wissen in weiteren.
Gehaltsrichtlinie40.000€ – 60.000€50.000€ – 90.000€80.000 – 130.000€

Für Manager: Wie stellt man einen Data Engineer ein?

Wer nun einen oder mehrere Data Engineers recruitieren möchte, hat den wichtigsten Schritt bereits getan: Er hat erkannt, dass diese Rolle fundamental auf dem Weg zur Data Driven Company ist. Doch passendes Personal zu bekommen ist momentan nicht einfach – denn die Rolle ist heiß begehrt und fähige Angestellte mit einem großen Erfahrungsschatz sind selten zu finden. 

Daher sollte man bereits bereits bei der Stellenausschreibung den richtigen Ton setzen: Möglichst konkret sowohl Anforderungen als auch erwartetes Profil notieren, klar verdeutlichen wo das Unternehmen auf seinem Weg steht und was vom Engineer erwartet wird. Im Optimalfall direkt eine Gehaltsspanne angeben – dann finden manche Data Engineers einen Anreiz sich zu bewerben. Zudem sehr intensiv über den Einsatz eines Recruiters nachdenken – auch wenn die Provision schmerzt, können die oft ihr Netzwerk nutzen. Oder selbst über berufliche Netzwerke wie LinkedIn bzw. XING gehen.

Erhält man dann erste Bewerbungen, gibt es einige Richtlinien auf die zu achten sind:

  • Praktische Erfahrung ist das A und O. Onlinekurse, Studium und anderes ist ein Wegbereiter, doch bei diesem Berufsbild ist die Erfahrung was direkt zählt. 
  • Darauf achten, dass die Technologien des Bewerbers zu den Technologien des Unternehmens passen. Wenn jemand ein Experte in relationalen Datenbanken ist, bringt das nur bedingt einen Übertrag zu einer Kafka-Implementierung.
  • Eine hohe Code Qualität heisst Mehrarbeit verhindern – denn wer bereits bei der Erstimplementierung entsprechend vorsorgt, fängt gerne später Probleme ab.
  • Und zuletzt: vorausschauendes Denken, um die gesamte unternehmensinterne Infrastrukturlandschaft im Blick zu behalten, erlaubt ein einfacheres Skalieren der Daten-Infrastruktur. Wenn der Bewerber sich der Auswirkungen seines täglichen Tuns auf die gesamte Daten-Supply-Chain bewusst ist, wird seine Arbeit entsprechend unterstützend in vorhergehenden oder nachlaufenden Prozessen wirken.

Bleibt noch das Thema Gehalt. Während ich oben einige Richtwerte notiert habe, empfehle ich im Status Quo, lieber etwas kompetitiver bei fähigen Kandidaten zu sein. Es herrscht momentan eine Knappheit an erfahrenen, fähigen Data Engineers

Durch immer mehr Standardisierung von Schnittstellen und Prozessen werden Data-Pipelines und andere Prozesse immer weiter automatisiert werden – aber das wird noch einige Jahre in Anspruch nehmen. Und bis dahin bauen Data Engineers das Fundament einer Data Driven Company: Verfügbare, hochqualitative Daten.