Die Berufe Data Scientist und Data Engineer werden oft verwechselt. Jede Firma hat ihre eigenen Arbeitsmethoden mit Daten, unterschiedliche Analyseziele und Vorstellungen davon, welche Aufgaben die Fachkräfte übernehmen sollen, weshalb auch die Anforderungen variieren.
Wir klären die Unterschiede zwischen diesen Fachrichtungen, welche Geschäftsaufgaben sie lösen, über welche Fähigkeiten sie verfügen und welches Einkommen sie erzielen. Der Artikel ist umfangreich, daher haben wir ihn in zwei Teile aufgeteilt.
Im ersten Artikel erklärt Elena Gerasimova, Leiterin des Fachbereichs „“ an der Netologie, den Unterschied zwischen Data Scientist und Data Engineer und welche Tools sie verwenden.
Wie sich die Rollen von Ingenieuren und Wissenschaftlern unterscheiden
Ein Dateningenieur ist ein Spezialist, der einerseits die Infrastruktur für die Datenverarbeitung entwickelt, testet und wartet: Datenbanken, Speichersysteme und Systeme zur Verarbeitung großer Datenmengen. Andererseits ist er dafür verantwortlich, die Daten für die Verwendung durch Analysten und Data Scientists zu bereinigen und zu „bereinigen“, also Datenverarbeitungspipelines zu erstellen.
Ein Data Scientist erstellt und trainiert prädiktive (und nicht nur prädiktive) Modelle mithilfe von Algorithmen des maschinellen Lernens und neuronalen Netzwerken. Dabei hilft er Unternehmen, verborgene Muster zu finden, Entwicklungen vorherzusagen und wichtige Geschäftsprozesse zu optimieren.
Der Hauptunterschied zwischen Data Scientist und Data Engineer besteht darin, dass sie in der Regel unterschiedliche Ziele verfolgen. Beide arbeiten daran, dass Daten zugänglich und qualitativ hochwertig sind. Der Data Scientist findet Antworten auf seine Fragen und testet Hypothesen innerhalb des Datenökosystems (zum Beispiel auf Basis von Hadoop), während der Data Engineer die Pipeline für den Betrieb des vom Data Scientist entwickelten maschinellen Lernalgorithmus in einem Spark-Cluster innerhalb desselben Ökosystems erstellt.
Ein Data Engineer schafft Wert für das Unternehmen, indem er im Team arbeitet. Seine Aufgabe ist es, eine wichtige Verbindung zwischen verschiedenen Beteiligten herzustellen: von Entwicklern bis zu den Geschäftsnutzern von Berichten, und die Produktivität der Analysten – von Marketing- und Produktanalysten bis zu BI – zu steigern.
Der Data Scientist hingegen ist aktiv an der Unternehmensstrategie beteiligt, extrahiert Insights, trifft Entscheidungen, implementiert Automatisierungsalgorithmen und generiert Wert aus Daten.

Die Arbeit mit Daten unterliegt dem GIGO-Prinzip (garbage in — garbage out): Wenn Analysten und Data Scientists mit unvorbereiteten und potenziell fehlerhaften Daten arbeiten, werden die Ergebnisse selbst mit den raffiniertesten Analysealgorithmen falsch sein.
Data Engineers lösen dieses Problem, indem sie Pipelines für die Verarbeitung, Reinigung und Transformation von Daten aufbauen, sodass Data Scientists bereits mit qualitativ hochwertigen Daten arbeiten können.
Der Markt bietet viele Tools für die Datenverarbeitung, die jeden Schritt abdecken: von der Datenerfassung bis zur Anzeige auf dem Dashboard für den Vorstand. Es ist wichtig, dass die Entscheidung über deren Verwendung vom Engineer getroffen wird — nicht, weil es modisch ist, sondern weil es tatsächlich den anderen Beteiligten im Prozess hilft.
Bedingung: Wenn ein Unternehmen BI und ETL zusammenführen muss – Datenlade- und Berichtaktualisierungsprozesse – dann ist dies eine typische Legacy-Infrastruktur, mit der ein Data Engineer umgehen muss (es wäre gut, wenn im Team zusätzlich ein Architekt vorhanden ist).
Aufgaben des Data Engineers
- Entwicklung, Aufbau und Wartung von Dateninfrastrukturen.
- Fehlerbehandlung und Schaffung zuverlässiger Datenverarbeitungspipelines.
- Aufbereitung unstrukturierter Daten aus verschiedenen dynamischen Quellen in ein Format, das für Analysten notwendig ist.
- Bereitstellung von Empfehlungen zur Verbesserung der Konsistenz und Qualität der Daten.
- Gewährleistung und Unterstützung der Datenarchitektur, die von Datenwissenschaftlern und Datenanalysten verwendet wird.
- Verarbeitung und Speicherung von Daten in einem verteilten Cluster über Dutzende oder Hunderte von Servern, konsistent und effizient.
- Bewertung technischer Kompromisse von Werkzeugen zur Schaffung einfacher, aber robuster Architekturen, die Ausfälle überstehen können.
- Überwachung und Unterstützung von Datenströmen und verwandten Systemen (Einstellung von Monitoring und Alerts).
Eine weitere Spezialisierung im Bereich Data Engineering ist der ML-Engineer. Kurz gesagt, diese Ingenieure sind darauf spezialisiert, Machine-Learning-Modelle für den industriellen Einsatz zu optimieren und zu implementieren. Oft ist das Modell, das von einem Data Scientist kommt, Teil einer Forschungsarbeit und funktioniert möglicherweise nicht in der Praxis.
Aufgaben eines Data Scientist
- Merkmale aus Daten extrahieren, um Algorithmen des maschinellen Lernens anzuwenden.
- Verschiedene Werkzeuge des maschinellen Lernens nutzen, um Muster in den Daten vorherzusagen und zu klassifizieren.
- Die Leistung und Genauigkeit von Algorithmen des maschinellen Lernens durch Feinabstimmung und Optimierung verbessern.
- Starke Hypothesen gemäß der Unternehmensstrategie formulieren, die überprüft werden müssen.
Sowohl Data Engineers als auch Data Scientists tragen maßgeblich zur Entwicklung einer datengetriebenen Arbeitskultur bei, durch die das Unternehmen zusätzlichen Gewinn generieren oder Kosten senken kann.
Mit welchen Programmiersprachen und Werkzeugen arbeiten Ingenieure und Wissenschaftler?
Die Erwartungen an Datenverarbeitungsspezialisten haben sich heute verändert. Früher mussten Ingenieure große SQL-Abfragen erstellen, MapReduce manuell schreiben und Daten mit Tools wie Informatica ETL, Pentaho ETL und Talend verarbeiten.
Im Jahr 2020 kommt man als Fachmann nicht ohne Kenntnisse in Python und modernen Berechnungstools (wie Airflow) aus. Zudem ist ein Verständnis der Prinzipien der Arbeit mit Cloud-Plattformen erforderlich, um Hardwarekosten zu sparen und gleichzeitig Sicherheitsprinzipien einzuhalten.
SAP, Oracle, MySQL, Redis – das sind die traditionellen Werkzeuge für Dateningenieure in großen Unternehmen. Sie sind gut, haben aber so hohe Lizenzkosten, dass sich das Lernen mit ihnen nur für Industrieprojekte lohnt. Es gibt jedoch eine kostenlose Alternative in Form von Postgres – es ist kostenlos und eignet sich nicht nur für Schulungen.

