Projekte

Objectstore - Voith Digital Solutions

03/2023 - today

Konzeption und Entwicklung eines internen Core Service zur Speicherung dynamisch definierter Objekt- und Asset-Daten. Der Service ist flexibel gestaltet, um Asset-Definitionen für verschiedene Anwendungsfälle und Anforderungen zu ermöglichen und erlaubt die Modellierung vielfältiger flexibler Beziehungen. Dies wurde auf Basis einer Graphdatenbank aufgebaut. Dieses hat ein älteres, weniger flexibles System abgelöst. Das Service war eine Haupt-Dependency dutzender anderer Services und musste unter laufendem Betrieb mit minimaler Downtime ausgetauscht wurde, was eine große Herausforderung darstellte, aber schlussendlich ohne Probleme gelöst werden konnte.

Zusätzlich wurde ein Wissensspeicher-Service als Add-on entwickelt, der das Sammeln und Verknüpfen verschiedener Probleme, Ursachen und Lösungen ermöglicht und schnelle, einfache Abfragen durch anspruchsvolle Such- und Bewertungsalgorithmen sowie KI-gestützte Abfragen inklusive einer Integration in einen Chatbot bietet.

Verantwortlichkeiten: Ich war die hauptverantwortliche technische Person, die die Architektur konzipierte, die notwendige Recherche und den Vergleich von Abhängigkeiten durchführte sowie die APIs und allgemeinen Ansätze entwarf. Hauptverantwortlich für die Implementierung und Leitung eines 3-köpfigen Teams, wobei ich Best Practices bezüglich Clean Code, Wartbarkeit, Stabilität und Erweiterbarkeit sicherstellte sowie eine möglichst einfache Übernahme durch andere Teams durch Pflege einer aktuellen Dokumentation gewährleistete, die andere App-Teams dazu inspirierte, ähnliche Praktiken zu übernehmen.

Technologien: Go, Graph databases, ArangoDB, Docusaurus, OpenAPI, Shell script, Docker, Docker Compose, Clean Architecture, Kubernetes, Software Architecture, System integrations, GitLab CI, NoSQL, REST API, CI/CD, DevOps, Typescript, React, Threejs, Grafana, Grafana Loki, GitLab, Fluent Bit, Nats, Swagger, OpenAI API, cerbos, Clean Code Principles

Hybride Cloud Platform - Voith Digital Solutions

10/2022 - heute

Migration und Anpassung des bestehenden Technologie-Stacks zu einer hybriden Cloud-Plattform. Dies umfasste die Implementierung umfassender DevOps-Praktiken, GitLab CI/CD-Pipelines, Kubernetes-Orchestrierung und Monitoring-Lösungen. Entwicklung neuer Anwendungen und Microservices. Anpassungen und Erweiterungen bestehender Anwendungen, Systemintegrationen sowie Einrichtung und Betrieb verteilter Systeme. Betrieb und Überwachung eines stacks von über 150 verschiedenen services in unterschiedlichen on-prem Umgebungen. Umsetzung und Sicherstellung von Best Practices übergreifend über verschiedene Teams.

Technologien: TypeScript, Material UI, Robot Framework, OpenAPI, AWS, Shell script, SQL, Docker, Terraform, Docker Compose, Clean Architecture, MQTT, Kubernetes, Software Architecture, System integrations, AWS Secrets Manager, GitLab CI, ArangoDB, Helm, Apache NiFi, NoSQL, .NET, JavaScript, REST API, CI/CD, Python, DevOps, React, Apache Nifi Registry, Grafana Loki, GitLab, Fluent Bit, AWS EC2, Go, Nats, Swagger, OpenAI API, Clean Code Principles, Slack API

Tourplanning Workshop - Rytle GmbH

01/2023 - 01/2023

Beratung zur Entwicklung von Tourplanungsanwendungen mit Fokus auf algorithmische Ansätze und häufige Implementierungsherausforderungen.

Verantwortlichkeiten: Bereitstellung von Fachberatung zur Entwicklung von Tourplanungsanwendungen mit Fokus auf algorithmische Ansätze und Implementierungsherausforderungen. Ich habe den Workshop konzipiert und durchgeführt.

Technologien: Workshop facilitation, Consulting, Algorithms, Optimization

Virtual Play Date Mobile Application - Virtual Play Date

09/2022 - 05/2023

Entwicklung einer App für Smartphone inklusive peer-to-peer Video-Telefonie und Lernspiele für Kinder.

Verantwortlichkeiten: Ich war der technische Lead hier, setzte das Projekt auf, baute den Proof of Concept (android app / azure backend), machte das Requirements Engineering und bestimmte die Architektur.

Technologien: Visual Studio Code, Azure Functions, Software Architecture, Azure Active Directory, Cloud Architecture, Microsoft Azure, Azure DevOps, Azure Bicep, Mobile Anwendungsentwicklung, React Native, Clean Code Principles

