Interessierst du dich für Daten und Cloud-Technologie? Möchtest du mehr über verschiedene Rollen in Entwicklungsteams erfahren? Bist du auf der Suche nach einem neuen Job? In dieser Blogpostserie geht es um unsere Arbeitsweise und unsere Berufsbilder bei der Otto Group data.works.
Die Otto Group data.works ist ein technik- und datengetriebenes Unternehmen innerhalb der Otto Group, einemder größten E-Commerce-Unternehmen der Welt. Wir sammeln Daten der E-Commerce-Unternehmen der Otto Group, von Produktdaten über Shopping-Transaktionsdaten bis hin zu Webtracking-Ereignissen mit unserer selbstentwickelten Webtracking-Lösung. Auf diesem großen Datenpool aufbauend, entwickeln und betreiben wir entwickeln und betreiben wir daten- und maschinenlernbasierte SaaS-Produkte - von der ersten Idee bis zur Produktion. Beispiele für diese Dienste sind Chatbots, die auf unseren eigenen Sprachmodellen basieren, APIs zur Personalisierung von Website-Inhalten und verschiedene Lösungen für kundenzentriertes Marketing. Wir bauen auch unsere eigene Tools zur Beherrschung von IT-Sicherheit und Compliance. Wenn du an weiteren Details interessiert bist, findest du in diesem Blog weitere Beiträge zu den von uns entwickelten Lösungen .
Werfen wir einen Blick hinein! Zurzeit sind wir 36 Kollegen, die im Maschinenraum der data.works arbeiten. Trotz unterschiedlicher Hintergründe und Berufsbezeichnungen haben wir alle eine ähnliche Denkweise und überschneidende Fähigkeiten.
"Trotz unterschiedlicher Hintergründe und Berufsbezeichnungen haben wir alle eine ähnliche Denkweise und überschneidende Fähigkeiten".
Da wir wissen, dass die Interpretation von Rollenprofilen und Titeln in verschiedenen Unternehmen unterschiedlich sein kann, möchten wir einen groben Überblick darüber geben, wie wir diese Rollen definieren. Die folgende Grafik zeigt, dass jedes Profil aus den gleichen Kompetenzbereichen besteht, jedoch mit unterschiedlicher Gewichtung und Schwerpunktsetzung. Bitte bewerte die dargestellten Anteile nicht über - sie sollen einen Gesamteindruck vermitteln.
Bevor wir auf die Differenzierung der Rollen eingehen, wollen wir die fünf Kompetenzbereiche hervorheben, die jeder Entwickler bis zu einem gewissen Grad beherrschen sollte:
1. Cloud-Architektur und IT-Sicherheit
Wir sind ein Cloud-natives Softwareunternehmen. Jeder versteht, welche Cloud-Infrastruktur und -Tools verwendet werden sollten, um moderne und sichere SaaS-Produkte in einer Cloud-Umgebung zu entwickeln. Spezialisten in diesem Bereich sind dafür verantwortlich, unsere Kerninfrastruktur zu pflegen und andere Produktteams mit Tools auszustatten, die ein effizientes, konformes und sicheres Arbeiten ermöglichen.
2. Allgemeine Softwareentwicklung
Unsere Teams entwickeln Softwareprodukte von der Idee bis zum Betrieb. Dabei geht es nicht nur um das Programmieren eines Softwareteils. Wir müssen die Komplexität unserer Systeme in den Griff bekommen, und wir alle sind für Versionskontrolle, CI/CD, Patch-Management, Software-Skalierbarkeit und langfristigen Betrieb verantwortlich.
3. Datenverarbeitung
Die Verarbeitung von vielen Daten ist zentral für die meisten unserer Softwareprodukte. Die Aufgaben in diesem Bereich reichen von der Erstellung von Datenmodellen, der Pflege von Datenbanken, der Verarbeitung von Daten in Batch und Echtzeit, der Analyse von Daten und deren Qualität sowie der Sicherstellung einer effizienten und datenschutzkonformen Speicherung. Wie bei vielen Dingen in der IT bringt die Zunahme des Datenvolumens viele Herausforderungen mit sich. So verarbeiten wir beispielsweise jeden Monat über 60 Millionen Suchvorgänge in Echtzeit.
4. Statistik und maschinelles Lernen
Wir entwickeln anspruchsvolle Software für maschinelles Lernen, z. B. zur Vorhersage künftiger Verkäufe, aber auch zum Verstehen von geschriebenem Text. Wir haben nicht nur Spezialisten für maschinelles Lernen in unseren Teams, sondern jeder hat ein Grundverständnis für die Funktionsweise und die Anforderungen an gute ML-Modelle. Und da wir hohe Qualitätsstandards haben, führen wir viele Experimente und Tests durch, die ein gewisses Maß an Statistikkenntnissen erfordern.
5. Geschäftsverständnis und Kommunikation
Softwarelösungen basieren in der Regel auf den Bedürfnissen der Kunden, die von den Produktverantwortlichen analysiert und berücksichtigt werden. Wir sind jedoch der Meinung, dass Entwickler den geschäftlichen Kontext und die Anforderungen verstehen sollten. Wir möchten, dass unsere Kollegen in der Lage sind, sowohl innerhalb des Teams als auch mit verschiedenen Interessengruppen offen zu kommunizieren.
Data Engineers (früher auch als Datenarchitekten bekannt) sind für den Aufbau und die Pflege unserer Datenpipelines, Data Marts und datengesteuerten SaaS-Produkte zuständig. Sie lieben es, Daten zu crunchen, aber auch die Leistung unserer APIs, Pipelines oder Anwendungen zu optimieren. Viele unserer Ingenieure programmieren in Java, aber auch Scala und Python sollten nicht fehlen. Die Beherrschung von SQL ist natürlich ein Muss. Neben dem Umgang mit dem gesamten Google Cloud Tech Stack sind Docker, Terraform und weitere DevOps-Tools ein wichtiger Teil ihrer täglichen Arbeit.
Data Scientists sind darauf spezialisiert, Machine Learning Modelle und Datenpipelines zu erstellen und zu pflegen - nicht nur in Jupyter Notebooks, sondern als Softwarelösungen. Sie sind nicht auf Python-Pakete wie pandas, scikit-learn, pytorch oder tensorflow beschränkt! - Bei data.works haben wir sogar die Open-Source-Pakete skorch, palladium und dstoolbox(mit-)entwickelt.
Machine Learning Engineers haben eine hybride Rolle zwischen Data Scientists und Data Engineers.
BI Engineers haben die Hauptverantwortung, Geschäftsprozesse in Datenstrukturen und technische Konzepte zu übersetzen. Wir entwickeln derzeit eine große neue Business Intelligence-Plattform zur Verarbeitung von Daten aus vielen Quellen und Unternehmen. Ihre Geheimwaffen sind ein gutes Verständnis für Zusammenhänge und die Fähigkeit zur Abstraktion mit der gleichen Liebe zum Detail.
Cloud Engineers sind für den Aufbau und die Wartung von Cloud-Architekturen, -Systemen und -Werkzeugen zuständig. Sie sind sowohl unsere Sicherheitsspezialisten als auch die größten Unterstützer und Helfer. Unsere hochmodernen Cloud-Sicherheitslösungen werden nicht nur intern genutzt, sondern mittlerweile auf die gesamte Otto Group und darüber hinaus ausgeweitet. Das Team ist selbstverständlich mit dem GCP Tech Stack vertraut und programmiert meist in Golang.
Product Engineers (alternativ: Developer) bauen und warten SaaS-Produkte im Allgemeinen. In manchen Fällen ist eine exportierte Datei oder API einfach nicht genug, sondern wir brauchen eine grafische Benutzeroberfläche. Wir verstehen diese Rolle als Full Stack Engineer mit einem tiefen Verständnis für die Kundenbedürfnisse und der Fähigkeit, Software auf großen Datenstrukturen aufzubauen.
Bitte denken Sie daran: Dies sind die Definitionen, die wir bei der Otto Group data.works anwenden, aber Jobtitel sowie deren Interpretation können an anderen Stellen abweichen. Wir gehen jedoch davon aus, dass unser Verständnis in der Branche weit verbreitet ist.
Wir haben ein großartiges Team aus BI-Ingenieuren, Cloud-Ingenieuren, Dateningenieuren, Datenwissenschaftlern, ML- und Produktingenieuren. Jede Rolle hat ihre eigenen Spezialitäten, obwohl sie ähnliche Fähigkeiten haben. Wir entwickeln hochmoderne, auf Daten und maschinellem Lernen basierende Softwarelösungen in einer Cloud-Umgebung. Unsere Kollegen arbeiten in personell übergreifenden und agilen Teams, die von einem Product Owner und agilen Coaches begleitet werden. Da die Aufgabenprofile nicht vollständig trennbar sind, werden auch die Arbeitspakete in der Regel nicht von einer einzigen Rolle allein umgesetzt. Wir legen Wert auf enge Zusammenarbeit, geteiltes Wissen und volle Verantwortung für alle.
Dieser Artikel wurde ursprünglich auf Medium veröffentlicht und kann dort auch nachgelesen werden.
Möchtest du ein Teil des Teams werden?
Hi Josefine,
wie arbeitet ihr mit den restlichen Produkt-Teams zusammen, die euch Datenquellen liefern, verwendet ihr z.B. Data Mesh als Organisationskonzept? Und wie integriert ihr technisch die Datenquellen in euere Organisation, um darauf SaaS Produkte zu bauen?
Dank&Gruß
Chris
Hi Chris,
wir haben uns zwar mit Data Mesh erst kürzlich intensiver auseinandergesetzt, arbeiten aber gerade bei der Integration der Daten nicht anhand dieser Prinzipien. Wir haben ein zentrales Team in der data.works, dass für den Aufbau und Betrieb unseres Datenpools verantwortlich ist. Dort laufen alle Datenquellen zusammen, Schnittstellen sind genau definiert und auch auf die Datenqualität wird geachtet. Da Fachbereiche in den Konzernfirmen von den SaaS-Lösungen profitieren, gibt es ein gewisses Eigeninteresse, dass die Daten korrekt und vollständig eingeliefert werden.
Technisch sind wir in GCP unterwegs. Die personenbezogenen Daten werden zunächst verschlüsselt und wandern dann entweder in Near-Real-Time oder als Batch-Job durch unsere Pipelines. Dabei kommen u.a. DataFlow, PubSub, Cloud Storage und BigQuery in den Einsatz.
Viele Grüße,
Josefine
We have received your feedback.