Senior Software Developer (Java Backend)
ein Senior Software Developer / Architekt und Freelancer ansässig im Großraum Stuttgart.
Skills
Java
Spring Boot (Rest, Spring Data Repositories + JPA 2 / 3 mit Hibernate ),Java EE / Jakarta EE (JPA 2 / 3 mit Hibernate, EJBs, REST / JAX-RS mit Jersey, CDI + AOP mit HK2 / Guice, JSON mit JSON-P / Jackson / gson, XML / XPATH mit JAXP), Swing, Reflection,
Installer (install4j), Tests (JUnit, TestNG, DBUnit, RestAssured),
GWT / J2CL mit JSInterop, Servlets (Servlet-Filter), Job / Batch (ExecutorService, Quartz), Liquibase, JavaSimon, JasperReports, iText, JDBC, Guava, OSGi, Groovy
Web
Javascript / Typescript, HTML, CSS, WebComponents (Javascript native, LitElement, Polymer), GWT / J2CL mit JSInterop, WebGL (Three.js)Entwicklung
Entwicklungsumgebung: Eclipse, NetbeansBuild: Maven, Bazel, Apache Ant
RCS: Git, SVN, CVS
Agil: Scrum
Datenbanken
SQL, PostGreSQL, H2, LiquibaseServer
Tomcat, Docker + Docker Compose, Oauth2 (Keycloak), Websphere, JBoss, Wildfly, JettyTools
Curl, Postman, Swagger, JIRA, Confluence, Polarion, Bitbucket, BambooBetriebssysteme
Linux, WindowsMisc
TeX / LaTeXSprachen
Deutsch: MutterspracheEnglisch: fließend
Projekte
LDBV - amtliche Schulverwaltung (ASV)2.2023 - 3.2024, 7.2024 - heute
Java (JEE, Swing, OSGi, Hibernate (auch Migration), Reflection), PostGreSQL, H2, Eclipse, Netbeans, Windows, Jira, Bitbucket, Bamboo, Git, XML, Groovy, Ant, Maven, JUnitSenior Software Developer
Weiterentwicklung einer Software zur Verwaltung von Schulen. Es wurden bestehende Swing-Masken erweitert und Fehler bereinigt bzw. neue Masken erstellt. Es wurde eine neue Hibernate-Version eingeführt. Dazu wurden Hibernate-Legacy-Patches von ASV auf die neue Hibernate-Version übertragen. Es wurden Datenbankänderungen durchgeführt. Groovy-Skripte für Groovy-Version 2.5 wurden für Groovy-Version 4.0 überarbeitet und angepasst. Ablösung mehrerer Installer auf Basis von IZPack/NSIS durch einen auf Basis von install4j.}
Eigenentwicklung2020 - heute
Spring Boot 3 (Rest, Spring Data Repositories + JPA 3 mit Hibernate), Java (ExecutorService), Javascript, HTML, CSS, WebGL (Three.js), WebComponents (nativ), J2CL mit JSInterop, Tomcat, PostGreSQL, Bazel, Git, Eclipse, LinuxArchitekt / Senior Software Developer
Das User-Interface besteht aus WebComponents und wird mit Javascript, HTML, CSS und WebGL (Three.js) realisiert. Der Logik-Kern des Clients wird in Java implementiert und mit J2CL mit JSInterop nach Javascript transpiliert. Das Backend ist mittels Spring Boot implementiert und stellt eine REST-Schnittstelle bereit. Datenbankzugriff erfolgt durch Spring Data Repositories + JPA 3. Job-Scheduling ist durch die JDK-API ExecutorService realisiert. Als Buildsystem kommt Bazel zum Einsatz. Das Projekt wurde anfänglich mit Java EE entwickelt und dann auf Spring Boot umgestellt.
Porsche AG7.2019 - 2.2020
Java (Maven, RestAssured, TestNG, DBUnit, Jackson, Guava, Spring Boot), Tomcat, Docker + Docker Compose, Oauth2 (Keycloak), Liquibase, Curl, Postman, Swagger, PostGreSQL, H2, LinuxSenior Software Developer
Weiterentwicklung und Containerisierung von Serversoftware für Over-the-Air-Updates (OTA).
Browsergame2018
Java (Maven, Ant, JavaSimon), JPA 2 (Hibernate), REST (JAX-RS, Jersey), JSON (gson), CDI + AOP (HK2), XML, GWT mit JSInterop, WebComponents (Polymer / LitElement), Javascript, HTML, CSS, Linux, Git, Tomcat, Jetty, PostGreSQLSenior Software Developer / Architekt
Entwicklung einer GUI. Generierung von Java-Stammdatenklassen aus xml-Dateien mittels SAXParser.
Daimler AG6.2017 - 8.2017
Eclipse, Git, Javascript / Typescript (Dojo, node, npm, Gulp), HTML, CSS / SASS, Scrum, REST, JIRA, Confluence, WindowsSoftware Developer
Agile (Scrum) Weiterenticklung von WebTools zur Einrichtung, Planung, Steuerung und Überwachung von Produktionsstraßen.
Daimler AG1.2017 - 11.2017
Java (Maven, Ant, JDBC, ExecutorService), JSON (JSON-P), REST (JAX-RS, Jersey), Tomcat, Eclipse, Git, Windows Server 2012, LinuxSenior Software Developer
Einrichtung einer gemeinschaftlich genutzten Entwicklungsumgebung auf einem Windows-Server. Refactoring einer Java-Altanwendung, Neuimplementierung eines Batchjob-Execution-Services und von REST-Services. Durchführung von technischen und fachlichen Tests.
Daimler AG10.2016 - 12.2016
Java (Struts, iText), XML, XPath, Javascript, HTML, CSS, SVN, Eclipse, Windows 7, Linux, MQSeriesSenior Software Developer
Überarbeitung eines Tools zur Erstellung von PDF-Ausdrucken.
Browsergame2014 - 2016
Java (JavaSimon), GWT mit JSInterop, JPA 2 (Hibernate), CDI + AOP (guice), Git, XML, Tomcat, Jetty, HTML, CSS, Javascript, PostgreSQL, LinuxSenior Software Developer / Architekt
Konzeption und Entwicklung des Serverteiles.
Daimler AG2.2007 - 12.2013,
7.2015
- 17.2016
Java (Hibernate, Quartz, JasperReports, iText, OJB, Swing), GWT, HTML,
CSS, SQL, Eclipse, Git, SVN, Maven, Ant, Tomcat, Websphere,
Polarion, COBOL, DB2, Windows 7, Linux
Senior Software Developer
Konzeption, Entwicklung und Pflege einer Verkaufsplattform für gebrauchte Fahrzeuge, eines Bewertungstools für gebrauchten Fahrzeuge, eines Reklamationssystems und eines Tools zur Stammdatenpflege. Ablösung von COBOL-Stored-Procedures durch JAVA-Programme / Batch-Jobs mit Quartz. Ablösung von OJB durch Hibernate. Durchführung von Tests.
Browsergame2006
Java, JavaScript (DWR, Qooxdoo), HTML, CSS, Apache httpd, TomcatSenior Software Developer / Architekt
Es wurde eine Machbarkeitsstudie durchgeführt und ein Prototyp entwickelt.
Versicherungen2004 - 2005
PHP, Perl, HTML, CSSSoftware Developer
Entwicklung von Webformularen.
Daimler AG2003
Java, Swing, Ant, Emacs, CVS, Websphere auf OS/390, iText, WinNT, Cygwin ToolsSenior Software Developer
Entwicklung einer Anwendung zur Anlage, Durchführung und Abschluß von Kundendienstmaßnahmen.
Daimler AG2002
Java, Swing, SQL, Emacs, Jakarta Ant, Cygwin Tools, iText, JClass-Chart, Websphere auf Linux auf OS/390, DB2, WinNTSenior Software Developer
Konzeption, Design und Entwicklung eines Programmes zur Garantiefallanalyse. Die Anwendung wurde an ein bestehendes, hostbasiertes, Authentisierungssytem (RACF / MVS Host) angekoppelt und dazu eine eigene Benutzerverwaltung entwickelt. Daten wurden mittels Tabellen / Diagrammen visualisiert und konnten als PDFs exportiert werden.
Daimler AG2001
Java, Swing, HTML, Emacs, Ant, Cygwin Tools, WinNT, OS/390Senior Software Developer
Entwicklung eines GUI zur Erfassung von Garantieanträgen inklusive von HTML-Seiten zum automatischen Softwareupdate der GUI.
Daimler AG2000 - 2001, 2003
Java, Swing, JClass-Chart, Emacs, Ant, CVS, Cygwin Tools, WinNT, OS/390, PerlSenior Software Developer
Ablösung einer hostbasierten Bedienoberfläche zur Parametrisierung komplexer SQL-Abfragen durch eine Java-GUI. Die bestehende hostbasierte Benutzerverwaltung (RACF / MVS Host) wurde dabei übernommen. Die Ergebnisse der SQL-Abfragen wurden mittels JClass-Chart in Form von Diagrammen visualisiert und eine Druckfunktion für die Diagramme wurde implementiert.
1822direkt1998 - 1999
C, REXXSoftware Developer
Weiterentwicklung eines Front-End-Anwendung für ein Callcenter.
1822direkt1999
JavaSoftware Developer
Konzeption und Eintwicklung eines Programmes zur Entgegennahme von Kundenanrufen und der Anzeige von Kundendaten.
IBM1999
JavaSoftware Developer
Implementierung eines Java-Clients für eine generische Schnittstelle zur Interprozesskommunikation.
comdirekt1999
MakeSoftware Developer
Reorganisation des Sourcecodebaumes eines Callcenters.
IBM1997 - 1999
JavaSoftware Developer
Entwicklung diverser Callcenter-Programme.
1822direkt1998
JavaSoftware Developer
Entwicklung eines Journals zur Anzeige von Kundenaufträgen.
IBM1997
Java, CSoftware Developer
Entwicklung eines Kalenders zur zeitabhängigen Steuerung einzelner Programme.
1822direkt1997
CSoftware Developer
Programm zur Anzeige der Telefonkanalbelegung eines Callcenters.
IBM1997
CSoftware Developer
Verschlüsselung einer Schnittstelle zu Interprozesskommunikation über verschiedene Plattformen.
1822direkt1997
CSoftware Developer
Implementierung eines Logdämons für eine Callcenter-Anwendung.
IBM1997
CSoftware Developer
Ein Programm zur Simmulation der Zeus-Erfahrungsdatenbank wurde mit einer Schnittstelle zur Interprozesskommunikation versehen.
1822direkt1996
CSoftware Developer
Entwicklung eines Programmes zur Entgegennahme von Kundenanrufen.
1822direkt1996
CSoftware Developer
Entwicklung eines Programmes zur Steuerung der Telefonfunktionen.
1822direkt1996
REXXSoftware Developer
Entwicklung von Testtreibern für eine Front-End-Callcenter-Anwendung.