Skillbyte Podcast #7: Must-have Skills, Technologien und Weiterbildung für Data Engineers und Data Scientists

Willkommen zum Skillbyte-Podcast! Skillbyte ist Ihr Partner für digitale Exzellenz.
In diesem Podcast geht es um das Thema: Must-have Skills, Technologien und Weiterbildung für Data Engineers und Data Scientists
// Inhalt //
- Was ist ein Data Engineer und was ein Data Scientist?
- Welche Skills hat ein Data Engineer und welche ein Data Scientist?
- Welche Technologien setzen Data Scientits und Data Engineers ein?
- Wie bilden sich Data Scientits und Data Engineers weiter?
- Skillbyte als Data Scientits und Data Engineers Experten
Sprungmarken:
00:53 -> Definition Data Scientist
01:42 -> Definition Data Engineer
02:29 -> Fließende Abgrenzung und Tätigkeitsfelder, Beispiele
12:50 -> Visualisierung der Ergebnisse
18:33 -> Unterscheidung zwischen Data Warehouse und Data Lake
20:37 -> Diese Technologien werden von Data Scientists und Data Engineers eingesetzt
32:02 -> Skillbyte als Data Scientits und Data Engineers Experten
Link zum Blogartikel: Daten perfekt visualisieren
https://www.skillbyte.de/daten-perfekt-visualisieren/
Link zum Podcast: Apache Airflow - Zuverlässige Automatisierung geschäftskritischer Workflows
https://soundcloud.com/skillbyte/skillbyte-podcast-4-apache-airflow-zuverlassige-automatisierung-von-geschaftskritischen-workflows
Link zum Podcast: Das Hadoop Ökosystem - Was leistet die bekannteste Big Data Platform?
https://soundcloud.com/skillbyte/skillbyte-podcast-3-das-hadoop-okosystem-was-leistet-die-bekannteste-big-data-platform
Link zum Blogartikel: Must-have Ressourcen, Skills und Techniken für Data Engineers und Data Scientists
https://www.skillbyte.de/must-have-ressourcen-skills-und-techniken-fuer-data-engineers-und-data-scientists/
Abonnieren Sie diesen Podcast und besuchen Sie uns auf https://www.skillbyte.de
Feedback und Fragen gerne an podcast@skillbyte.de
AUTOMATISCH ERZEUGTES TRANSKRIPT
Herzlich Willkommen zum Skillbyte Podcast Nr. 7 Must have Skills Technologien und Weiterbildung für Data Engineers und Data Scientist Mein Name ist Maurice von Skillbyte und ich freue mich heute wieder mit Masiar, dem Geschäftsführer von Skillbyte, sprechen zu können. Hallo Masiar, Hallo Maurice, es freut mich wieder dabei zu sein.
Gerne. Ich wollte noch vorweg sagen Zuhörer können natürlich jederzeit ihre Fragen an Podcast Skillbyte einsenden. Und wenn ihr Anregungen habt, lasst uns das gerne wissen. Wir freuen uns immer über ein Abo dieses Kanals, je nachdem wer gerade zuhört auf YouTube, Soundcloud, dieser und über 5 Sterne Bewertungen. Unser Thema ist heute was machen Data Engineers und Data Scientists? Welche Skills müssen die haben? Welche Technologien? In welchen Technologien müssen sie sich auskennen und welche Weiterbildungsmöglichkeiten gibt es für sie?
Ich würd einfach mal starten mit einer Definition vom Data Scientist und von einem Data Engineer, den ich mir so vor einiger Zeit überlegt habe. Und zwar meiner Ansicht nach ist ein Data Scientist jemand, der fortgeschrittene Kenntnisse in der Mathematik, Statistik und im Bereich Machine Learning und künstlicher Intelligenz besitzt und sich intensiv mit dem Thema Datenanalyse beschäftigt. Das oberstes Ziel eines State of Scientists ist es, die Auswertung der Ergebnisse im Hinblick auf Nützlichkeit von Unternehmen zu untersuchen und diese verständlich zu präsentieren bzw.
zu kommunizieren. So weit zum Data Scientist. Also Data Scientist ist ja Daten Wissenschaftler. Jemand, der sich wissenschaftlich mit Daten auseinandersetzt, der erforscht der Mustererkennung und der einen mathematisch technischen Bildungshintergrund hat. Ein Data Engineer hingegen, dessen Kernkompetenzen liegen in dem Bereich der angewandten und fortgeschrittenen Programmierung in sogenannten Hoch Sprachen also die verbreitetste in dem Umfeld ist sicher Python, aber auch Scala und Java spielen eine Rolle. Des Weiteren verstehen Data Engineers die Herausforderung von verteilten Systemen und Daten fließen in diesen verteilten Systemen Datenanalyse und die Verwendung von Werkzeugen zur Daten, Extraktion und Transformation gehören aber ebenso zu den Fähigkeiten eines Data Engineers.
Und im Gegensatz zu einem Data Scientist stellt ein Data Engineer grundlegende Daten bereit und verarbeitet diese Rohdaten programmatisch, also bereitet etwa Daten auf, die dann von einem Data Scientist auf Muster untersucht werden.
Inwieweit sind denn diese Bereiche übergreifend? Das heißt, wie viel Data Engineering noch muss ein Data Scientist haben und andersherum?
Da gibt es natürlich so ein Spektrum, sage ich mal An dem einen Ende des Spektrums ist der Data Scientist, auf dem anderen Ende vielleicht der Data Engineer. Und die überlappenden Skills bewegen sich im Bereich der Datenanalyse. Beide Gewerke bekommen die Aufgabe zum Beispiel sich gewisse Datenstrukturen anzugucken, zu schauen Eignen sich die Daten für verschiedene Business Fragestellungen? Reichen die Daten aus? Sind die Daten Narayen genug? Hat man es mit Spaß Data zu tun? Also empfehlen Datenpunkte, um Aussagen treffen zu können.
Dieses Thema betrifft auf jeden Fall beide Gewerke. Auch die Programmierung von Tools oder von Abläufen betrifft beide Gewerke. Auch wenn ein Data Engineer stärker damit beschäftigt sein wird, also ein Data Scientist programmiert auch, stellt aber häufig Skripte zusammen, die fertige Libraries hintereinander verschaltet und Data Engineer wird er Daten Bereinigung auf großen Datenmengen durchführen, mit programmatischen Werkzeugen und beiden. Gemein ist die Verwendung von speziellen Tools, also SQL werden beide können das Jupiter Notebook zum Beispiel, da sage ich später noch was zu.
Sollten auch beide beherrschen und natürlich grundlegende technische Fragestellungen, also sich auf der Kommandozeile bewegen können und so weiter. Okay, wenn man es noch mal so in einem Satz definieren möchte, ist der Data Scientist der mathematisch statistische Wissenschaftler, der Daten untersucht. Unter Data Engineer ist der Software technisch bewanderten System Architektur verstehende Entwickler, der eben über Daten strecken diese Daten, die untersucht werden, von dem Data Scientist bereitstellen kann oder auch kontinuierlich bereitstellen kann. Das ist ein ganz großes Thema, das man natürlich, wenn man die Daten irgendwo extrahiert, z.B. Sensordaten, die dann angeliefert werden, dann macht man das häufig so, dass Sensordaten, ich sage mal von über dem Zeitraum eines Tages werden gesammelt und einem Data Scientist bereitgestellt.
Der baut ein Modell darauf oder macht verschiedene Analysen. Und später wird dann beschlossen Okay, das können wir verwenden. Wir bräuchten jetzt aber jeden Tag im Prinzip die aktuellen Sensordaten, die müssen in Echtzeit verarbeitet werden oder Batch mäßig. Und dann würde der Data Engineer dieses Daten sammeln, verarbeiten und bereitstellen, automatisieren. Genau der Data Scientist, der ja mit mathematischer und statistischer Kompetenz die Daten analysiert, verwendet sehr häufig fertige Bibliotheken aus dem Python Universum oder dem Spark Universum oder dem Tensor Flow Universum, um Daten, die er erhalten hat zu analysieren oder die nutzbar zu machen, eben in dem Tensor Flow Universum.
Wenn man Data Scientist so zuschaut, ist es ein sehr großer Anteil dieser Forschung. Ausprobieren, mit verschiedenen Parametern spielen, verschiedene Algorithmen zu verwenden und zu schauen, wie bekomme ich ein Problem in den Griff? Also um das mal etwas plastischer zu machen an einem Beispiel könnte ich überlegen Ich habe eine Produktion. Das sollte man für unsere Zuhörer vielleicht kurz erklären. Da geht es darum, Geschäftsmodelle wo Kunden Abo Dienste abschließen, also zum Beispiel ein Telefon Provider, wo ein Kunde einen Vertrag hat.
Jeden Monat wird einzeln abgebucht, ein Kunde hat sozusagen ein Handyvertrag, einen monatlichen Handyvertrag und der Telefon Provider möchte wissen wann kündigen Kunden dann kann anhand von verschiedenen Informationen über diesen Handyvertrag. Wie viele Telefonate werden geführt in das eigene Netz? Wie viele Telefonate werden in das andere Netz geführt? Wo haben die Familienmitglieder eines Kunden einen Handyvertrag? Gibt es verschiedene Indikatoren, dass man sagt Okay, dieser Kunde wechselt wahrscheinlich demnächst, weil wir haben dieses Muster schon zehntausend Male erkannt und in 8000 Fällen hat der Kunde dann hinterher den Telefon Provider gewechselt.
Eine Trampe Diktion würde sozusagen diese Kunden herausfiltern aus der Gesamt Kundenbasis und sagen guck mal diese 2000 Kunden hier, die sind gefährdet und können abspringen. Das wäre ein Fall für ein Data Scientist. Also wie kann ich von der Datenbasis Rückschlüsse darauf ziehen, welche Kunden abspringen? Und dann gibt es einige Verfahren. Die Verfahren setzen unterschiedliche Eingangs Daten voraus. Man kann dann quasi je nachdem welche Eingangs Daten vorliegen. Das ist natürlich jetzt individuell abhängig von dem Telekommunikationsunternehmen oder der Datenbasis des Telekommunikationsunternehmen.
Kann man dann quasi verschiedene Algorithmen ausprobieren mit verschiedenen Einstellungen. Und das ist auch so, wie es in der Praxis gemacht wird, dass man im Grunde schaut, dass man ein plausibles Modell oder plausible Parameter für ein Modell findet. Und dann erhält man einen Extrakt, eine Liste von Kunden, die möglicherweise den Vertrag bald kündigen werden und kann dann entsprechend gegensteuern mit Marketingmaßnahmen oder diese Leute anrufen und ein besseres Angebot machen oder nachfragen, warum sie denn möglicherweise unzufrieden sind. Wie auch immer.
Da gibt es jetzt verschiedene Möglichkeiten, wie man mit diesen Menschen in Kontakt treten kann oder was man da machen kann, je nachdem, was die Zielstellung des Unternehmens ist. Okay, genau so kann man sich das vorstellen. Und ein ganz essentieller Teil der Data Science Spezialisten besteht halt auch in der Visualisierung der Ergebnisse, die sie ermitteln. Also es reicht nicht, nur ein Modell zu trainieren. Das wird auf der Kommandozeile gemacht und hinterher purzelt irgendeine Datei raus, die irgendwas vorhersagt, sondern dass man schon auf Basis dieses Modells dann eben Grafiken erstellt, die genau visualisieren oder die genau verdeutlichen Warum kündigen Kunden?
Wie ist der Schwellwert hier eingestellt? Was ist mit Kunden, die genau um diesen Schwellenwert liegen? Haben wir die zurückgewinnen können, so dass es sehr einfach wird, visuell diese ganze Komplexität, die ja in diesem Modell drin steckt, direkt zu erfassen für die Business Seite? Also dass der Projektmanager oder der Produktmanager halt schnell erkennen kann Ah, okay, unterhalb dieses oder jenen Grundpreis kündigen Kunden weniger. Oder wenn jemand 50 Telefonate pro Monat führt, der kündigt tendenziell sehr wenig, weil der einfach sein Telefon nur benutzen will und viel telefoniert.
Wenn jemand nur zehn Telefonate führt. Der Wechsel zum Beispiel häufiger den Vertrag, je nachdem da, wo er das beste Angebot bekommt. Dem müssen wir jetzt ein Angebot machen, das er bei uns bleibt, wenn wir das wollen, dass das direkt visuell sichtbar wird. Wen das genauer interessiert ich kann ein Link in die Podcast Beschreibung dazu packen. Da gibt es einige Werkzeuge zur Visualisierung. Da haben wir mal einen Blogpost geschrieben am Skillbyte Blog. Also das bekannteste oder naheliegendste Werkzeug ist natürlich Excel mit der Diagramm Funktion Tableau wird häufig genannt und auch verwendet von vielen Unternehmen.
Das heute Nacht. Das ist sehr, sehr mächtiges Tool. Das hat den Nachteil, dass jeder Nutzer eine eigene Lizenz dafür benötigt und man sich einarbeiten muss. Es gibt eine Desktop Version und es gibt eine Web-Browser Version. Ein weiteres verbreitetes Tool zur Daten Visualisierung ist Microsoft Power BI. Viele Unternehmen haben dafür schon Lizenzen abgeschlossen. Das ist jetzt sozusagen die Visualisierung für die Business Seite. Data Scientists selber werden im Jupiter Notebook sich überwiegend bewegen und dann Visualisierungen zum. Mit Matt Gottlieb oder anderen Plotin Libraries darstellen lassen, weil diese Tools einfach schnell verfügbar sind und sich gut mit den Werkzeugen eines Data Scientist ansprechen lassen.
Man kann sich sehr schnell Maurice Graphen visualisieren lassen oder um erstmal so ein Grundverständnis zu kriegen.
Dann gibt es noch weitere Tools.
Ich zähle gerade mal auf. Also ein sehr mächtiges Werkzeug ist auch noch Kaffee. Das hatte ich dir ja auch schon mal gezeigt. Das ist dann ganz besonders wertvoll, wenn man Graphen Strukturen visualisieren möchte. Also du hast dann Landkarten von Themen oder Begriffen oder du hättest jetzt um beim Beispiel der Projektion zu bleiben, könntest du Cluster von Kunden zeigen, die sehr sehr wahrscheinlich nicht wechseln werden und Cluster von Kunden, die sehr sehr wahrscheinlich wechseln werden. Die könntest du irgendwie einfärben, da durch diese Größenverhältnisse und durch die Verknüpfung untereinander kannst du halt sehr, sehr viele Features auf einmal visualisieren.
Also wie groß sind die Cluster? Könnte bedeuten, wie viele Kunden sind da jeweils drin, welche Farbe haben die? Das könnte bedeuten, wie wechseln will ich sind die Kunden und wie viele Verbindungen haben die? Das heißt zum Beispiel Wie oft telefonieren diese Menschen oder wie viele Daten Ihres Daten Vertrages benutzen sie?
Okay, okay, dann gibt es noch so JavaScript Library, T3 oder JS oder Startpunkt JS. Das sind einfach Open Source JavaScript Bibliotheken. Wenn du auf HTML Webseiten Graphen anzeigen lassen möchtest. Daten Visualisierung zur Interpretation der Ergebnisse ist absolut essenziell für ein Data Scientists. Ein weiteres Kernthema ist das Modell Training und die fortlaufende Ergebnis Auswertung. Also es ist auch so als Staatsfeind. Du trainierst einmal ein Modell, drehst an den ganzen Parametern bist du ein gutes Ergebnis, hinbekommst also im Beispiel der Telekommunikationskonzern Produktion.
Würdest du jetzt ein plausibles Modell trainieren, dann würdest du sagen Okay, das und das und das sind die Kunden, die wahrscheinlich abspringen. Dann würdest du die Kunden versuchen zu halten und dann würdest du nach einem Monat oder so auswerten und sagen Okay, bei welchen Kunden hat es denn jetzt geklappt, bei welchen hat es nicht geklappt? Und je nachdem, wie dieses Ergebnis ausfällt, würdest du das Modell halt nach tunen. Und diesen Kreislauf würdest du immer wieder beschreiten, um das Modell möglichst genau an die jeweilige Situation immer anzupassen.
Eben so lange sich das wirtschaftlich noch lohnt. Maurice und die dritte Kernkompetenz des Deltas. Es ist halt eben auch die Kommunikation von Ergebnissen und die ja doch etwas abstrakten mathematischen Modelle da in klare Aussagen zu verwandeln. Also dass man wirklich sagt Okay, das sind die Kunden, die kündigen, weil es woanders einen günstigeren Vertrag gibt oder es woanders mehr Daten gibt fürs gleiche Geld oder weil die ganze Familie zu einem anderen Provider wechselt wechselt. Auch der eine, der eigentlich zufrieden ist, wechselt halt mit, weil die ganze Familie dann nur noch eine Rechnung bekommt.
Das sind auf jeden Fall die Kernschmelze eines Data Scientists.
Diese Visualisierung Geschichte ist das im Prinzip, wenn man mal diese Insights gewinnt. Das ist hier das eine, sich zu überlegen Wie kann ich diese Insights gewinnen? Das andere ist tatsächlich Visualisierung. Also wie kann ich es meinem Kunden, die es vielleicht nicht so auf der Business Ebene unterwegs ist, das, was ich herausgefunden habe, auch verständlich rüberbringen kann. Das ist schon eine Wissenschaft für sich.
Genau. Wir hatten in der letzten Podcast Episode haben wir von Faulstich Entwicklern gesprochen. Auch hier im Data Science Bereich hast du natürlich eher Leute, deren Kompetenz ganz klar auf diesem Forschungsbereich liegt und Leute, deren Kompetenz auf diesem Kommunikationsbereich liegt. Aber klar, ganz wichtig ist, wenn du forscht und tolle Konzepte entwickelst, tolle Modelle trainierst, die dem Geschäft viel bringen können, aber ist nicht entsprechend kommunizierst, müssen wir sehr große Probleme haben, entsprechend diesen Wert zu generieren.
Und vielleicht ist jemand, der dann technisch oder von der Wissenschaft Seite nicht so stark ist, aber besser kommuniziert kann ein Mehrwert auch wirklich abschöpfen als du, wenn trotz dass du wissenschaftlich besser bist?
Ja, das glaube ich.
Also Kommunikation und Visualisierung noch nicht mal, weil da gibt es sehr viele Tools und als Data Scientist bist du auch selber darauf angewiesen, dir die Zwischenergebnisse zu visualisieren. Das heißt, du musst verstehst derselben wie du zu deinem Ergebnis kommst und kannst das auch anderen Menschen zeigen. Aber Kommunikation und dann wirklich zu sagen, das und das und das habe ich herausgefunden, das bedeutet das und das und das und das für uns. Also wirklich dann die Forschung und die Business Seite zusammenzubringen, zu verknüpfen und klare Aussagen daraus zu formulieren, das ist eine schwierige Sache.
Und auch wenn man da erfolgreich ist, hat man ein Riesenvorteil. Auf jeden Fall okay.
Aber sonst? Also als Data Scientist. Ich will jetzt nicht davon sprechen, dass man in einem Elfenbeinturm arbeitet, aber die Gefahr ist groß, dass du irgendwas machen und keiner versteht, was du tust. Und wenn du es dann nicht entsprechend kommunizieren kannst, denke ich, kommt man früher oder später in problematische Situation dagegen. Wenn man immer erklären kann, was man macht und das auch kommuniziert, dann. Man da weniger Probleme und das Geschäft hat mehr davon. Jetzt haben wir sehr viel über Data Science gesprochen.
Vielleicht noch zum Abschluss Wir hatten eingangs die überlappenden Skills genannt für einen Data Scientist. Ich glaube, das ist ganz, ganz wichtig, dass Data Scientist sich auch mit SQL auskennen, dass sie auch zumindest in Python programmieren können oder Bibliotheken, die in Python vorliegen, ansprechen können. Das ist ganz wichtig.
Klappt auch immer. Also da habe ich jetzt noch keine Probleme gesehen. Es gibt aber verschiedene Spezialisierungen, Richtungen, also zum Beispiel Patches, Park Programme oder PiS-Partei Programme, die dann zur Machine Learning Libraries von Spark benutzen, die Helm Lips. Das wäre auch etwas, was sowohl ein Data Engineer als auch ein Data Scientist machen könnte. Und eben die, ich nenne es mal Big Data Tools. Das Jupiter Notebook ist in sich ja ganz verbreitetes Werkzeug, was jeder Data Scientist kennt und verwendet.
Apache, Zeppelin, Apache Zeppelin ist ein weiteres Werkzeug, was einen ähnlichen Funktionsumfang bietet, aber ein Apache Projekt ist. Das sind auch Werkzeuge, die beide einsetzen können, also Data Engineers sowie das Testen der Engineering Teil oder der Data Engineer. Das ist der, der ich glaube dem Softwareentwickler, so wie wir das sind, der dem einfach näher ist, weil es sehr viel mehr um Programmierung geht. Also ein Data Engineer. Noch mal was hat er von der Aufgabe im Unternehmen?
Also der hat ja die Aufgabe erst mal zu verstehen, welche Daten wollen wir denn hier sammeln und verarbeiten? Wo kommen die Daten her? Wie führe ich diese Daten zusammen und wie reinige ich die und wie lege ich die dann strukturiert ab, so dass auf diesen strukturierten Datenanalysen durchgeführt werden können? Also der Data Engineer bestellt sozusagen das Feld für den Data Scientist. Das ist sehr oft der Fall und dafür ist es natürlich wichtig, dass man fortgeschrittene Programmierkenntnisse hat, mindestens in Python, besser noch in Datentypen Sprachen wie zum Beispiel Scala, dass man verschiedene Systeme anzapfen kann und die Sensordaten auslesen kann oder eben aus verschiedenen Datenbanken, die Daten zusammen laden kann, aggregieren kann.
Dass es ganz oft der Fall, dass in großen Unternehmen ist, ist schon ganz viele verschiedene Daten Silos gibt. Das sind klassische SQL Datenbanken, CSV Dateien, Lock Dateien, die irgendwie zusammen aggregiert werden müssen in ein System. Früher hat man das in einem sogenannten Data Warehouse gemacht, meistens einer SQL Datenbank. Heute macht man das auf einem Data Lake. Ein Data Lake ist zum Beispiel eine Apache Dub Installation, also einfach ein Computer Cluster auf dem Apache Dub installiert ist.
Da werde ich einen Link zu in die Podcast Beschreibung packen, weil zum Thema haben wir ja auch schon einen umfangreichen Podcast gemacht und auch einen Blogartikel geschrieben, wo noch mal die einzelnen Komponenten genauer aufgezählt werden. Okay, der Data Ingenieur hat diese Landkarte vor der Brust. Wo liegen überall die Daten? In welcher Qualität liegen die vor und spricht dann mit der Business Seite und mit der Data Scientist und sagt Okay, wie braucht ihr die Daten denn in welcher Regelmäßigkeit und wie müssen die zusammen aggregiert werden oder zusammen Joint werden aus unterschiedlichen Quellen, damit ihr damit arbeiten könnt und zapfen diese Datenquellen an und lagern die dann im Data Lake ein?
Also nochmal zusammenfassend an Data Ingenieur sichtet Daten und baut Aggregate aus diesen Daten, automatisiert die fortlaufende Bereitstellung von diesen aggregierten Daten und bindet nach und nach auch neue Datenquellen ein.
Also was ist denn jetzt der Unterschied zwischen Data Seehaus? Und im Detail lag ein Data Warehouse ist klassischerweise eine oder es können auch mehrere Datenbanken sein, wo ich sage mal die verschiedenen Datenquellen angezapft werden und dann alle per SQL in dieser in diesen klassischen Datenbanken schon strukturiert, also Schema strukturiert abgelegt werden. So hat man früher gearbeitet, oder Data Warehouse gibt es ja schon seit Ende der 90er und Data gibt es seit Ende der 90er und diese Methodik wird eingesetzt. Bei einem Data Lake hingegen ist der Gedanke Ich speichere alle Rohdaten unverarbeitet, so wie sie reinkommen in einem riesigen Cluster Verbund von Rechnern 4 zum Beispiel und speichert diese Rohdaten ab, weil ich noch gar nicht weiß, welche Rohdaten ich benötige.
Zu einem späteren Zeitpunkt also der erste Schritt ist in dem Data Lake laufen alle Rohdaten, ein Navi, diese Flüsse, die alle in diesen See einströmen und dann erst im nächsten Schritt extrahieren. Ich aus diesen Daten sehe die Daten, die ich brauche, lege eine Struktur darauf, lege eine Bereinigung da drauf. Das kann mit Apache oder Apache Spark Jobs dann geschehen und fahre dann weitere Analysen auf diesen Aggregaten. Und das ist halt ein anderer Ansatz. Durch die günstige Computing Power und den günstigen Storage.
Kannst es dir halt heute erlauben alle Rohdaten erstmal in alle. Einem See abzuspeichern, unstrukturiert oder so strukturiert, wie die Rohdaten angeliefert werden, speicherst du das erst mal weg. Und das ist der Unterschied zwischen einem Data Warehouse und einem Data Lake Data Lake Isensee aus unstrukturierten Rohdaten, die dann in nachfolgenden verarbeitenden Schritten strukturiert werden. Und ein Data Warehouse. Da musst du dir schon Gedanken machen über die Struktur und was du abspeichern möchtest. Wenn du diese Rohdaten da einfügt und du hast dann tendenziell schmeißt du Daten weg bei diesem Schritt, die du vielleicht du weißt es nicht, aber die du vielleicht noch für die eine oder andere Analyse benötigen würdest.
Okay, verstanden.
Also wir haben jetzt schon mal ein paar Technologien oder Namen von Technologien sind jetzt schon gefallen. Ich würde einfach noch mal aufzählen, welche Technologien Data Scientist und Data Engineers so generell einsetzen. Also Data Scientists verwenden natürlich Python Engineers, auch das kann man mal ganz klar so sagen. Data Scientist benutzen noch die Sprache Erdi. Die hat eine relativ steile Lernkurve. Aber es bietet sich einfach an, wenn man Datenströme oder Daten verarbeiten möchte, die in Matrizen aufspannt und die zum Beispiel miteinander multiplizieren möchte.
Und so bietet er relativ prägnante Syntax, um diese Operationen recht einfach durchführen zu können. Jupiter Notebook hat man eben auch schon gesprochen. Das ist sozusagen das Scratch Book oder die, die ja wie so eine interaktive Shell, in der man die verschiedenen Algorithmen testen kann, in denen man Parameter tun kann, in denen man sich Daten anschauen kann und dass alles sehr interaktiv und sehr einfach. Das ist auf jeden Fall ein Tool, was überall im Einsatz ist. Und dann gibt es verschiedene Sparten, Bibliotheken je nach Einsatzzweck.
Also werden um Machine Learning machen, möchte es aber Patches Parteibasis, dann gibt es die Helm Lib oder Space ML, dann gibt es das Tensor Flow Universum. Wenn du das benutzen möchtest Kiras Typekit Learn von Apple gibt es jetzt Kreml, also Machine Learning. Ein Werkzeug von Yandex zum Beispiel ist CAD Boost Hype formale Open Source Library for Gradient Posting on Decision Trees. Das sind dann je nach Special Anwendungsfall, den du abbilden möchtest, weitere Bibliotheken, die dann eingesetzt werden können.
Und da tut sich auch unheimlich viel. Also in diesem Ökosystem ist so viel Bewegung drin, dass ich jetzt in nem die Podcast Episode heute auf und in einem halben Jahr können schon fünf neue Werkzeuge müssten quasi genannt werden. Ja, das ist Wahnsinn. Da passiert sehr sehr viel. Auch die ganzen großen Firmen, also Tensor Flow oder CAD Boost von Yandex. Die schieben diese Entwicklung rasant voran um welche Technologien setzen bei den NEOS ein? Auch pfeifen viele, viele Werkzeuge aus dem Apache Dub Universum, also insbesondere Hive und Sparprogramme, was das Jupiter Notverkauf für den Data Scientist ist, wo er iterativ dann die Modelle trainieren kann oder Daten visualisieren kann und Programme entwickeln.
Das ist für den Data Engineer häufig. Die Beliehen Line ist so eine SQL Eingabe Zeile für Daten, die auf dem Apache Cluster liegen. Okay, da hast du quasi die ganze Mächtigkeit von SQL, um dich dann durch die Daten zu graben. Das ist super bequem und du kannst es halt über den ganzen Cluster skalieren. Das ist halt auch noch ziemlich schnell für die Datenmenge. Scala und Java Programme können erstellt werden, um zum Beispiel verschiedene Sensordaten einzusammeln. Da gibt es dann häufige Java Schnittstellen oder C Schnittstellen, um bei IoT Geräten diese Daten einzusammeln.
Oder diese Geräte haben einfach Rest Endpunkte, wo man Daten abgreifen kann. Die kann Data Engine natürlich integrieren, mit SQL Datenbanken umgehen, auch mit No SQL Datenbanken umgehen und ein Data Engineer, wir haben es eingangs erwähnt, ist dann häufig mit der Aufgabe konfrontiert Okay, die Daten Strecke, die du jetzt gebaut hast, die müssen wir täglich oder stündlich oder zyklisch müssen wir die Daten aktualisieren. Dann gibt es dann Werkzeuge wie zum Beispiel Apache Flow haben wir auch eine eigene Podcast Episode zu, die ich verlinken werde in der Beschreibung zu diesem Podcast Apache Flow ist halt ein Scheduler, der regelmäßig in der Konnotation dem das was sagt, die Jobs dann starten kann, also jede Stunde, jede zwei Stunden täglich und dann eben die Daten Strecken immer bereitstellt.
Dann als weiteren Punkt haben wir natürlich noch die Frage wie bilden sich Data Scientist und Data Engineers fortlaufend weiter? Weil wir haben ja eben schon gesagt, da passiert sehr, sehr, sehr, sehr viel in dem Bereich. Und das ist, würde ich sagen, die Nummer eins. Herausforderung für Data Scientist und Data Engineers, die aktuell besteht. Die Data Scientist, mit denen ich zusammenarbeite, die lesen viele Papers, die machen viele Online-Videos Kurse, die lesen viel auf Blogs oder in den Dokumentationen der jeweiligen Open Source Libraries.
Und auch ein ganz, ganz wichtiger Punkt Wenn unsere Zuhörer in einer Großstadt wohnen oder im Einzugsgebiet einer einer größeren Stadt, würde ich auch auf jeden Fall. Empfehlen, dort die Meetups anzugucken. Also mit Abkommen ist eine Webseite, da werden die Meetups gelistet, die in diesen Städten stattfinden und da kann man einfach gucken, dass man da Anschluss hat an den ja an den lokalen Data Scientist Data Engineer habe, um da einfach auch von der Erfahrung der anderen Menschen zu profitieren.
Ja, das ist ein ganz, ganz großer Punkt up to date zu bleiben, also die neuesten Sachen gerade zu diskutieren. Sachen, die man noch nicht genau um up to date zu bleiben und auch zu hören, welche Probleme haben denn andere? Haben die vielleicht die gleichen Probleme? Welche Werkzeuge setzen die ein? Oder auch um die, die arbeiten ja meistens auch bei anderen Unternehmen, welche die anderen unternehmen. Vor welchen Problemen und Herausforderungen stehen, die ist das vielleicht in meinem Team eine ähnliche Herausforderung?
Wie haben wir die schon gelöst? Haben die die schon gelöst? Und das man sich einfach dann Unternehmens übergreifend auch austauscht und weiterhilft? Ich finde das immer super, wenn diese Synergieeffekte sich dann zeigen und Leute aus unterschiedlichen Firmen aber im Grunde ähnliche Problemstellungen haben, sich da weiterhelfen kann. Und da kann so ein Abend auf Mid ab, kann wertvoller als zwei Wochen Arbeit sein, wenn man da jemanden findet mit dem gleichen Problem.
Muss denn was mich interessieren oder gerade bei dem bei dem Data Scientists, die es gibt ja ja schon mal erwähnt. Es gibt super viele Frameworks, die dieses und jenes lösen. Das heißt, ich sag mal, wenn ich im Internet zu einem bestimmten Problem nehmen wir zur Produktion bisschen recherchiere, dann gibt es da bestimmte Algorithmen und dementsprechend Frameworks. Und diese Algorithmen einsetzen oder nutzen in Frage, die sich relativ einfach einsetzen kann und auch Ergebnisse sehe. Worauf ich hinaus will.
Also inwiefern muss ich die Algorithmen mathematisch lesen, verstehen können und wie weit kann ich das einfach nutzen? Also ich weiß, dass es bei diesen Algorithmen bei vielen dieser Algorithmen sehr viele Tuning Parameter gibt. Das heißt, ich denke schon, dass es irgendwie wichtig ist, dass man so die Grundlagen versteht, weil das das ist. Das was out of the box funktioniert, wird halt nicht immer gut sein, sondern es geht ja immer bei Data Science darum, dieses letzte Prozent rauszuholen.
Bestes Beispiel Stromproduktion. Wenn ich mal Millionen von Kundendaten habe und keinen Algorithmus um 1 prozent rauf und runter tunen, ist das echt viel Geld, was da hinten rauskommen kann. Das heißt, Data Scientists muss musste auch wirklich sich dann so tief in den Algorithmen auskennen, um zu verstehen, welche Parameter er da gerade bearbeitet. Wie schätzt du das ein?
Da gibt es mehrere Ansätze, aber im Grunde oder ich erzähl einfach mal aus meiner Erfahrung, wie ich es erlebt habe, dass man dieses letzte Prozent rausquetschen kann. Da ist man oft noch gar nicht so weit, sondern es geht erst mal darum, ein Modell zu finden, was zuverlässig überhaupt eine Problemstellung löst. Zum Beispiel Du, du hast eine Telekommunikationsfirmen, hat zum Beispiel noch gar keine Ocean Protection und bekommt jetzt erst mal eine. Und dann geht es darum ein Da wird auch sehr, sehr viel eigene Meinung oder eigene Erwartungshaltung mit herein gegeben, bis man ein Modell hat, was im Grunde so ein Stück weit der eigenen Erwartungshaltung entspricht.
Wenn du sagst, du, du lässt, du hast einen Durchlauf von einem Modell und das Modell sagt dir immer 98 prozent deiner Kunden werden im nächsten Monat den Vertrag kündigen, dann denkst du ja nee, das ist einfach schon mal unwahrscheinlich. So dumm. Da habe ich irgendwas falsch eingestellt und man tut dann immer weiter an dem fertigen Algorithmus, bis man auf einen Wert kommt. Ich sage mal, der wahrscheinlich ist und dem man sich auch bei der Durchsicht der Daten dann eben erschließen kann und begründen kann.
So, dann hast du erst mal Stufe 1, würde ich sagen. Und du und du kannst erst mal gucken. Okay, wie gut ist denn da meine Vorhersage? Und jetzt? Und da steigen wir genau in diesen Zyklus ein, auf denen deine Frage abzielt. Bei der nächsten Iteration versuchst du diese Vorhersage jetzt ja zu verbessern und im Grunde immer weitere Verbesserungen, inkrementelle Verbesserungen zu begehen. Und dann kann es durchaus Sinn sein, dass man in der zweiten, dritten, vierten Iteration sich wirklich ganz genau mit den Algorithmen beschäftigt und sagt Okay, das ist jetzt hier ein generischer Algorithmus für ein generisches Problem.
Es gibt aber noch eine spezial abgewandelte Form, sag ich mal von dem Algorithmus. Die könnte für mein Problem interessant sein und dafür muss ich mein Problem aber ein bisschen anders stellen. Oder vielleicht kann ich es auch direkt so ein füttern und kann dann A gegen B vergleichen. Das ist sehr untypisch. Aber dann fängst du quasi an, immer tiefer zu bohren und mit immer mehr mathematischem Verständnis dein Ergebnis zu verbessern. Aber sehr häufig ist erst mal dieser Schritt von 0 auf 1, also keine Aktion oder keine Produktion überhaupt hinzu.
Okay, wir sagen jetzt etwas voraus, was auch plausibel ist und was wir messbar verbessern können. Weil natürlich ist es so, dass. Man häufig die Ergebnisse auch so ein bisschen, das Ergebnis ein bisschen erwartbar ist, sag ich mal, wenn eine Familie fünf Jahre lang bei einem Handynetz Provider war und jetzt nach und nach alle weg wechseln. Das ist natürlich auch der Mensch. Wenn du jetzt komplett ohne Machine Learning da rangehen würdest oder Produktion, dann würdest du auch hier denken Okay, da ist auf jeden Fall hat sich was verändert.
Das könnte potenziell dazu führen, dass derjenige abspringt. Aber das ist ja jetzt auch ein einfaches Beispiel. Aber es gibt sehr komplexe Anforderungen, da kannst du eben nicht sagen Oh, da ist es nicht so einfach möglich, dass du als Mensch sehen kannst Ah, okay, das ist der Grund, warum niemand geht, oder? Das ist der Grund, warum jemand bleibt.
Okay, aber es ist immer ein Spielen und ein Nachjustieren an den Modellen und gegebenenfalls probiert man auch neue Algorithmen aus, sowie meiner Erfahrung nach ist es aber so Wenn ein Paper geschrieben wird oder eine ein neuer Algorithmus beschrieben wird, gibt es sehr, sehr schnell die entsprechende Python Bibliothek oder auch in anderen Universen Software Bibliotheken, die diese Funktionen abbilden und die dieses Paper dann umsetzen.
Das ist mir aufgefallen. Ich habe vor einem halben Jahr keinen Bericht gelesen über die Pfade und jetzt findest du schon Frameworks dafür, wo du das quasi selber machen kannst in Python oder C. Da stimmt das schon recht relativ schnell. Kommt da schon irgendwas raus?
Also das ist auch häufig so, dass die Leute, die das Paper geschrieben haben, die wollen das natürlich auch ausprobieren. Ihre Hypothese Und wie machen Sie das in dem Sinne? Indem Sie Ihre Hypothese in Code umsetzen, als Library bereitstellen. Und desto mehr Leute deine Library ja benutzen, finde ich als Paper Autor, desto besser ist es ja, also desto besser kriegst du die Rückmeldung, desto besser kannst du sehen. Ah, okay, wir haben hier noch einen Fehler drin, oder?
Unter den und den Prämissen funktioniert das nicht so klar. Deshalb ist ja so viel Bewegung in dem Bereich drin, weil das so stark gepusht wird und auch medial natürlich riesige Erwartungshaltungen da dranhängen. Okay, als Skillbyte Welche Unterstützung können wir denn im Bereich Data Science oder Data Engineering anbieten? Wir haben ja jetzt drei Data Engineers und einen Data Science Experten und unsere bisherigen Kundenanforderungen. Das sind halt häufig komplexe Problemstellungen, also genau so wie die Stromproduktion aus dem Beispiel Der Kunde kommt zu uns und sagt Hör mal, wir würden gerne wissen, welche Kunden kündigen oder hör mal, wir würden gerne eine Reichweiten vor haben zu bestimmten Buchungen, Verhalten zu bestimmten Jahreszeiten.
Also sehr sehr high level Anfragen. Der da wird noch nicht der Manager oder Projektmanager kommt selten direkt zu uns und sagt Ja, wir haben es mit der Library in dem und dem Grad schon probiert und so weiter, sondern wirklich diese High Level Fragestellungen erreichen uns und wir gehen an so vor. Und unsere Data Engineers gehen dann so vor, dass wir erst mal eine Datenanalyse machen gucken. Sind alle notwendigen Daten da vorhanden in im Unternehmen? Oder müssen wir auch irgendwo Daten erheben, wie sie das von der Infrastruktur aus?
Also gibt es Data Warehouse Systeme oder Data Lakes, auf denen wir direkt aufsetzen können? Und im Grunde, welche Daten brauchen wir, um die Problemstellungen anzugehen? Welche Infrastruktur brauchen wir, um die Problemstellung zu lösen und welches Wissen ist erforderlich, um sozusagen aus den Daten die Antwort auf die Fragestellung zu liefern? Das sind so unsere drei Kompetenzen, die wir eben mit Data Engineers und Data Science Experten angehen.
Wir haben ja noch die, die hatten ja schon in eines der letzten Podcasts besprochen. Auch ich habe mal diese der Boobs Abteilung. Wir sind zwar jetzt nicht ein Riesen und Softwareunternehmen oder IT-Unternehmen, aber wir sind in dem Bereich relativ gut aufgestellt. Was das Know how an Merkel hat mich letztens im Kollege angesprochen, er müsste ja die Anforderungen von Data Engineer Kollege ein ein Kubernetes irgendwas ins Kubernetes Cluster zu planen und schwuppdiwupp ich konnte ihm halt helfen und er konnte das für den Kunden sofort umsetzen.
Das heißt, wir haben sehr kurze Wege. Ich glaube, das ist auch ein Vorteil, was wir haben, dass wir schnell sind, unbürokratisch. Jeder Kollege von einem anderen Unterstützung bekommen kann, und zwar in jede Richtung. Kollege fraglichen Peter Engineering hat Masiar. Wie funktioniert das mit dem Cluster oder Sparkasse oder auch andersherum? Das ist halt einer unserer Stärken.
Genau das war das war ein sehr schönes Beispiel dafür, wie das Gewerk Data Engineer in dem Fall mit dem Gewerk dev OPs kommuniziert. Weil es war wirklich so, dass eine Anwendung von einem Date Engineer erzeugt wurde und die beim Kunden dann im ON Prämisse Kubernetes Cluster gehostet werden sollte. Und da auch der Kunde noch relativ jung mit dieser oder oder diese Technologie erst sehr kurz einsetzt, gab es da auch noch viele Fragestellungen und da konnten wir jetzt da doch recht schnell das Deployment durchführen.
Und das war auf jeden Fall eine super Sache, wie ich ich finde. Auch da ist einmal die Technologie und die Landschaft, die. Echt kompliziert genug. Das stimmt und es ist super wichtig finde ich, dass wir als Beratungs Haus, wo diesen diese globale Übersicht haben, was wie zusammenspielt und wo man eventuell Ressourcen braucht, wo man eventuell noch dies oder jenes braucht, das wir nicht einfach ein Teil umsetzen, sondern so ab jetzt keine Ahnung. Kümmer dich mal selbst um dein Problem.
Wir haben diesen Anspruch, dem Kunden ganzheitlich zu helfen, selbst in die richtige Richtung stoßen und seinen Pass auf da und da. Dies und jenes Tool brauchen wir. Wir haben jetzt selber keine Ressourcen oder kennen uns im Zweifelsfall auch vielleicht gar nicht damit aus. Aber wir wissen, wie wir alles ineinandergreifen und welche Technologie wofür eingesetzt werden muss und können zumindest bei mir selber nicht weiterhelfen können in die richtige Richtung stoßen.
Das stimmt. Im Data Science und Data Engineer Bereich haben wir eben gesagt, passiert sehr viel in sehr kurzer Zeit. Das ist aber genau so, auch bei dem Steve Jobs Bereich, also Infrastructure as Code passiert ja auch super viel in kurzer Zeit und in der Softwareentwicklung Bereich. Da passiert auch sehr viel, aber der ist halt schon wesentlich älter und da gibt es einige Inseln haben sich gebildet, in denen wiederum passiert nicht so viel. Und die die aussagen sind ein bisschen verlässlicher.
Aber natürlich die der Komplexitätsgrad steigt bei IT Anwendungen generell und auch beim IT Betrieb. Und da der Kunde bezahlt uns ja letztlich nur für eine Lösung, die halt auch funktioniert und die halt auch betrieben wird. Da müssen wir natürlich zusammenarbeiten und trotzdem den Überblick behalten über die ganzen Entwicklungen, was aber auch sehr spannend ist. Also da ist ja auch viel Gutes dabei, muss man ja sagen.
Absolut. Ich meine, da reicht es nicht mehr, dass das ein Beruf ist. Wobei wir auch wieder Unternehmer sind. Bei dem Thema sind Wie muss man sich fortbilden? Ich will auf die Frequenz hinaus. Man muss viel mehr, viel schneller lernen und am Ball bleiben. Und das kann man nur, wenn man motiviert ist, wenn man das gerne macht. Wenn es nur ein Beruf ist, wo ich nur meinen Job mache, dann ja wie soll ich sagen, dann ist man, ist man entweder Mittelmaß oder schnell weg vom Fenster.
Deswegen muss man auch eine gewisse Passion für diese Dinge haben und sich mal erkundigen, Dinge ausprobieren und testen, wie weit das in die Landschaft passt und wie das alles zusammen funktioniert und so weiter.
Ja, du kannst natürlich auch Business as usual machen als Unternehmen, aber dann profitierst du nicht von den neuen Entwicklungen, sondern dann hast du ich sage mal die Probleme, die du in der Vergangenheit hat es, die hast du dann morgen immer noch und auch die die Möglichkeiten. Also da du entwickelt sich einfach nicht weiter und das Stehenbleiben ist gerade im IT-Bereich halte ich auch für fatal. Plus Es ist ein ganz klarer Trend erkennbar, dass man sagt, die Technologie, die ist ja sehr häufig, steht ja OpenSource zur Verfügung, man kann sie direkt runterladen und installieren.
Aber das Wissen, wie setze ich die jetzt ein?
Da braucht man ganz klar Spezialisten und muss sich damit beschäftigen, weil das ist alles andere als trivial, gerade bei Großunternehmen und gerade wenn sehr, sehr viel Technologie im Einsatz ist. Wenn wir so ein kleines Unternehmen mit mit 5 Servern oder so was, da ist das alles noch beherrschbar. Aber gerade wenn du über einen langen Zeitraum viele Anwendungen betreibst und immer wieder auch auf neue Entwicklungen reagieren muss, dann hast du natürlich immer einen riesen Zoo, den du da irgendwie betreiben musst.
Und da muss man irgendwie am Ball bleiben, um das effizient zu machen.
Sonst ist es, bis man immer ein Abgehängter stimmt. Vielen Dank Masiar Jetzt habe ich sehr sehr viel erzählt in dieser Podcast Episode. Ich hoffe, dass beim nächsten Mal das umgekehrt ist. Wenn die Zuhörer Fragen haben oder Feedback einsehen möchten, freut uns das super. Also immer gerne eine E-Mail am Podcast skillbyte senden. Wenn euch der Podcast soweit gefallen hat, gerne einen Daumen hoch geben und den Podcast abonnieren oder einer 5-Sterne Bewertung dalassen. Und dann erfahrt ihr immer, wenn wir neue Podcast hochladen oder neue Artikel im Blog erscheinen.
Vielen Dank Masiar.
Danke dir Maurice. Schönen Abend, danke dir auch.