Software Developer & Architect (Spring Boot, Java EE)
Aktualisiert am 12.06.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.01.2025
Verfügbar zu: 100%
davon vor Ort: 100%
Java
Spring-Boot
Kubernetes
Java EE
Docker
JPA
DevOps
Spring
Spring Security
SQL
OAuth
Deutsch
Muttersprache
Englisch
fließend
Französisch
Grundkenntnisse

Einsatzorte

Einsatzorte

Berlin (+10km)
möglich

Projekte

Projekte

1 Jahr 1 Monat
2022-07 - 2023-07

Weiterentwicklung der "Smarte.Land.Regionen" Plattform

Senior Backend Developer Microservices OAuth2 OpenAPI ...
Senior Backend Developer

"Smarte.Land.Regionen" - eine mandantenfähige Anwendungsplattform mit Identity Management, Medien-Verwaltung und App-Marktplatz


Meine Aufgaben:

  • Überarbeitung der Architektur bestehender Services: Vereinfachung der Struktur, Konsolidierung der Spring-Konfiguration
  • Übernahme ownership (im DevOps Sinn) mehrerer zentraler Plattformdienste
  • Implementierung neuer Microservices inkl. Datenbankschema und Autorisierung
  • Erstellung eines Spring Boot starters für die Autorisierung mit Spring Security/OAuth2
  • Customization von Keycloak
  • Implementierung und Integration von Keycloak custom resources
  • Migration der Autorisierung via Keycloak-Adapter mit policies auf Spring Security/OAuth2
  • Implementierung von Spring Security custom Autorisierung und JWT claim mapping


Spring Boot Keycloak Spring Security PostgreSQL Kubernetes Kafka MapStruct Docker Compose Maven Java 17 Hibernate ReactJS TypeScript FreeMarker Terraform
Microservices OAuth2 OpenAPI Kubernetes Java
Fraunhofer-Institut für Experimentelles Software Engineering IESE
remote
5 Monate
2022-02 - 2022-06

Fortbildung

Java 17 Go Rust ...
  • Migration Ubuntu und OpenSolaris server auf NixOS
  • Mailserver durch NixOS Mailserver ersetzt (mit DKIM und DMARC)
  • Einführung von LetsEncrypt Zertifikaten anstelle von selbst-signierten (DNS validiert)
  • Aufsetzen eines Kubernetes cluster (containerd, Traefik)
  • Aufsetzen einer Harbor Instanz
  • Wechsel auf append-only backup Strategie mit rsync und ZFS snapshots
  • Einarbeitung in Rust und Go
Kubernetes Gradle Traefik Harbor Grafana Loki Prometheus NixOS Spring-Webflux ZFS Helm Spring Boot
Java 17 Go Rust Linux
1 Jahr 6 Monate
2020-08 - 2022-01

Integrationsplattform für Behördendienste (Basiskomponente im Rahmen des OZG)

Lead Developer / DevOps SAML X.509 Microservices
Lead Developer / DevOps

Erstellung einer sogenannten IT-Basiskomponente im Rahmen des Onlinezugangsgesetzes (OZG), die den Zugriff auf verschiedene öffentliche Dienste und Standards ermöglicht bzw. vereinfacht.

