Meinen Lebenslauf findet man auf LinkedIn.
Was kann ich?
Ich kann den Technologie-Stack hoch- und runterlaufen, um entweder die größten Probleme oder die mit dem größten Hebel zu lösen. Neben anderen Dingen hat mich das dazu gebracht eigenes Deployment Tooling zu schreiben, automatisierte Provisionierung einzuführen, Libraries zu schreiben, Continuous Quality Systeme einzuführen, Releases zu standardisieren und automatisieren, Monitoring Systeme einzuführen und Tests für allgemeine Probleme zu entwickeln.
Ich möchte betonen, dass ich kein “eine Sprache sie zu knechten” Entwickler bin und - hoffentlich - das beste Werkzeug für jede Aufgabe verwende. Nichtsdestotrotz: mein Programmier-“Hammer” ist definitiv Java in Kombination mit Spring Boot.
Agile Methoden
Scrum
- ca. ein Jahr als Entwickler in einem Scrum Team gearbeitet (2019)
- Professional Scrum Master I zertifiziert
Kanban
- grob eingesetzt
- Vertiefung geplant mit Kanban in Action
Programmier- & Auszeichnungssprachen
Java
- über 12 Jahre Erfahrung
- Erfahrung mit Libraries wie z.B. Spring, Hibernate, Thymeleaf, guava oder jsoup
- Continuous Deployment Pipelines mit Maven und Gradle aufgebaut
- Libraries entwickelt für den internen Einsatz (z.B. )
- Projekte mit bis zu 100kLOC übernommen und alleine weiterentwickelt
JavaScript
- grundlegende Kenntnisse
- Vertiefung seit 2019-03 via u.A. You Don’t Know JS
- siehe Angular
HTML
CSS
- über 12 Jahre Erfahrung
- gerne mit LESS oder SCSS
PHP
- 3 Jahre Erfahrung im Nebenberuf während des Bachelor-Studiums
- eigenes Versandkosten-Plugin für xtCommerce entwickelt
- lange nicht mehr verwendet
C#
- 1 Jahr Erfahrung im Rahmen der Masterarbeit (2012)
- eigenes Framework entwickelt: IntAirAct
Objective-C
- 1 Jahr Erfahrung im Rahmen der Masterarbeit (2012)
- eigenes Framework entwickelt: IntAirAct
Frameworks
Spring / Spring Boot
- 7 Jahre Erfahrung
- PRs gesendet
- auch mit z.B. Spring Data, Spring AMQP, Spring Security gearbeitet
Hibernate
Angular
- grundlegende Kenntnisse
- Udemy Kurs belegt und kleinere Beispiele durchgearbeitet
AngularJS
- grundlegende Kenntnisse
- ca. 1 Jahr Erfahrung (2019) eine existierende AngularJS Anwendung weiterzuentwickeln
- zum Beispiel Bugs fixen mit der ckeditor Integration
GWT
Automatisiertes Testen
jUnit
- 7 Jahre Erfahrung
- eigenen Open Source Test geschrieben: https://github.com/evosec/tomcat-classloader-leak-test
Mockito
- 7 Jahre Erfahrung
- in Kombination mit jUnit verwendet
- ich bin nicht der größte Fan von Mocking, aber es lässt sich nicht immer vermeiden
AssertJ
- 7 Jahre Erfahrung
- in Kombination mit jUnit verwendet
Selenium / cucumber
- 2 Jahre Erfahrung
- bei der Evosec eingeführt
- hauptsächlich für kleine automatisierte Acceptance Tests
Maven
Gradle
- grundlegende Erfahrung
- Open Source Projekte zum kompilieren bringen
- Beispielprojekte von Spring Boot Getting Started durchgearbeitet
Bash/Shell
- 7 Jahre Erfahrung
- hauptsächlich für Automatisierung von Builds und mit Ansible
Batch
- 7 Jahre Erfahrung
- hauptsächlich für Automatisierung von Builds
PowerShell
- 7 Jahre Erfahrung
- hauptsächlich für Automatisierung von Builds
Entwicklungsumgebungen
Eclipse
- ca. 6 Jahre Erfahrung (2013-2019)
- Open Source Plugin weiterentwickelt: m2e-code-quality
IntelliJ
- ca. 1 Jahr Erfahrung (2019)
Visual Studio Code
- seit Veröffentlichung präferierter Editor
Relationale Datenbanken
PostgreSQL
- ca. 4 Jahre Erfahrung (2015-2019)
- bei Evosec eingeführt als Ersatz für Firebird; auch für Betrieb verantwortlich
- verantwortlich für Betrieb
- via Hibernate als ORM verwendet
MS SQL
- ca. 4 Jahre Erfahrung (2015-2019)
- bei Evosec via Hibernate als ORM verwendet
MySQL / MariaDB
- ca. 1 Jahr Erfahrung (2019)
- via Hibernate als ORM im Einsatz
Firebird
- ca. 6 Jahre Erfahrung (2013-2019)
- bei Evosec verwendet und für Betrieb veranwortlich
- via Hibernate als ORM verwendet
Nichtrelationale Datenbanken / NoSQL
MongoDB
- ca. 1 Jahr Erfahrung (2019)
- grundlegende Kenntnisse
Schemamanagement
Liquibase
- bei Evosec eingeführt
- mehrere PRs gesendet
- 4 Jahre Erfahrung
Flyway
- in Android Projekt für SQLite Datenbank verwendet
Suchserver
ElasticSearch
- ca. 1 Jahr Erfahrung (2019)
- technische Vorarbeit für Feature mit Percolate Queries gemacht
RabbitMQ
- 4 Jahre Erfahrung
- bei der Evosec eingeführt
Apache Kafka
- 3 Monate analysiert, ob für Einsatz bei Evosec geeignet
Webserver / Application Server
Apache httpd
- 6 Jahre Erfahrung
- hauptsächlich Reverse Proxy zu Tomcat
- verantwortlich für Betrieb bei Evosec
- Konfiguration via Ansible
Apache Tomcat
- ca. 7 Jahre Erfahrung (2013-2019)
- Continuous Deployment mittels Parrallel Deployment umgesetzt
- verantwortlich für Betrieb bei Evosec
Continuous Integration
Jenkins
- mehrfach eingeführt
- bei der Evosec eingeführt
- später zentrale Pflege von Jobs via Jenkins Job DSL eingeführt
Travis CI
- für kleinere GitHub Projekte verwendet
GitHub Actions
- für kleinere GitHub Projekte verwendet
Continuous Quality
SonarQube
- bei der Evosec eingeführt
- veranwortlich für den Betrieb und die Administration
Canary Builds
- bei der Evosec für über 100 Projekte eingeführt
Versionverwaltung
Git
Subversion
- 5 Jahre Erfahrung
- lange nicht mehr verwendet
Windows
- 7 Jahre Erfahrung als Entwicklungsplattform
Linux
- 7 Jahre Erfahrung als Betriebsplattform
MacOS
- 15 Jahre Erfahrung als Entwicklungsplattform & private Nutzung
Android
- 2 Jahre Erfahrung
- bei der Evosec eine App entwickelt
iOS
Provisionierung
Ansible
- 2 Jahre Erfahrung
- bei der Evosec eingeführt
- komplett eigene Playbooks geschrieben
Monitoring
Sentry
- 2 Jahre Erfahrung
- bei der Evosec eingeführt
Projektmanagement und Ticketverwaltung
Trello
- privat mehrjährige Erfahrung
- bei der Evosec eingeführt
JIRA
- ca. 1 Jahr Erfahrung (2019)
Confluence
- ca. 1 Jahr Erfahrung (2019)
Open Source Aktivitäten