Mein vorheriger Blog in diesem Abschnitt konzentrierte sich auf die Notwendigkeit eines Data Engineers in einem Team und wie er sich von anderen Data-Science-Rollen unterscheidet. Dieser letzte Abschnitt des Blogs befasst sich mehr mit den Rollen und Verantwortlichkeiten eines Data Engineers und seinen gewünschten Fähigkeiten.
Mit der explosionsartigen Zunahme von Daten- und Datenbanktechnologien haben wir viele Tools gesehen, die verfügbar sind und ähnliche Funktionalitäten haben. Die Bandbreite dieser Technologien ist ebenfalls riesig und hat dazu geführt, dass es zu viele Tools und Technologien für einen Data Engineer gibt. Es ist nicht möglich, sie alle zu kennen, vielmehr reicht eine einzige aus, wenn es keine spezifischen Geschäftsanforderungen gibt. Und selbst wenn sich die geschäftlichen Anforderungen ändern, sind die Grundlagen zum Glück alle ähnlich und machen einen Wechsel zu einer anderen Technologie nicht unmöglich. Aber auch hier gilt: Von einem Data Engineer zu erwarten, dass er alles weiß, ist wie ein Einhorn… “Klingt gut, gibt es aber nicht”.
Die Aufgaben, Verantwortlichkeiten und Fähigkeiten eines Data Engineers variieren je nach Größe des Unternehmens und der Komplexität eines Projekts. Daher ist es wichtig zu wissen, wie sie zu kategorisieren sind und wo sie in der Organisation einzuordnen sind.

Rollen

Je nach Unternehmensgröße kann ein Data Engineer eine der drei Rollen einnehmen, die je nach Teamgröße und Datenbankkomplexität von einem allgemeinen zu einem eingeschränkten Aufgabenbereich wechseln.
Generalist: Typisch für kleine Teams, in denen ein Data Engineer viele Hüte tragen muss. Er muss sich um den gesamten Prozess kümmern, von der Erfassung der Daten über die Verwaltung der Pipelines und die Wartung bis hin zum Analyseteil. Man muss ein guter Kommunikator mit fundiertem Geschäftssinn sein.

Pipeline-zentriert: Die Dateningenieure helfen bei der Erstellung von Pipelines gemäß dem Anwendungsfall, die später von den Datenwissenschaftlern oder Datenanalysten verwendet werden.
Datenbank-zentriert: Wenn die Unternehmensdaten groß sind, müssen neben den Pipelines auch die analytischen Datenbanken gepflegt werden. Da die Komplexität der Datenbanken riesig ist, wird dies zu einer Vollzeitbeschäftigung.

Verantwortlichkeiten

Ein Data Engineer entwickelt, baut, testet und pflegt die komplette Architektur eines Datenverarbeitungssystems. Als Data Engineer sind Sie für die folgenden Aufgaben verantwortlich.
Entwurf der Architektur
Im Kern umfasst das Data Engineering das Architekturdesign, die Bereitstellung und die Wartung einer Datenplattform. Dabei müssen die sich ändernden Geschäftsanforderungen sorgfältig berücksichtigt werden, damit das System widerstandsfähiger ist.
Aufbau und Pflege von ETL-Pipelines (Extract-Transform-Load):
Dieser Prozess ist die Grundlage jeder Datenarchitektur und beinhaltet die Extraktion von Daten aus verschiedenen Quellen, ihre Umwandlung und das Laden in das Data Warehouse, das von den Endnutzern zu Analysezwecken verwendet wird.
Aufbau und Pflege von Data Warehouse/Lake:
In großen Unternehmen ist der Aufbau und die Pflege eines Data Warehouse eine Vollzeitaufgabe. Das Vorhandensein vieler Datenbanken macht es notwendig, dass es aus Sicht der Unternehmensführung verantwortliche Personen gibt. Sie kümmern sich um das Schema und die Organisation der Metadaten und definieren den ETL-Prozess.
Verwalten von Daten & Metadaten
Die Daten können in einem Warehouse entweder strukturiert oder unstrukturiert gespeichert werden. Die Daten enthalten Metadaten (Daten über Daten), die bei der Dokumentation und für einen schnellen Zugriff auf verschiedene Informationen über eine Datenbank hilfreich sind. Ein Data Engineer ist für die Verwaltung der gespeicherten Daten und deren Strukturierung mittels DBMS-Systemen verantwortlich und sorgt für eine angemessene Governance.
Optimierung & Skalierbarkeit
Bei Big-Data-Architekturen kommt es häufig vor, dass der Pipeline-Lauf Stunden dauert und möglicherweise nicht korrekt konfiguriert ist, was die Datenverfügbarkeit erheblich beeinträchtigen und gleichzeitig erhebliche Kosten verursachen kann. Von einem Data Engineer wird erwartet, dass er das verfügbare System optimiert und gleichzeitig die Verfügbarkeit und Skalierbarkeit sicherstellt.