Die Nutzung ist sowohl für Fachverfahren (Behörden) als auch für Bürger über Browser-basierte Portale möglich. Die Authentifizierung erfolgt deshalb entweder über Zertifikate oder mit Hilfe des Personalausweises über das "Nutzerkonto Bund".

  • Integration von Meldebehörden via XMeld, einem Standard der öffentlichen Verwaltung, und Implementierung einer einfacheren JSON-API für eine Teilmenge dieses Standards
  • Integration von XTA/OSCI (XTA ist ein Interoperabilitätsstandard der deutschen Regierung)
  • Authentifizierung und Autorisierung von Systemen der Fachverfahren mit Hilfe von Client-Zertifikaten
  • Autorisierung von Bürgern durch Validierung signierter SAML assertions, die als Bearer-Token gesendet werden (Siehe RFC 7522 ?SAML OAuth Client Authentication and Authorization Grants?)
  • Abbildung von SAML-Attributen bzw. autorisierten Zertifikaten auf einen Prinzipal, der an die Prozess-Engine weitergegeben wird
  • Absicherung der Kommunikation zwischen Diensten über mutual TLS
  • Test von Keycloak mit (SAML) Identity Federation
  • Gestaltung von Geschäftsprozessen mit Camunda und Integration von Microservices
  • Implementierung von Payload-Autorisierung, konfigurierbar in Geschäftsprozessen über JSONPath
  • Implementierung und Integration eines Audit-Services mit MongoDB als Backend
  • Implementierung von Backend- und Frontend-Validierung für Strings nach "DIN SPEC 91379" (Einer Teilmenge von Unicode-Zeichen zur korrekten Verarbeitung von Personennamen innerhalb der EU)
  • Implementierung einer Webkomponente (JavaScript-Modul) als Formular-Frontend für den XMeld-Dienst
  • Einrichten der CI/CD-Pipeline mit Bamboo, Maven, Docker Compose und Harbor
  • Erstellung von multi-stage, layered Docker-Images
  • Dokumentation mit Hilfe von AsciiDoc, OpenAPI und Spring REST Docs

