Hello there o/
Ich bin Max und im Herzen ein Softwareentwickler, aber ich beschränke mich nicht nur auf Code. Das Gesetz von Conway trifft oft zu und deshalb kann ich es auch nicht lassen, die zugrundeliegenden Prozesse der Software und Organisation zu hinterfragen. Ich stehe für vollumfängliche Herangehensweisen und Lösungen.
Offene Wertschätzung und transparente Kommunikation, Fehler nicht zu scheuen sondern zum Lernen zu nutzen und besonders Spaß bei der Arbeit sind mir sehr wichtig. Diese Kultur versuche ich zu fördern, indem ich mich eigenständig einbringe, weiterentwickle und motiviere, aber nicht missioniere.
Mein Ziel ist es, Projekte zu entwickeln, die nachhaltig sind und einen tatsächlichen Nutzen für Gesellschaft oder Umwelt haben.
Zitate meiner Mitmenschen:
- “Natürlich hat Max gesehen, dass wir im Build die Tests deaktiviert haben …” - ein Architekt
- “Du hast nicht nur gute Ideen, du setzt sie auch um.” - eine Freundin
- “Du stellst zu viele Fragen.” - ein Projektleiter
- “Wir können doch nicht einfach direkt auf Production pushen!” - ein Entwickler
- “Du bist ein Dickbrettbohrer. Du scheust nicht die schwierigen Wege, wenn sie zur richtigen Lösung führen” - ein Kollege
Arbeitgeber
Seit Beginn meiner Arbeitszeit 2018 wurde es mir immer wichtiger, Software zu entwickeln, welche tatsächlich genutzt wird und mehr als nur einen monetären Nutzen erfüllt. Ich möchte mit Software die Welt nachhaltiger und Anderen ihren Alltag leichter machen. Diese Ideale lebe ich nun bei der pionira aus und helfe als Dienstleister im Projekt “Juicery” einem anderen Unternehmen mit ihrer Software.
Bei der ITUC habe ich weiter am Projekt “Funnybones & Lazylegs” gearbeitet (siehe Projekte) und außerdem innerhalb der ersten Monate als zusätzliches Engagement das interne Projekt “Tarantula” begonnen, mit dem Ziel die interne Kommunikation effizienter zu gestalten. Mitte 2021 bin ich dann in das Projekt “Firestarter” gewechselt, an dem ich bis Anfang 2022 gearbeitet habe.
Direkt nach meinem Studium habe ich bei der ckc die Chance bekommen, mich als Berufseinsteiger im Projekt “Funnybones & Lazylegs” voll zu entfalten und auszutoben. Das hatte den Effekt, dass ich schnell gefallen an Serverkonfiguration und dem Infrastrukturaufbau gefunden habe.
2019 wurde ich dann neben meiner Arbeit am Hauptprojekt zu einem Teil meiner Zeit in die Reihen der internen Buildmanager aufgenommen, welche die Buildinfrastruktur verwalteten. Dort habe ich mich für den Wissensaustausch eingesetzt und die gesamte Serverkonfiguration auf Ansible umgestellt (Projekt “Automaton”).
Implementierung des experimentellen ADRE (Apparent Display Resolution Enhancement) Algorithmus (Stengel et al., 2013), welcher die wahrgenommene Bildschärfe durch geschickte Frame-Versätze erhöhen kann.
Projekte
Dies sind nennenswerte Projekte, an denen ich in meiner Laufbahn bereits gearbeitet habe. Die Projekttitel sind frei erfunden.
Das verteilte System das ich in diesem Projekt weiterentwickle, musste über die Jahre den Wegfall von vielen Know-How Trägern verkraften. Um das Wissen, die Architekturentscheidungen und die Konzepte wieder aufzudecken, betreiben wir im Team kontinuierlich Architekturarchäologie und bedienen uns dafür an dem Methodenkoffer aim42 und unseren Erfahrungen. Um eine Architekturweiterentwicklung zu ermöglichen, arbeiten wir die Dokumentation auf, etablieren ein Qualitätsmanagement und erstellen eine Buildtoolchain. Außerdem vermitteln wir Wissen um CI/CD und führen Schrittweise neue Konzepte und Arbeitsmethoden ein.
Die Buildtoolchain bzw. die technische Seite von CI und CD wird in Github Enterprise mit Actions bzw. Workflows realisiert. Da das System fast nicht getestet ist, bauen wir zusätzlich gerade Systemtests auf.
Die verschiedenen Systeme und der halbautomatische Prozess der Typzulassung sollte in dieser Anwendung konzernweit vereinheitlicht werden. Als crossfunktionaler Entwickler habe ich mich neben der Entwicklung der Spring Boot basierenden Microservices auf Java 11 um die Abstimmung und das Design der REST APIs gekümmert.
Außerdem habe ich mich für den Austausch und die Zusammenarbeit zwischen Scrum Mastern, Entwicklern, Architekten, Geschäftsführung und Projektleitung eingesetzt. Um die Feedbackintervalle zu verkürzen, entwarf ich ein Versionierungs- und Deploymentkonzept und setzte es mit dem Team um.
Um grundlegende Informationen möglichst ohne Hürden oder Aufwand bereitzustellen, habe ich verschiedenste Intranet Frameworks, Content Management Systeme, Website-Builder und -Generators evaluiert und anschließend ein Intranet basierend auf dem Markdown-Renderer Docsify aufgebaut und gehostet. Zusammen mit anderen Mitstreitern haben wir grundlegende Informationen der internen Angelegenheiten und Prozesse zusammengetragen und dort veröffentlicht.
Die Buildinfrastruktur basierte auf vielen, von verschiedenen Personen manuell eingerichteten Bamboo Agents und musste dauerhaft gewartet werden, um mit Fehlern und Updates mitzuhalten. Da wir für das Buildmanagement nur einen Teil unserer Zeit bekommen haben und die Aufwände immer größer wurden, habe ich eigenverantwortlich verschiedene Infrastructure as Code Frameworks evaluiert und anschließend die Umstellung auf Ansible begonnen. In Zusammenarbeit mit den Administratoren habe ich die Bambooinstanzen in die bestehende Proxmox IaC Umgebung eingefügt und stetig ausgebaut.
Außerdem habe ich mich dafür eingesetzt, in jedem Projektteam einen Buildmanager auszubilden, um das Wissen und die Last der Projektkonfigurationen zu verteilen.
In diesem Projekt bin ich nach meinem Studium in direktem Kontakt mit Docker, Kubernetes und Microservice Architekturen auf Basis von Spring Boot gekommen. Um das Projekt auf einer produktionsnahen Umgebung auszuprobieren, habe ich zuerst einen bare-metal Kubernetes Cluster eingerichtet und anschließend administriert. Damit möglichst schnell neue Entwicklungsstände auf dieser Instanz ausprobiert werden können, habe ich die Bamboo, Bitbucket und SonarQube Buildinfrastruktur für Continuous Deployments konfiguriert.
Aufgrund der hohen algorithmischen Komplexität der fachlichen Anforderungen, haben wir kontinuierlich mit AsciiDoc und PlantUml an der Architektur- als auch Entwicklerdokumentation gearbeitet (Documentation as Code) und diese als Website gehostet. In diesem crossfunktionalen Team haben wir auch die Testsuite immer weiter verfeinert und ausgebaut. Uns war bewusst, dass die Qualität der Tests genauso wichtig ist, wie der Produktivcode, weshalb wir nach Unit und Integrationstests auch End-to-End Tests und Systemtests eingeführt haben.
Außerdem haben wir mit der Zeit sämtliche Anwendungsinstanzen übernommen und eigenverantwortlich betrieben. Darüber hinaus haben wir als Team zusätzlich die Anforderungsanalyse betrieben und mit dem Kunden die Algorithmen spezifiziert.
Education
Thesis: From Chairs to Humans: Specializing FlowNet2.0 to non-rigid Human Motion - Training und Anpassung eines Convolutional Neural Networks um die Approximation von optischem Fluss menschlicher Bewegungen noch weiter zu verbessern. Dafür musste ein synthetischer Datensatz aus Bildpaaren generiert werden, der realistische menschliche Bewegungen zeigt und den Ground Truth des optischen Flusses dem CNN als Trainingdaten bereitstellt.
Ein anderer Schwerpunkt meines Studiums war das Nebenfach Luft und Raumfahrt. Vielen Dank Carsten Wiedemann für die legendären Vorlesungen!
Eine allgemeine schulische Ausbildung in einem breiten Feld von Mathematik über Datenbanken und Netzwerke bis hin zum Programmieren mit anschließendem Praktikum.