Unternehmen sammeln immer mehr Daten mit dem Ziel, darin betriebswirtschaftlich relevante Informationen zu finden. Dies ist im Normalfall die Aufgabe von Data Scientists, deren Rolle in den Medien aktuell viel Aufmerksamkeit geschenkt wird. Bedauerlicherweise erhält die Rolle des Data Engineers vergleichsweise wenig Ruhm und Beachtung, obwohl diese für den produktiven Betrieb und Anwendung von Data Science mindestens so wichtig ist. Der Verantwortungsbereich von Data Engineers ist sehr breit. Zusammengefasst sind Data Engineers für die Planung, den Auf- und Ausbau, den Betrieb und die Überwachung einer On-Prem oder Cloud-basierten Daten-Infrastruktur verantwortlich.
Data Engineers können hochverfügbare Daten-Infrastrukturen planen, umsetzen und überwachen. Datenvisualisierungen in Dashboards helfen dabei, den Betrieb und die Daten zu überwachen. Data Engineers sorgen dafür, dass Daten über Datenpipelines zusammengeführt und in einer dafür geeigneten Datenbank, einem Data Warehouse oder einem Data Lake abgespeichert werden. Sie berücksichtigen dabei auch Data Governance Aspekte. Data Engineers behalten auch bei der Verarbeitung von grossen Datenmengen den Überblick und setzen anhand des vorliegenden Anwendungsfalls und bestehender Infrastruktur die geeignete Art der Datenprozessierung und das passendste Framework ein. Data Engineers sind auch mit den für eine Daten-Infrastruktur wichtigsten Cloud-Services vertraut und können diese einbinden. Dank dem Grundverständnis von Machine Learning sind Data Engineers in der Lage, Machine Learning Modelle in der Produktion zu betreiben und zu überwachen, um frühzeitig Verschlechterungen in der Vorhersage-Qualität zu erkennen. Zudem können sie Programmcode modular strukturieren, testen und auch als Service zur Verfügung stellen.
Melde dich bei der Programmleitung, falls du eine individuelle Beratung wünschst oder wenn du dich mit aktuellen oder ehemaligen Teilnehmenden des Weiterbildungsprogramms CAS Data Engineering austauschen möchtest.
Modulübersicht
Du weisst, welche Anforderungen zur Planung einer Daten-Infrastruktur (u.a. Skalierbarkeit, Redundanz, Batch- vs. Realtime Processing, Data Governance) erhoben und berücksichtigt werden müssen.
Du weisst, welche Komponenten zu einer Daten-Infrastruktur gehören.
Du kannst eine Daten-Infrastruktur basierend auf den Anforderungen und den bisher eingesetzten IT-Infrastruktur planen und realisieren.
Du kannst den laufenden Betrieb einer Daten-Infrastruktur überwachsen, so dass du im Fehlerfall alarmiert wirst.
Du kannst neben der produktiven Umgebung eine Testumgebung für die Entwicklung mit denselben Komponenten betreiben und hast eine Strategie für die Daten-Replikation aus dem produktiven System in die Testumgebung.
Du kannst abschätzen, ob der Einsatz von «Big Data»-Technologien für deine Datenmenge und deine Anforderungen an Verarbeitungsgeschwindigkeit notwendig ist.
Du kannst verfügbare, skalierbare und wartbare Datenpipelines erstellen.
Du weisst, welche Big-Data-Frameworks existieren und welche Vor- und Nachteile diese haben, so dass du die Wahl für ein Framework für deinen Anwendungsfall begründen kannst.
Du kennst die Möglichkeiten, um komplexe wiederkehrende Abläufe mittels eines Schedulers zu automatisieren.
Du verstehst die Herausforderungen von verteilten Daten; insbesondere bei der Verarbeitung von Datenströmen (Streams).
Du weisst, welche Abklärungen getroffen werden müssen, ob die Daten in der Cloud abgelegt werden dürfen resp. unter welchen Bedingungen.
Du kennst die für eine Daten-Infrastruktur relevanten Services der Google Cloud und weisst, dass andere Cloud-Anbieter gleiche oder zumindest ähnliche Funktionalitäten anbinden.
Du kennst die Vorteile von «Infrastructure as Code» und kannst damit eine Cloud-Infrastruktur aufsetzen und erweitern.
Du kannst die Cloud-Services in deine Infrastruktur einbinden.
Du kannst die Kosten für den Betrieb deiner Cloud-Infrastruktur abschätzen.
Du kannst den laufenden Betrieb und die Kosten deiner Cloud-Services überwachen.
Du verstehst die Grundlagen und Vorteile von Containern und deren Verwendung.
Du kannst Container Images interaktiv als auch per Konfigurationsfile bauen und weisst, wie Container Images verteilt werden.
Du kennst die Mechanismen, um den Datenaustausch als auch die Netzwerkkommunikation zwischen verschiedenen Container sicherzustellen.
Du verstehst die einfache Orchestrierung mehrerer Container.
Du kennst die grundlegenden Konzepte und Möglichkeiten der Verwendung von Container in der Cloud.
Du kennst und weisst die Grundlagen von Kubernetes, dem Industrie-Standard für die Orchestrierung von Container in der Cloud und kannst diese effektiv einsetzen.
Du kennst verschiedene Data-Science-Methoden aus den Bereichen Machine Learning, Recommender Systeme und Data Mining.
Du kennst typische Anwendungsfälle von Data Science in den Unternehmen.
Du weisst, wie wichtig qualitativ hochwertige Daten wie auch eine funktionierende Daten-Infrastruktur für die nachhaltige und korrekte Anwendung von Data Science ist.
Du kennst die drei Arten (Regression, Klassifikation, Clustering) von Machine Learning sowie die wichtigsten Grundkonzepte (u.a. Aufteilung der Daten in Test- und Training Set, k-fold Cross Validation, Underfitting, Overfitting).
Du kannst mit Hilfe bestehender Python Libraries einfache Data Science-Methoden anwenden.
Du kannst Daten aus verschiedenen Datenquellen integrieren und diese den Bedürfnissen entsprechend aufbereiten.
Du kannst Daten in einer geeigneten Struktur speichern, weil du weisst, welche Datenbank-Technologien für welchen Use Case verwendet werden.
Du kannst analytische Funktionen von SQL für Auswertungen anwenden.
Du kannst relationale und NoSQL-Datenmodelle erstellen und interpretieren.
Du weisst, wie die Qualitätssicherung in Datenbanken erfolgt.
Du weisst, wie du Schnittstellen zwischen verschiedenen Datenbanken erstellst und umsetzt, damit Datenbezüge implementiert werden können.
Du kennst Architekturen für real-time Analytics und kannst diese beschreiben.
Du verstehst die Architektur und den Aufbau eines Data Warehouse und kannst Datenstrukturen nach den DWH Regeln aufbauen.
Du kennst verschiedene Datenquellen und die geeignete Anbindung.
Du lernst, wie man Datenqualitätsprobleme (Integrität, fehlende Werte, Duplikate, etc.) diagnostiziert.
Du lernst, wie man Datenqualitätsprobleme (fehlende Werte, Record Linkage, etc.) behandelt.
Du lernst, wie man mit Projektbeteiligten durch Datenvisualisierung kommuniziert.
Du lernst, wie Sie dieses Wissen im geschäftlichen Kontext anwenden können.
Du kennst verschiedene Möglichkeiten, um eine Machine-Learning Modell zu deployen.
Du kannst dein Machine-Learning Modell lokal wie auch in der Cloud deployen.
Du kennst verschiedene Deployment-Stratgien (z.B. Canary-Releases, A/B-Testing, Shadowing etc.) und kannst dich begründet für eine entscheiden und diese während dem laufenden Betrieb durchführen, ohne dass der Nutzer davon etwas merkt.
Du kannst eine laufende Machine Learning-Anwendung überwachen und warten.
Du weisst, wie du einen hoch-verfügbaren Service in der Cloud anbieten kannst.
Du kennst das Prinzip von Online-Learning und kannst dies umsetzen.
Du kannst deinen Code in Module auslagern.
Du kannst denselben Code aus verschiedenen Projekten verwenden.
Du kennst Prinzipien zur professionellen Strukturierung des Codes und kannst diese umsetzen.
Du bist in der Lage, Versionskontrolle für deinen Code, Modelle und Daten anzuwenden.
Du kannst die Funktionalität deines Codes mit Unit-Tests prüfen.
Du kannst automatische Build-Systeme für deinen Code in das Versionsverwaltungssystem einbinden.
Du kannst das Logging in eine Applikation integrieren, konfigurieren und überwachen.
Du kennst verschiedene Möglichkeiten, dein Programm über eine Schnittstelle anzubieten und kannst begründet entscheiden, welche Variante für welchen Anwendungsfall geeignet ist.
Du kannst dein Programm über eine Schnittstelle anbieten.
Du kannst die Zugriffsberechtigungen für deine Schnittstelle konfigurieren.
Du kannst die Zugriffe und Applikation, welche über eine Schnittstelle veröffentlicht wurde, überwachen
Studium
Fachpersonen aus der IT oder Personen mit Interesse an IT-Infrastrukturen, die zukünftig für die Planung, Umsetzung und den produktiven Betrieb von Daten-Infrastrukturen zuständig sein möchten.
23 Kurstage jeweils freitags und samstags.
Pro ECTS-Punkt wird mit einem durchschnittlichen Zeitaufwand von 25 Stunden gerechnet. Das CAS Data Engineering hat einen Umfang von 15 ECTS-Punkten. Deshalb ist mit einem Arbeitsaufwand von 375 Stunden zu rechnen.
Die Hälfte des Zeitaufwands ist dabei für das Selbststudium ausserhalb des Unterrichts für Kursvorbereitungen, Übungen, Repetition des Unterrichtsinhalts, Projektarbeiten und Prüfungsvorbereitungen zu reservieren.
Die Aufnahmebedingungen umfassen:
Du bist bereits in der Informatik tätig oder hast persönliches Interesse und Affinität für IT-Infrastrukturen. Zudem kannst du eine Programmiersprache anwenden. Python-Kenntnisse sind empfohlen.
Abschluss einer Fachhochschule, Universität, technischen Hochschule oder eine Berufsausbildung mit Praxiserfahrung. Studierende, die über keinen Hochschulabschluss verfügen, können (sur Dossier) zugelassen werden, wenn sich die Befähigung zur Teilnahme aus einem anderen Nachweis ergibt.
Du arbeitest während der Kurszeit am eigenen Notebook. Du musst in der Lage sein, neue Software auf diesem Rechner zu installieren.
Über 90% der Dozierenden dieses Weiterbildungslehrgangs kommen aus der Privatwirtschaft; die restlichen aus der angewandten Forschung. Dies hat den grossen Vorteil, dass die Dozierenden nicht einfach nur den Inhalt aus Lehrbüchern vermitteln, sondern zusätzlich aufgrund ihrer langjährigen Erfahrungen in der Lage sind, begründet zu erklären, welche Konzepte und Technologien sich in verschiedenen Anwendungsfällen der Praxis bewährt haben.