Java 11 Camunda BPM Spring Boot Apache CXF Harbor Docker-Compose Docker PostgreSQL RabbitMQ MongoDB OpenSAML OpenFeign Openshift
SAML X.509 Microservices
]Init[ AG für digitale Kommunikation
remote

Aus- und Weiterbildung

Aus- und Weiterbildung

6 Jahre 5 Monate
1992-10 - 1999-02

Physik (Nebenfach Informatik)

Diplom, Georg-August-Universität Göttingen
Diplom
Georg-August-Universität Göttingen

Schwerpunkt: Theoretische Physik (computational physics), Nebenfach: Informatik


Im Rahmen der Diplomarbeit wurde eine massiv parallel arbeitende Simulation physikalischer Vorgänge entwickelt. Die Implementierung erfolgte zunächst in C, später dann die Portierung auf C++.

Parallelisierung der Simulation mit Hilfe der freien C-Bibliothek PVM (Parallel Virtual Machine), wodurch die Simulation auch in heterogen Rechner-Clustern lauffähig war.

Die Durchführung erfolgte sowohl auf Grossrechnern als auch auf einem Linux-Cluster.

Position

Position

Professionelle IT-Erfahrung seit 1999, seit 2004 freiberuflich (u.a. bei Otto, Deutsche Post, Comdirect, T-Systems, Hamburgische Landesbank, Siemens)

Kompetenzen

Kompetenzen

Top-Skills

Java Spring-Boot Kubernetes Java EE Docker JPA DevOps Spring Spring Security SQL OAuth

Schwerpunkte

Spring Boot
Experte
Kubernetes
Fortgeschritten
DevOps
Fortgeschritten
JPA
Fortgeschritten

Produkte / Standards / Erfahrungen / Methoden

Berufserfahrung

? Cloud-basierte Architekturen (Microservices, Kubernetes / Docker)

? Design und Entwicklung von Systemen im Java Enterprise Umfeld (Spring / Spring Boot, Java EE)

? Verteilte transaktionale Systeme, hochverfügbare Lösungen/Cluster

? Developer Coaching & Teamleitung

? Build- und Test-Management / Continues Integration & Deployment

? Objektpersistenz (O/R-Mapping, XML-Serialisierung)

? Datenbank-Design

? Erstellung von XML Schemas und DTDs

? Full stack development


Architektur & Design

Microservices, Service-oriented architecture (SOA) Multi-Tier-Architekturen MVC-Systeme und -Frameworks (Model-View-Controller) Web Services / REST Verteilte transaktionale Systeme Objektorientierte Analyse & Design: UML, Design Patterns Client/Server-Systeme: sowohl synchron als auch asynchron bzw. event-gesteuert


Standards

Java EE (J2EE): insbesondere EJB, Servlets, JTA/JTS, JMS, JMX Java Persistence API (JPA) Java API for XML Web Services (JAX-WS) Java Architecture for XML Binding (JAXB) Java Server Faces (JSF) Remote Method Invocation (RMI) Java Native Interface (JNI) Agile Softwareentwicklung (Scrum) XInclude, XPath, XQuery, SAX, DOM, StAX, XSLT JSON, JSONPath LDAP



Frameworks / Produkte

Spring / Spring Boot Kubernetes, Minikube Docker, Docker-Compose Glassfish / Payara, WildFly Tomcat, Jetty Keycloak Hibernate, EclipseLink (JPA) Amazon AWS CoreMedia (CMS) Camunda (BPMS) Solr, Lucene, ElasticSearch Apache HTTP, nginx, Traefik Freemarker, JSP Thymeleaf JSF, PrimeFaces Sass / SCSS Gitlab-CI, Bamboo, Jenkins


Tools

Gradle, Maven, Ant, Ivy Git, Subversion Helm IntelliJ IDEA Asciidoc Liquibase, Flyway Ansible


Betriebssysteme

Linux
aktuell NixOS
Mac OS
Microsoft Windows
Solaris
OpenIndiana
 

Programmiersprachen

C
Basics
C++
Basics
Eiffel
Ausschließlich während des Studiums
JavaScript
PL/SQL
Fortgeschritten
Shell
Fortgeschritten
Rust
Basics
Java
Experte
Go
Basics

Datenbanken

MongoDB
MySQL
auch Percona
Oracle
PostgreSQL
 

Datenkommunikation

CORBA
Basiskenntnisse (Studium)
Ethernet
Internet, Intranet
Message Queuing
hauptsächlich JMS (Java Message Service)
RPC
Java-RPC und -RMI
SMTP
TCP/IP
direkte Socket-Programmierung in Java (auch UDP)
REST

Branchen

Branchen

  • E-Government
  • Öffentlicher Personennahverkehr
  • Banken
  • Post
  • Softwarehersteller
  • Online-Handel
  • Telekommunikation
  • Forschung & Entwicklung

Einsatzorte

Einsatzorte

Berlin (+10km)
möglich

Projekte

Projekte

1 Jahr 1 Monat
2022-07 - 2023-07

Weiterentwicklung der "Smarte.Land.Regionen" Plattform

Senior Backend Developer Microservices OAuth2 OpenAPI ...
Senior Backend Developer

"Smarte.Land.Regionen" - eine mandantenfähige Anwendungsplattform mit Identity Management, Medien-Verwaltung und App-Marktplatz


Meine Aufgaben:

  • Überarbeitung der Architektur bestehender Services: Vereinfachung der Struktur, Konsolidierung der Spring-Konfiguration
  • Übernahme ownership (im DevOps Sinn) mehrerer zentraler Plattformdienste
  • Implementierung neuer Microservices inkl. Datenbankschema und Autorisierung
  • Erstellung eines Spring Boot starters für die Autorisierung mit Spring Security/OAuth2
  • Customization von Keycloak
  • Implementierung und Integration von Keycloak custom resources
  • Migration der Autorisierung via Keycloak-Adapter mit policies auf Spring Security/OAuth2
  • Implementierung von Spring Security custom Autorisierung und JWT claim mapping


Spring Boot Keycloak Spring Security PostgreSQL Kubernetes Kafka MapStruct Docker Compose Maven Java 17 Hibernate ReactJS TypeScript FreeMarker Terraform
Microservices OAuth2 OpenAPI Kubernetes Java
Fraunhofer-Institut für Experimentelles Software Engineering IESE
remote
5 Monate
2022-02 - 2022-06

Fortbildung

Java 17 Go Rust ...
  • Migration Ubuntu und OpenSolaris server auf NixOS
  • Mailserver durch NixOS Mailserver ersetzt (mit DKIM und DMARC)
  • Einführung von LetsEncrypt Zertifikaten anstelle von selbst-signierten (DNS validiert)
  • Aufsetzen eines Kubernetes cluster (containerd, Traefik)
  • Aufsetzen einer Harbor Instanz
  • Wechsel auf append-only backup Strategie mit rsync und ZFS snapshots
  • Einarbeitung in Rust und Go
Kubernetes Gradle Traefik Harbor Grafana Loki Prometheus NixOS Spring-Webflux ZFS Helm Spring Boot
Java 17 Go Rust Linux
1 Jahr 6 Monate
2020-08 - 2022-01

Integrationsplattform für Behördendienste (Basiskomponente im Rahmen des OZG)

Lead Developer / DevOps SAML X.509 Microservices
Lead Developer / DevOps

Erstellung einer sogenannten IT-Basiskomponente im Rahmen des Onlinezugangsgesetzes (OZG), die den Zugriff auf verschiedene öffentliche Dienste und Standards ermöglicht bzw. vereinfacht.

Die Nutzung ist sowohl für Fachverfahren (Behörden) als auch für Bürger über Browser-basierte Portale möglich. Die Authentifizierung erfolgt deshalb entweder über Zertifikate oder mit Hilfe des Personalausweises über das "Nutzerkonto Bund".

  • Integration von Meldebehörden via XMeld, einem Standard der öffentlichen Verwaltung, und Implementierung einer einfacheren JSON-API für eine Teilmenge dieses Standards
  • Integration von XTA/OSCI (XTA ist ein Interoperabilitätsstandard der deutschen Regierung)
  • Authentifizierung und Autorisierung von Systemen der Fachverfahren mit Hilfe von Client-Zertifikaten
  • Autorisierung von Bürgern durch Validierung signierter SAML assertions, die als Bearer-Token gesendet werden (Siehe RFC 7522 ?SAML OAuth Client Authentication and Authorization Grants?)
  • Abbildung von SAML-Attributen bzw. autorisierten Zertifikaten auf einen Prinzipal, der an die Prozess-Engine weitergegeben wird
  • Absicherung der Kommunikation zwischen Diensten über mutual TLS
  • Test von Keycloak mit (SAML) Identity Federation
  • Gestaltung von Geschäftsprozessen mit Camunda und Integration von Microservices
  • Implementierung von Payload-Autorisierung, konfigurierbar in Geschäftsprozessen über JSONPath
  • Implementierung und Integration eines Audit-Services mit MongoDB als Backend
  • Implementierung von Backend- und Frontend-Validierung für Strings nach "DIN SPEC 91379" (Einer Teilmenge von Unicode-Zeichen zur korrekten Verarbeitung von Personennamen innerhalb der EU)
  • Implementierung einer Webkomponente (JavaScript-Modul) als Formular-Frontend für den XMeld-Dienst
  • Einrichten der CI/CD-Pipeline mit Bamboo, Maven, Docker Compose und Harbor
  • Erstellung von multi-stage, layered Docker-Images
  • Dokumentation mit Hilfe von AsciiDoc, OpenAPI und Spring REST Docs

Java 11 Camunda BPM Spring Boot Apache CXF Harbor Docker-Compose Docker PostgreSQL RabbitMQ MongoDB OpenSAML OpenFeign Openshift
SAML X.509 Microservices
]Init[ AG für digitale Kommunikation
remote

Aus- und Weiterbildung

Aus- und Weiterbildung

6 Jahre 5 Monate
1992-10 - 1999-02

Physik (Nebenfach Informatik)

Diplom, Georg-August-Universität Göttingen
Diplom
Georg-August-Universität Göttingen

Schwerpunkt: Theoretische Physik (computational physics), Nebenfach: Informatik


Im Rahmen der Diplomarbeit wurde eine massiv parallel arbeitende Simulation physikalischer Vorgänge entwickelt. Die Implementierung erfolgte zunächst in C, später dann die Portierung auf C++.

Parallelisierung der Simulation mit Hilfe der freien C-Bibliothek PVM (Parallel Virtual Machine), wodurch die Simulation auch in heterogen Rechner-Clustern lauffähig war.

Die Durchführung erfolgte sowohl auf Grossrechnern als auch auf einem Linux-Cluster.

Position

Position

Professionelle IT-Erfahrung seit 1999, seit 2004 freiberuflich (u.a. bei Otto, Deutsche Post, Comdirect, T-Systems, Hamburgische Landesbank, Siemens)

Kompetenzen

Kompetenzen

Top-Skills

Java Spring-Boot Kubernetes Java EE Docker JPA DevOps Spring Spring Security SQL OAuth

Schwerpunkte

Spring Boot
Experte
Kubernetes
Fortgeschritten
DevOps
Fortgeschritten
JPA
Fortgeschritten

Produkte / Standards / Erfahrungen / Methoden

Berufserfahrung

? Cloud-basierte Architekturen (Microservices, Kubernetes / Docker)

? Design und Entwicklung von Systemen im Java Enterprise Umfeld (Spring / Spring Boot, Java EE)

? Verteilte transaktionale Systeme, hochverfügbare Lösungen/Cluster

? Developer Coaching & Teamleitung

? Build- und Test-Management / Continues Integration & Deployment

? Objektpersistenz (O/R-Mapping, XML-Serialisierung)

? Datenbank-Design

? Erstellung von XML Schemas und DTDs

? Full stack development


Architektur & Design

Microservices, Service-oriented architecture (SOA) Multi-Tier-Architekturen MVC-Systeme und -Frameworks (Model-View-Controller) Web Services / REST Verteilte transaktionale Systeme Objektorientierte Analyse & Design: UML, Design Patterns Client/Server-Systeme: sowohl synchron als auch asynchron bzw. event-gesteuert


Standards

Java EE (J2EE): insbesondere EJB, Servlets, JTA/JTS, JMS, JMX Java Persistence API (JPA) Java API for XML Web Services (JAX-WS) Java Architecture for XML Binding (JAXB) Java Server Faces (JSF) Remote Method Invocation (RMI) Java Native Interface (JNI) Agile Softwareentwicklung (Scrum) XInclude, XPath, XQuery, SAX, DOM, StAX, XSLT JSON, JSONPath LDAP



Frameworks / Produkte

Spring / Spring Boot Kubernetes, Minikube Docker, Docker-Compose Glassfish / Payara, WildFly Tomcat, Jetty Keycloak Hibernate, EclipseLink (JPA) Amazon AWS CoreMedia (CMS) Camunda (BPMS) Solr, Lucene, ElasticSearch Apache HTTP, nginx, Traefik Freemarker, JSP Thymeleaf JSF, PrimeFaces Sass / SCSS Gitlab-CI, Bamboo, Jenkins


Tools

Gradle, Maven, Ant, Ivy Git, Subversion Helm IntelliJ IDEA Asciidoc Liquibase, Flyway Ansible


Betriebssysteme

Linux
aktuell NixOS
Mac OS
Microsoft Windows
Solaris
OpenIndiana
 

Programmiersprachen

C
Basics
C++
Basics
Eiffel
Ausschließlich während des Studiums
JavaScript
PL/SQL
Fortgeschritten
Shell
Fortgeschritten
Rust
Basics
Java
Experte
Go
Basics

Datenbanken

MongoDB
MySQL
auch Percona
Oracle
PostgreSQL
 

Datenkommunikation

CORBA
Basiskenntnisse (Studium)
Ethernet
Internet, Intranet
Message Queuing
hauptsächlich JMS (Java Message Service)
RPC
Java-RPC und -RMI
SMTP
TCP/IP
direkte Socket-Programmierung in Java (auch UDP)
REST

Branchen

Branchen

  • E-Government
  • Öffentlicher Personennahverkehr
  • Banken
  • Post
  • Softwarehersteller
  • Online-Handel
  • Telekommunikation
  • Forschung & Entwicklung

Vertrauen Sie auf Randstad

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.