Webbasierte Anwendung zur Annotation und Bearbeitung hochauflösender Kartendaten - Anonymous Company | Gofore

01/2022 - 08/2022

Entwicklung eines Web-basierten Tools für die Erstellung, Annotation und Bearbeitung von Karten für autonome Fahrzeuge im globalen Maßstab. Das Tool basiert auf einer cloud-native Architektur in AWS und einem SPA Frontend, geschrieben in ReactJS.

Verantwortlichkeiten: Als Lead-Entwickler arbeitete ich eng mit dem Kunden zusammen und die technische Umsetzung der gegebenen Problemstellungen herauszuarbeiten. Ich habe das Grund-Gerüst und den ersten Proof of Concept für das spätere Tool als gemeinsame Grundlage erstellt. Ich entwarf die cloud native Architektur für das Backend, welches in der Lage war die schieren Mengen and Daten für das Kartenmaterial zu verarbeiten und zu hosten. Hier war ich auch maßgeblich für die Implementierung zuständig und habe auch viele Performance- und Stabilitäts-Verbesserungen eingepflegt. Ich habe die meisten Code-Reviews im Frontend gemacht und neue Design-Patterns eingeführt oder den Code refactored, um die Code-Qualität zu verbessern und eine gute Wartbarkeit zu gewährleisten.

Technologien: TypeScript, Docker, AWS IAM, AWS Lambda, AWS CloudFront, Visual Studio Code, AWS CodePipeline, AWS Cognito, Software Architecture, Serverless Architecture, three.js, Mapbox, AWS Fargate, React Query, Cloud Architecture, AWS Batch, Playwright, zustand, AWS CodeCommit, Vite, react-map-gl, vitest, jotai, React, Clean Code Principles, AWS CDK, AWS S3, AWS SQS, Linux

Rebase Consulting Branding & Website - Rebase Consulting Oy

10/2021 - 01/2022

Rebase Consulting Markenbuch und Website-Design und -Entwicklung

Verantwortlichkeiten: Neu- und Weiterentwicklung von zusätzlichen Elementen der Website. Aufräumen und Refactoring der Code-Basis.

Technologien: Miro, GitHub, GatsbyJS, GitHub Actions, JavaScript, React, CSS, Clean Code Principles

Developer Community - Atos

10/2019 - 07/2021

Interne Developer Community. Es ging um Team-Building, Kommunikation und Austausch auch über die Projekt-Gruppen hinaus. Weiters entstand hieraus eine gemeinsame Plattform für interne Projekte und Bibliotheken.

Verantwortlichkeiten: Ich initiierte die Developer Community und organisierte und moderierte deren Treffen. Die Plattform, die daraus entstand, setzte ich auf und gab Rahmenbedingungen vor.

Technologien: Communication, Azure DevOps, Clean Code Principles

Vollumfassende Software-Lösung für die Abwicklung von Verfahren im öffentlichen Raum - City of Vienna | Atos

09/2019 - 07/2021

Eine Individual-Software für die Magistrate der Stadt Wien. Hier wurden Verfahren erstellt, verwaltet und durchgeführt. Ein Hauptaugenmerk lag auf der Bescheid-Erstellung. Die Plattform war sehr generisch gebaut und erweiterbar für die Bedürfnisse weiterer Magistrate. Weiters war sie verbunden und arbeitete nahtlos mit anderen Systemen wie dem internen Geo-Informations-Dienst, dem CMS, dem Buchungssystem und weiteren zusammen.

Verantwortlichkeiten: Hier hatte ich eine Mischrolle. Ich war technischer Architekt und Lead Developer in einem. Ich war verantwortlich für die technische Architektur, die Auswahl der verwendeten Technologien und wie das Projekt technisch aufgesetzt und schlussendlich auch deployed wurde (DevOps). Weiters setzte ich das Projekt technisch auf, gab den Rahmen vor, unterstützte ich die anderen Entwickler mit Expertise, führte insbesondere die junioren Entwickler in die Technologien ein, führte Code Reviews durch und behielt den Überblick über die gesamte Code-Basis. Schlussendlich arbeitete ich eng mit dem Projekt-Manager und dem Test-Manager zusammen und war deren Vertretung. Das Team bestand aus 15 Mitgliedern, 11 davon waren Entwickler.

Technologien: PostgreSQL, SQLite, GIS, Redux, Clean Architecture, xUnit, Redux-Saga, Jest, ASP.NET Core, .NET Core, Entity Framework Core, Visual Studio Code, Software Architecture, Webpack, Adobe XD, Rider, .NET, REST API, BlueprintJS, Syncfusion, Azure DevOps, Jenkins, C#, React, Clean Code Principles, Jira, Confluence, CSS, Git, Project Communication, TypeScript, Sass

Generisches UI-Tool für der Verwaltung von Optimierungs-Szenarios - Math.Tec

