Als agiler Softwareentwickler unterstütze ich Kunden und Teamkollegen beim Ermitteln und Umsetzen fachlicher User-Stories nach agilen Methoden. Dabei wende ich folgende Prinzipien an, um ein breites fachliches und technisches Wissen im Team sowie eine hohe Code-Qualität zu erreichen:

  • Pair Programming
  • Test-Driven-Development (TDD)
  • Clean Code / Clean Architecture
  • Refactoring

Des Weiteren lege ich viel Wert auf automatisierte Build- und Deployment-Pipelines, um einen hohen qualitativen Standard zu erreichen und Fehler, die beim manuellen Vorgehen immer auftreten, direkt zu verhindern. Um dies zu erreichen, entwickle bzw. verbessere ich die automatisierte CI-/CD-Pipeline für das jeweilige Projekt zusammen mit meinen Teammitgliedern nach den aktuellen Bedürfnissen.

Tätigkeiten und Projekte der letzten Jahre

Lead Agile Software-Engineer – Bank

Java | SpringBoot | Maven | Kafka | REST | Docker

  • Implementierung einer Schnittstellen-Anwendung für das Erstellen von ausgehenden Dokumenten. Erstellen und verwalten von verschiedenen Schnittstellen über Kafka-Topics und HTTP-Endpunkten
  • Technologien:
    • Java, XML, JSON
    • SpringBoot, Maven, Kafka, AVRO-Schema, REST, Open API
    • OpenShift, Docker, Oracle DB
    • Azure Pipelines, Git
  • Software-Entwicklungsmethode: Kanban

Agile Software-Engineer – Marketing

Typescript | Node.js | Microservices

  • Implementierung einer Anwendung zum automatisierten Erstellen von (Gutschriften-)Rechnungen unter Benutzung von AWS serverless Technologien
  • Micro-Frontends mit einfachem HTML und JavaScript erstellt, um Dokumente hochladen und die verschiedenen Abrechnungsprozesse starten zu können
  • Serverless, Microservices, Data-First, Event-Streaming
  • Technologien:
    • TypeScript, Jest, Node.js, npm, yarn
    • AWS Lambda, DynamoDB, SQS, SNS, EventBridge, S3, Glue, Athena, Kinesis Firehose, DataDog, OpenAPI
    • Pulumi (Infrastructure as Code)
    • Git, BitBucket (+ Pipelines), GitHub (+ Workflow & Actions), Jira, Confluence, Notion
  • Software-Entwicklungsmethode: Kanban

Agile Software-Engineer – Bank

Java | Spring-Boot | Gradle | DTD | XSD

  • Weiterentwicklung einer bestehenden Webanwendungen
  • Aufbau einer automatisierten CI/CD-Pipeline
  • Einführen von neuen Funktionalitäten in Form von unabhängigen Diensten
  • Anbindung einer proprietären XML-RPC API zum regelmäßigen Import von Stammdatensätzen im internationalen Bankverkehr
  • Erweiterung des Frontends zum Anzeigen und bearbeiten der abgerufenen Daten
  • Technologien:
    • Java, Spring-Boot, Gradle, DTD, XSD
    • Docker, Kubernetes, Keycloak
    • Javascript, React, Yarn
    • Git, BitBucket, Jira, Bamboo, Confluence
  • Software-Entwicklungsmethode: Kanban

Agile Software-Engineer – Logistics

Java | Spring-Boot | VueJs | Multi-Service-Architektur | DDD

  • Unterstützung in der Weiterentwicklung der bestehenden Webanwendungen
  • Einführen von neuen Funktionalitäten in Form von unabhängigen Diensten
  • Technologien:
  • Java, Gradle, RabbitMQ, Spring-Boot, VueJs, TypeScript
  • Git, BitBucket, Jira
  • Software-Entwicklungsmethode: Kanban

Agile Software-Engineer – Insurance

Java | Kafka | Kafka-Connect | TDD

  • Entwicklung eines Basis-Frameworks für Kafka-Connect mit dem Ziel schnell neue Connectoren für verschiedene Systeme implementieren und deployen zu können.
  • Einführung eines Domänen-Modells für die Kommunikation verschiedener Systeme
  • Einführung von automatisierten Unit- und Integrationstests
  • Implementierung von Kafka-Connectoren um verschiedene Systeme darüber miteinander zu verbinden.
  • Technologien:
  • Java, Maven, Kafka, Kafka-Connect, Ansible
  • Git, BitBucket, Jira
  • Software-Entwicklungsmethode: Scrum, TDD

Agile Software-Engineer – Agile Lean Munich Site