Historisch betrachtet wird häufig nach Java und Scala gefragt, obwohl diese Sprachen mit der Entwicklung von Technologien und Ansätzen zunehmend in den Hintergrund treten.
Dennoch sind Hard-Core Big Data Technologien wie Hadoop, Spark und andere nicht mehr unbedingt eine Voraussetzung für Dateningenieure, sondern lediglich Werkzeuge zur Lösung von Herausforderungen, die sich nicht mit herkömmlichen ETL-Methoden bewältigen lassen.
Im Trend liegen Dienstleistungen, die die Nutzung von Werkzeugen ohne Kenntnis der Programmiersprache ermöglichen, in der sie geschrieben sind (zum Beispiel Hadoop ohne Java-Kenntnisse). Auch die Bereitstellung fertiger Dienste zur Verarbeitung von Streaming-Daten, wie Sprach- oder Bildrecognition, ist stark gefragt.
Industrielle Lösungen von SAS und SPSS erfreuen sich großer Beliebtheit, wobei auch Tableau, Rapidminer, Stata und Julia von Datenwissenschaftlern für lokale Aufgaben weit verbreitet sind.

Analysten und Datenwissenschaftler haben erst vor ein paar Jahren die Möglichkeit erhalten, selbst Pipelines zu erstellen: Beispielsweise können sie bereits mit relativ einfachen Skripten Daten in ein auf PostgreSQL basierendes Speicherformat leiten.
Üblicherweise liegt die Verantwortung für die Nutzung von Pipelines und integrierten Datenstrukturen bei den Dateningenieuren. Doch der Trend zu T-förmigen Fachkräften — mit breitem Kompetenzspektrum in angrenzenden Bereichen — war noch nie so stark, da die Werkzeuge kontinuierlich vereinfacht werden.
Warum sollten Data Engineer und Data Scientist gemeinsam arbeiten?
Durch die enge Zusammenarbeit mit den Ingenieuren können Data Scientists sich auf den Forschungsaspekt konzentrieren und betriebsbereite Algorithmen für maschinelles Lernen entwickeln.
Ingenieure hingegen können sich auf Skalierbarkeit, Datenwiederverwendung konzentrieren und sicherstellen, dass die Daten-Ein- und Ausgabepipelines in jedem Projekt der globalen Architektur entsprechen.
Diese Aufteilung der Aufgaben sorgt für Konsistenz zwischen den Teams, die an verschiedenen maschinellen Lernprojekten arbeiten.
Die Zusammenarbeit ermöglicht die effiziente Entwicklung neuer Produkte. Geschwindigkeit und Qualität werden durch das Gleichgewicht zwischen der Schaffung eines Services für alle (z. B. globales Lager oder Dashboard-Integration) und der Umsetzung spezifischer Anforderungen oder Projekte (z. B. spezialisiertes Pipeline-Design, Anbindung externer Quellen) erreicht.
Die enge Zusammenarbeit mit Data Scientists und Analysten ermöglicht es Ingenieuren, analytische und forschende Fähigkeiten zu entwickeln, um qualitativ hochwertigen Code zu schreiben. Der Wissensaustausch zwischen Nutzern von Data Warehouses und Data Lakes wird verbessert, was Projekte flexibler macht und langfristig nachhaltigere Ergebnisse sichert.
In Unternehmen, die das Ziel haben, eine datengetriebene Kultur zu entwickeln und Geschäftsprozesse darauf aufzubauen, ergänzen sich Data Scientists und Data Engineers und schaffen ein vollständiges System zur Datenanalyse.
Im folgenden Material werden wir erörtern, welche Ausbildung Data Engineers und Data Scientists benötigen, welche Fähigkeiten sie entwickeln sollten und wie der Markt aussieht.
Von der Redaktion von Netologie
Wenn Sie an der Berufung zum Data Engineer oder Data Scientist interessiert sind, laden wir Sie ein, unsere Kursprogramme zu erkunden:
- Beruf „».
- Beruf „».
Quelle: habr.com
