Senior Software Developer / Architekt
Ich bin Volker Rügner,
ein Senior Software Developer / Architekt und Freelancer ansässig im Großraum Stuttgart.
Verfügbarkeit: 100% ab sofort
Mein Schwerpunkt liegt im Bereich der Java Backend Entwicklung, ergänzt durch Skills im Bereich Web Frontend Entwicklung, Java Client Entwicklung, Batchverarbeitung und SQL.
Ich kann Sie bei der Planung, Architektur, Entwicklung und dem Testing Ihrer Applikationen unterstützen und habe dabei über 30 Jahre Erfahrung.
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, Hessian-Protokoll
Web
JavaScript / TypeScript, HTML, CSS, Web Components (JavaScript native, LitElement, Polymer), GWT / J2CL mit JSInterop, WebGL (Three.js)
Entwicklung
Entwicklungsumgebung: IntelliJ IDEA, Eclipse, NetBeans
Build: Maven, Bazel, Apache Ant
RCS: Git, SVN, CVS
Agil: Scrum
Datenbanken
SQL, PostgreSQL, H2, Liquibase, Flyway
Server
Tomcat, Docker + Docker Compose, OAuth 2.0 (Keycloak), WebSphere, JBoss, WildFly, Jetty
Tools
Bitbucket, Bamboo, Jira, Confluence, cURL, Postman, Swagger, Polarion
Betriebssysteme
Linux, Windows
Misc
TeX / LaTeX
OpenAPI
Sprachen
Deutsch: Muttersprache
Englisch: fließend
Projekte
LDBV - amtliche Schulverwaltung (ASV)2.2023 - 3.2024, 7.2024 - 3.2026
Java (JEE, Swing, OSGi, Hibernate (auch Migration), Reflection, install4j), PostgreSQL, H2, IntelliJ IDEA, Eclipse, NetBeans, Windows, Jira, Bitbucket, Bamboo, Git, XML, Groovy, Ant, Maven, JUnit, Hessian-Protokoll, Flyway
Architekt / Senior Software Developer
Weiterentwicklung einer Software zur Verwaltung von Schulen auf Basis eines funktionalen Multithreading-Frameworks. Es wurden bestehende Swing-Masken erweitert, Fehler bereinigt und neue Masken erstellt. Als Layoutmanager für die Maskenerstellung wurde GridBagLayout verwendet. Daten wurden mittels des Multithreading-Frameworks in Hintergrundthreads geladen und im EventDispatchThread angezeigt. 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, dabei auch Migration der Entwicklungsumgebung von Eclipse auf IntelliJ IDEA und Überarbeitung der Flyway-Integration.
Eigenentwicklung2020 - 2025
Spring Boot 3 (Rest, Spring Data Repositories + JPA 3 mit Hibernate), Java (ExecutorService), XML, JavaScript, HTML, CSS, WebGL (Three.js), Web Components (nativ), J2CL mit JSInterop, Tomcat, PostgreSQL, Bazel, Git, Eclipse, Linux
Architekt / 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 (Spring Boot, Maven, RestAssured, TestNG, DBUnit, Jackson, Guava), Tomcat, WildFly, Docker + Docker Compose, OAuth 2.0 (Keycloak), Liquibase, cURL, Postman, Swagger / OpenAPI, PostgreSQL, H2, Eclipse, Linux
Senior 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, Eclipse, Linux, Git, Tomcat, Jetty, PostgreSQL
Architekt / Senior Software Developer
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, Windows
Software Developer
Agile (Scrum) Weiterentwicklung 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, Linux
Senior 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, MQSeries
Senior 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, Ant, Eclipse, Linux
Senior Software Developer / Architekt
Konzeption und Entwicklung des Serverteiles.
Daimler AG2.2007 - 12.2013, 7.2015 - 7.2016
Java (Hibernate, EJBs, Quartz, JasperReports, iText, OJB, Swing, JUnit, TestNG, DBUnit), GWT, HTML, CSS, SQL, Eclipse, Git, SVN, Maven, Ant, Tomcat, WebSphere, JBoss, Polarion, COBOL, DB2, Jenkins, Windows 7, Linux
Senior Software Developer
Konzeption, Entwicklung und Pflege einer Verkaufsplattform für gebrauchte Fahrzeuge (YUCON - Young Used Cars Online), eines Bewertungstools für gebrauchte Fahrzeuge (YUCAS, ehemals Appraisal), eines Reklamationssystems (REMAG) und eines Tools zur Stammdatenpflege (Maintenance-Tool). 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, Tomcat
Senior Software Developer / Architekt
Es wurde eine Machbarkeitsstudie durchgeführt und ein Prototyp entwickelt.
Versicherungen2004 - 2005
PHP, Perl, HTML, CSS
Software Developer
Entwicklung von Webformularen.
Daimler AG2003
Java, Swing, Ant, Emacs, CVS, WebSphere auf OS/390, iText, WinNT, Cygwin Tools
Senior Software Developer
Entwicklung einer Anwendung zur Anlage, Durchführung und Abschluss von Kundendienstmaßnahmen.
Daimler AG2002
Java, Swing, SQL, Emacs, Jakarta Ant, Cygwin Tools, iText, JClass-Chart, WebSphere auf Linux auf OS/390, DB2, WinNT
Senior Software Developer
Konzeption, Design und Entwicklung eines Programmes zur Garantiefallanalyse. Die Anwendung wurde an ein bestehendes, hostbasiertes, Authentisierungssystem (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/390
Senior 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, Perl
Senior 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, REXX
Software Developer
Weiterentwicklung einer Front-End-Anwendung für ein Callcenter.
1822direkt1999
Java
Software Developer
Konzeption und Entwicklung eines Programmes zur Entgegennahme von Kundenanrufen und der Anzeige von Kundendaten.
IBM1999
Java
Software Developer
Implementierung eines Java-Clients für eine generische Schnittstelle zur Interprozesskommunikation.
comdirect1999
Make
Software Developer
Reorganisation des Sourcecodebaumes eines Callcenters.
IBM1997 - 1999
Java
Software Developer
Entwicklung diverser Callcenter-Programme.
1822direkt1998
Java
Software Developer
Entwicklung eines Journals zur Anzeige von Kundenaufträgen.
IBM1997
Java, C
Software Developer
Entwicklung eines Kalenders zur zeitabhängigen Steuerung einzelner Programme.
1822direkt1997
C
Software Developer
Programm zur Anzeige der Telefonkanalbelegung eines Callcenters.
IBM1997
C
Software Developer
Verschlüsselung einer Schnittstelle zur Interprozesskommunikation über verschiedene Plattformen.
1822direkt1997
C
Software Developer
Implementierung eines Logdämons für eine Callcenter-Anwendung.
IBM1997
C
Software Developer
Ein Programm zur Simulation der Zeus-Erfahrungsdatenbank wurde mit einer Schnittstelle zur Interprozesskommunikation versehen.
1822direkt1996
C
Software Developer
Entwicklung eines Programmes zur Entgegennahme von Kundenanrufen.
1822direkt1996
C
Software Developer
Entwicklung eines Programmes zur Steuerung der Telefonfunktionen.
1822direkt1996
REXX
Software Developer
Entwicklung von Testtreibern für eine Front-End-Callcenter-Anwendung.