JavaScript | VueJs | NuxtJs | HTML / CSS | Google Firebase

  • Entwicklung einer Feedback-Komponente für die Konferenz-Homepage der Agile Lean Munich (www.agile-lean-munich.de)
  • Entwicklung einer Komponente, die während einer Konferenz auf der Konferenz-Seite gerade laufende Sessions und nachfolgende Sessions anzeigt
  • Technologien: VueJs, Vuex, NuxtJs, Sass, NodeJs, NestJs, JavaScript, TypeScript, Rest, Google Firebase, Google Sheet-API

Agile Software-Engineer – Retail

C# | JavaScript | Angular JS | Mongo-DB | AWS | TDD

  • Unterstützung in Weiterentwicklung und Betrieb von Kontaktlinsen-Anamnese- und Vertriebssoftware
  • Technologien:
  • Backend: C#, .net-Framework, .net-Core, nUnit
  • Frontend: Webentwicklung mit HTML, CSS, JavaScript, TypeScript, AngularJs, NPM, Node, TestCafe, Selenium, Karma, Jasmine
  • REST, Kafka, Docker, Docker-Compose, Kubernetes, TeamCity, AWS, Mongo-DB, Microservices, Webstorm, Rider, Git, GitHub, Trello
  • Software-Entwicklungsmethode: Kanban, Pair-Programming, TDD

Agile Software-Engineer – Transport und Logistics

Java | Spring | Boot | JavaScript | React | HTML / CSS | TDD

  • Implementierung einer Auftragsverwaltungs- und Tourenplanungssoftware für die Auslieferung und Montage von Möbeln
  • Technologien:
  • Backend: Java 8, SpringBoot, Hibernate, Liquibase, Cucumber, jUnit, Maven
  • Frontend: Webentwicklung mit HTML, CSS, JavaScript, React, Redux, NPM, Node, Jest
  • REST, RabbitMQ, Docker, Docker-Compose, Jenkins, AWS, TerraForm, Ansible, Postgresql, IntelliJ IDEA, Webstorm, Git, GitLab, BitBucket, Jira, Confluence
  • Software-Entwicklungsmethode: Scrum, Mob-/Pair-Programming, ATDD, TDD

Agile Software- & Test-Engineer – Automotive

Java | Test-Automatisierung

  • Entwicklung eines Code-Parsers für C/C++ und Java zur maschinengestützten Generierung automatisierter Testfälle
  • Technologien: Java 7, jUnit, log4j2, Velocity, XML+JAXB, Maven, ANTLR4

Agile Software- & Test-Engineer – Automotive

Java | C | Softwaretests | Test-Automatisierung

  • Entwicklung eines Telematik-Steuergerätes für den automatischen und manuellen Notruf (e-Call)
  • Einführung von Softwaretests nach Automotive SPICE
  • Aufbau und Integration einer Continuous Integration Umgebung
  • Aufbau eines Testsystems nach SPICE
  • Erstellen automatisierter Testfälle
  • Weiterentwicklung und Wartung eines USB- und TCP/IP Stacks (CAN-Controller in C)
  • Konzeption und Durchführung sicherheitsrelevanter Tests auf Protokollebene (IP, ICMP, UDP, TCP, DHCP)
  • Entwicklung einer Automatisierung zum Flashen, Ausführen und Auswerten von Softwaretests in einem Steuergerät

Qualifikationen

Certified Scrum Developer® (CSD®) Badge
Certified ScrumMaster® (CSM®) Badge
JavaScript Logo
Advanced Certified Scrum Developer (A-CSD™) Badge
Kanban Management Professional
docker Logo

Praxis und Methoden

Java | C# | HTML | CSS | Sass | JavaScript | Typescript | Bash | Python | Git | Jenkins | GitLab | GitHub | BitBucket | Nexus | Maven | NPM | NodeJs | Sonar | Docker | Terraform | Ansible | AWS | Google Firebase | Kubernetes | REST | RabbitMQ | Kafka | Kafka-Connect | MySQL | SQLite | Postgresql | Mongo | Spring | SpringBoot | Hibernate | Liquibase | jUnit | nUnit | React | Redux | Angular | VueJs | Vuex | NuxtJs | NestJs | Jest | Karma | Jasmine | Testautomatisierung | Continuous Integration | TDD | Pair- & Mob-Programming | Scrum | Kanban | User Stories | Agile Entwicklung

Vorträge

Remote Pair Programming

Sprachen

Deutsch: ●●●●●
Englisch: ●●●●○

Ausbildung

Bachelor of Science
Informatik