Project Overview

Lernplattform für Schulen

Als Software Engineer, Scrum Master und Architekt entwickelte ich an einer Lernplattform für Schulen, die während Corona von einem Pilotprojekt zu einem System für drei Bundesländer skaliert werden musste. In einem der besten Teams meiner Laufbahn stabilisierte ich legacy Code, optimierte CI/CD-Prozesse und half bei der Strukturierung der Teamorganisation. Das Projekt lehrte mich, wie echte Teamarbeit und geteilte Verantwortung auch in chaotischen Situationen funktionieren - die Grundlage meiner heutigen Überzeugung, dass produktive Teams durch Vertrauen und Zusammenarbeit entstehen.


Ein studentischer Prototyp wurde zur Grundlage einer Lernplattform, die während Corona plötzlich für drei Bundesländer ausgerollt werden musste. In diesem chaotischen, aber lehrreichen Projekt konnte ich sowohl technisch als auch im Team enorm wachsen.

Fullstack-Entwicklung: Flexibel dort helfen wo nötig

Als Software Engineer entwickelte ich Frontend und Backend je nach Projektbedarf - React, Node.js, Vue.js. Zusätzlich optimierte ich CI/CD-Pipelines und Entwicklungsprozesse, da unser DevOps-Kollege mehr Ops- als Dev-Fokus hatte. Von der lokalen Entwicklung bis zum Deployment konnte ich überall beitragen.

Team-Organisation: Struktur in chaotische Zeiten bringen

Als das Team auf über 10 Personen anwuchs, trieben wir gemeinsam die Aufteilung in kleinere Teams voran. Nach der Neuorganisation führten wir Scrum-Prozesse ein - ich übernahm als einer von zwei Scrum Masters die Leitung eines Teams.

Ich erkannte die Notwendigkeit strukturierter Release-Prozesse und brachte das Problem beim Product Owner ein. Gemeinsam entwickelten wir ein System, bei dem Teams rotierend Release-Verantwortung übernehmen. Parallel verbesserte ich die Git-Branch-Struktur und half bei der Etablierung klarerer Entwicklungsworkflows.

Architektur: Langfristige Stabilisierung

Im Architecture Chapter arbeitete ich mit 4-5 Kollegen an der Service-Separierung und der Reduktion technischer Schulden. Unser Ziel war es, das monolithische System schrittweise in wartbare Services aufzuteilen - ein Prozess, der die Grundlage für spätere Stabilität legte.

Mentoring: Wissen teilen und Teams stärken

Als erfahrener Entwickler war ich Ansprechpartner für Junior-Entwickler bei technischen Fragen. Die Balance zwischen Unterstützung und Förderung der Selbständigkeit zu finden war eine wichtige Führungserfahrung.

Das beste Team meiner Laufbahn

Trotz allen Chaos war dieses Team außergewöhnlich: Echte Zusammenarbeit statt Silos - mal Backend, mal Frontend, immer in enger Abstimmung. Geteilte Verantwortung bei Entscheidungen und Raum für Initiative auch in stressigen Zeiten.

Diese Erfahrung prägte mein Verständnis davon, wie produktive Entwicklerteams funktionieren: Nicht durch perfekte Prozesse, sondern durch Vertrauen, Flexibilität und gemeinsame Problemlösung.

Was diese Erfahrung zeigt

Technische Vielseitigkeit: Fullstack-Entwicklung von Frontend bis DevOps, je nach Projektbedarf

Team-Fähigkeiten: Kann sowohl in verschiedenen Rollen arbeiten als auch Teams organisieren und führen

Pragmatische Problemlösung: Erkenne Probleme früh und bringe umsetzbare Lösungen ein

Mentoring-Kompetenz: Unterstütze andere Entwickler beim Wachstum

Legacy-Code-Erfahrung: Kann mit gewachsenen, chaotischen Systemen umgehen und sie schrittweise verbessern

Diese Kombination aus technischen Skills, Team-Leadership und der Fähigkeit, in schwierigen Situationen konstruktiv zu bleiben, ist die Basis für meine heutige Überzeugung: Teams brauchen sowohl technische Exzellenz als auch menschliche Zusammenarbeit, um erfolgreich zu sein.

from
Apr. 2019
to
Mai 2021
Languages
JavaScript
HTML
CSS
Frameworks
Feathersjs
React
Vue
Nuxt
Handlebars
express.js
Databases
MongoDB
Postgres
Redis
Tools
Jira
Confluence
Docker
Docker-Compose
Github
TravisCi
GitHub Actions
Roles
Scrum Master
Architecture
Software Engineer