Erforderliche Fertigkeiten

Die Anforderungen an die Fähigkeiten eines Data Engineers sind ganzheitlich und umfassen viele Werkzeuge und Technologien, die in Kombination eingesetzt werden. Wenn Sie nach einem Data Engineer suchen, der alle verfügbaren Data Engineering Tools und Technologien beherrscht, haben Sie bessere Chancen, ein Unicorn zu finden. Wenn man jedoch realistische Erwartungen an einen normalen DE in Fleisch und Blut hat, können die Fähigkeiten in diese 6 Kategorien eingeteilt werden.

Die tägliche Aufgabe eines Data Engineers ist die Pflege der Datenbanken. Er muss daher über gute Kenntnisse von DBMS und Datenbanksystemen und deren Skriptsprache wie SQL oder NoSQL verfügen.
Mindestens eine der Programmiersprachen wie Python, Scala oder Java ist ein Muss für einen Data Engineer. Sie hilft bei der Durchführung statistischer Analysen und der Modellierung. Die Anforderungen an die Sprache hängen von den verwendeten Tools wie MapReduce, AWS, Azure, Apache Spark oder Hadoop ab, aber die Beherrschung mindestens einer Sprache ist ein Muss.
Realtime Streaming Data ist eine weitere Notwendigkeit in vielen Unternehmen, in denen die neuesten Daten einen erheblichen Geschäftswert darstellen. Ein Beispiel für einen Anwendungsfall von Realtime Streaming Data ist der Preisanstieg bei Fahrgemeinschaften, der auf der Nachfrage oder den Wetterbedingungen basiert, oder während der Ankunfts- oder Abflugzeit Ihres Fluges, wenn Sie Ihre Reise zum oder vom Flughafen planen.
Data Warehousing ermöglicht es Ihnen, riesige Datenmengen für Analysen zu speichern, und diese Daten stammen aus verschiedenen Quellen und sind daher von grundlegender Bedeutung. Als Data Engineer müssen Sie mindestens eines der Data-Warehousing-Tools wie Snowflake, Oracle, Azure oder AWS beherrschen. Darüber hinaus sind auch Kenntnisse der Betriebssysteme wichtig, wenn der Betrieb auf einem der Betriebssysteme basiert.

Fazit

Bei der Suche nach dem idealen Data Engineer für Ihr Team reicht das Schlüsselwort Match nicht aus. Ein idealer Kandidat ist derjenige, der vielleicht nur eine Fähigkeit für jede Kategorie wie Programmierung, Datenbank- und Data-Warehouse-Kenntnisse hat, aber eine ganzheitliche Fähigkeitsbilanz mit einem guten Geschäftsverständnis hat und das Projekt in die richtige Richtung lenken kann.
Peter Schmäling

Tushar Poojary

Tushar Poojary ist Junior Solution Architect bei HUBSTER.S