05/2018 - 08/2019

Ein generisches Tool für die Erstellung, Verwaltung und den Vergleich von verschiedenen Optimierungs-Szenarien. Es wurde so entworfen, dass es für verschiedene Optimierungs-Anwendungen verwendet werden konnte.

Verantwortlichkeiten: Ich war verantwortlich für das Design und die Umsetzung dieses Tools. Weiters unterstützte und coachte ich zwei juniore Software-Entwickler.

Technologien: Gulp, SQLite, Redux, xUnit, Redux-Saga, ASP.NET Core, .NET Core, Visual Studio Code, .NET, C#, React, Clean Code Principles, Jira, CSS, Visual Studio, Git, Bitbucket, Microsoft SQL Server, TypeScript, Sass

Routen-Optimierungs-Software für Speditionen - lbase | Math.Tec

06/2017 - 08/2019

Optimierungs-Service für die Optimierung von Routen innerhalb vieler gegebener Rahmenbedingungen. Das Tool wurde sowohl als unabhängiges Microservice, als auch als Plugin für Transport-Management-Systeme (Tourenoptimierung der Transporter) und Lager-Management-Systeme (Wegeoptimierung im Lager) verwendet.

Verantwortlichkeiten: Ich war verantwortlich für das Anforderungsmanagement, das Design und die Umsetzung dieses Tools. Weiters unterstützte und coachte ich eine juniore Software-Entwicklerin.

Technologien: Kanban, xUnit, ASP.NET Core, .NET Core, Optimization, .NET, REST API, C#, Clean Code Principles, Jira, Visual Studio

Kurzfristige Wartezeit-Optimierung von Patienten - MedAustron

03/2017 - 10/2018

Ein Algorithmus welcher die durchschnittliche Wartezeit für Patienten von MedAustron optimiert. Das MedAustron ist eine medizinische Einrichtung zur Behandlung von Krebspatienten mit Hilfe von Teilchenbeschleunigern. Die Optimierung wurde verwendet um die Wartezeit bei Eintritt unerwarteter Ereignisse zu verringern.

Verantwortlichkeiten: Dies war ein Teil eines größeren Optimierungs-Projektes für das MedAustron. Für diesen Teil war ich alleinverantworlich und entwickelte die Applikation selbstständig. Ich entwarf und optimierte den Optimierungs-Algorithmus selbstständig, da dies Teil meiner Master-Arbeit war.

Technologien: C++, Eclipse Development, npm, Webpack, JavaScript, Google Charts, CSS, HTML5, TypeScript, Sass, Optimization

Markteinführungs-Optimierungs-Tool - Automotive Company | Math.Tec

09/2015 - 12/2017

Ein Optimierungs-Tool für die Berechnung und Optimierung von Markt-Eintrittsdaten für neue Produkt-Serien (Autos). Hier wurden unter anderem die benötigten Produkte, die Produktionskapazitäten und Lieferzeiten berücksichtigt.

Verantwortlichkeiten: Umsetzung von neuen Anforderungen, Ansichten, Fehlerbehebungen und Wartung.

Technologien: Oracle Database, Optimization, IBM DOC, IBM ILOG ODME, Java

Interaktive 3D Visualisierung der Lösungen von Packbild-Optimierungen - Math.Tec

02/2015 - 08/2019

Ein graphisches, interaktives, 3D Visualisierungs-Tool für die Anzeige von Pack-Bildern. Diese entstanden als Lösungen von optimalen Packbild-Berechnungen diverser Container (Paletten, LKWs, Roll-Container, etc.). Die Anzeige wurde ursprünglich für die interne Validierung der Lösungen verwendet, wurde jedoch bald auch in diverse Kunden-Projekte und deren Software-Lösungen integriert.

Verantwortlichkeiten: Ich war alleinverantworlich für das Design und die Umsetzung dieses Tools.

Technologien: Gulp, Jest, Visual Studio Code, three.js, JavaScript, 3d rendering, WebGL, CSS, TypeScript, Visualization, Sass

UI-Tool zur Anzeige von Lösungen von Tour- und Ladekapazitäts-Optimierungen - Lidl | Math.Tec

03/2014 - 08/2016

Eine graphische Benutzeroberfläche für das Erstellen und Verwalten von verschiedenen Optimierungs-Szenarien. Nach der erfolgreichen Berechnung konnte der Benutzer die Touren der Fahrzeugflotte entweder auf der Karte oder als Gantt-Ansichten darstellen lassen.

Verantwortlichkeiten: Fügte neue Ansichten und Funktionalitäten hinzu. Der größte Part war eine komplexe Gantt-Ansicht der Transporter und derer Kapazitäten. The Benutzer konnte die Reihenfolge der Stops ändern und das Programm die Route neu berechnen lassen.

Technologien: WPF, Windows Forms, Maps and data visualisation, C#, Microsoft SQL Server