Profilbild von Anonymes Profil, Senior JEE- / Angular-Entwickler
nicht verfügbar bis 01.01.2024
Kontakt

Letztes Update: 22.03.2022

Senior JEE- / Angular-Entwickler

Abschluss: Dipl-Ing (FH)
Stunden-/Tagessatz: anzeigen
remote
Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut)

Dateianlagen

202110 Thomas Bader - Profil.pdf

Skills

Java
  • JEE
  • JSP
  • Expression Language (EL)
  • Frameworks
    • Spring MVC
    • Hibernate
      • HQL
      • SQL
    • Apache FOP
Tools
  • JIRA
  • Versionsverwaltung
    • GIT (u.a. Bitbucket)
    • SVN
    • CVS
  • Continuous Integration
    • Bamboo
    • Jenkins
  • Entwicklungsumgebung
    • Eclipse
    • Netbeans
  • Datenbanken
    • Postgres
    • MySQL
    • Oracle
  • Docker
  • Ansible

Projekthistorie

07/2021 - bis jetzt
Migration von Struts 1 auf Spring Boot (Service für die Verwaltung von Architekturplänen)
Das System für die Verwaltung von Architekturplänen ist seit 2002 aktiv.
In diesem Projekt sollte die Anwendung und aktuellen Gesichtspunkten der Software-Entwicklung erweitert werden. Dafür wurde die Anwendung so erweitert, das die Frameworks Struts 1 und Spring Boot zusammen arbeiten. 
Strategisch wird mit diesem Projekt eine Langzeit-Migration angestrebt, die alte Funktionalitäten stückweise nach Spring-Boot migriert, um Struts 1 am Ende entfernen zu können.
    • Integration von Spring-Boot in das bestehende System
    • Umsetzung neuer Features inkl. Unit- und Integrationstests
    • Migration alter Anwendungsteile unter Beibehaltung der bestehenden DB
    • Erneuerung der Oberfläche unter Einsatz von Bootstrap
Die Planung und Koordinaten der Aufgaben erfolgt mit Kanban als Entwicklungsprozess.

01/2020 - 06/2021
Erweiterung einer Plattform zur Terminverwaltung (Gesundheitswesen)
Es existiert eine Plattform zum Buchen von Arztterminen für gesetzlich versicherte Personen. Hierbei
handelt es sich um ein verteiltes System. Einzelne Microservices übernehmen dabei verschiedene
Aufgaben. Die Kommunikation der Services erfolgt über einen Message-Broker; das Frontend wird
mittels REST versorgt.

Ziel dieses Projektes war es, das System um fachliche Anforderungen zu erweitern, technisch zu
normalisieren und in Teilen die Architektur zu optimieren.

Die Anwendung wurde bereits 4 Jahre entwickelt, als ich dem Team beitrat. Zu meinen Aufgaben
gehörten:
  • Umsetzung einzelner Features inkl. Unit- und Integrationstests
  • Planung und Konzeptionen von technischen Aufgaben
  • Prüfung und Optimierung der Code-Qualität
Als Entwicklungsprozess wurde Scrum eingesetzt. Kanban kam in Zeiten eines eng getakteten
Zeitplans zum Einsatz.

04/2017 - 12/2019
Neuentwicklung eines Customer Self-Service

Ziel des Projektes war die Ablösung des alten Customer Self-Service auf der Basis von Angular 2+ (aktuell Angular 8). Dabei wurden diverse Anwendungsfälle aus dem bestehenden Customer Self-Service herausgelöst und auf die neue Platform migriert. Neben dem Wechsel auf die Angular-Platform wurde auch diverse andere „neue“ Wege beschritten, wie die Anwendung reaktiver Programmierung (NgRx), die Einführung von OpenID Connect und die Bündelung der Rest-Schnittstellen via GraphQL.

Meine primäre Aufgabe war die Umsetzung von Anwendungsfällen. Jedoch kamen auch hinzu:
  • Coaching des Teams / Wissenstransfer
  • Konzeption / fachliche Unterstützung der Product-Owner
  • Organisation teamübergreifender Aufgaben/Zusammenarbeit

Grundlagen des Entwicklungsprozesses waren BDD (Behavior Driven Development) und Scrum.
 



Technologien: Angular8, NgRx, Typescript, REST, GraphQL, OpenID Connect, NX, BDD, Karma, node.js, npm, Git, Jira, Bitbucket, Bamboo, IntelliJ, Scrum
Teamgröße: 10
Tätigkeiten: Umsetzung, Test, Coaching, Fachkonzeption


10/2016 - 03/2017
Entwicklung einer Social Intranet Software

Bei dem entwickelten System handelt es sich um eine Plattform für Unternehmenskommunikation, Kollaboration und Wissensmanagement. Die Anwendung ähnelt Facebook, wird jedoch sowohl als SAAS-Lösung als auch als On-Premise-Lösung angeboten. Durch die Verwendung eines Javascript-basierten User-Interfaces (Angular) und eine Kommunikation mit dem Backend mittels Rest, existiert eine starke Schichtentrennung. Um eine hohe Skalierbarkeit zu gewährleisten und den Betrieb beim Kunden zu verbessern, wurden die einzelnen Komponenten der Anwendung auf verschiedene Docker-Container aufgeteilt.

Ich trat in der Endphase dem Projekt bei, um eine termingerechten Fertigstellung sicherzustellen. Zu meinen Aufgaben gehörten neben dem Bugfixing und Umsetzung neuer Funktionen unter anderem auch:

  • die Normalisierung der gewachsenen Rest-API

  • Stabilisierung komplexer Integrationstest

  • Verbesserung der Release-Automation des CI-Servers

In der Software-Entwicklung war SCRUM als Entwicklungsprozess fest etabliert und wurde konsequent umgesetzt. Die Projektsprache war englisch.
 



Technologien: Java (J2SE, J2EE), Postgres, Spring, Spring Boot, AngularJS, JPA, node.js, Gulp, Bower, REST, Git, SCRUM, Jira, Bitbucket, Bamboo, Docker, Eclipse
Teamgröße: 12
Tätigkeiten: Umsetzung, Test, DevOps


09/2013 - 09/2016
Entwicklung einer webbasierten Zeiterfassung

Das Produkt „askDANTE“ ist eine webbasierte Zeiterfassung für Arbeits- und Projektzeiten mit einer angeschlossenen Personal-Einsatzplanung. Daten können über den Browser oder angeschlossene Hardware-Terminals erfasst werden. Da das System sowohl als SaaS-Lösung als auch als On‑Premise-Lösung angeboten wird, wurde besonderer Wert auf die Modularität gelegt. So sind die eigentliche Anwendung und das Backend auf verschiedene Systeme verteilt, die über REST-Schnittstellen miteinander kommunizieren.

Zu meinen Aufgaben gehörten die Umsetzung der Anforderungen des Fachbereichs über alle Schichten. Hierzu zählten sowohl die Erstellung von Frontend-Komponenten, der Entwurf von Komponenten in der Service-Schicht wie auch Anpassungen im Persistenz-Layer und performante Datenbankabfragen. Darüber hinaus entwarf ich die architektonische Grundlagen der Anwendung ebenso wie das Datenbankdesign. Die Entwicklung erfolgte testgetrieben unter Verwendung von CleanCode-Prinzipien und unter Kontrolle eines CI‑Servers. Der Entwicklungsprozess war SCRUM basiert.
 



Technologien: Java (J2SE, J2EE), Tomcat, Postgres / SQL, Spring, Spring MVC, AngularJS, Hibernate, REST, FOP, Git, Eclipse, SCRUM, Jira, Bitbucket, Bamboo
Teamgröße: 6
Tätigkeiten: Umsetzung, Test, Architektur, Coaching


10/2010 - 08/2013
Entwicklung eines Produktes für Template-Management und Multichannel-Output im Bereich Customer Care

Das Produkt „paginium“ ist ein Enterprise Document Server, über den Dokumentenvorlagen zentral und unabhängig vom Ausgabekanal gepflegt, Dokumente prozessoptimiert beauftragt und Dokumente dem Endkunden auf dem optimalen Weg (Mail, Fax, Brief) zugestellt werden können. Dadurch können die Prozess- und Produktionskosten reduziert und die Wartbarkeit und Qualität der Kundenkommunikation erhöht werden.

Zu meinen Aufgaben gehörten das Refactoring der Komponenten im Backend und der Entwurf einer modularen Architektur. Die Entwicklung erfolgte nach CleanCode-Prinzipien; ein Großteil der Funktionalität wurde durch Unit- und Integrationstests abgesichert.
 



Technologien: Java (J2SE, J2EE), Ruby On Rails, SQL, Tomcat, Postgres, Spring, Hibernate, SOAP, FOP, Eclipse, SCRUM, Jira, Jenkins, SVN
Teamgröße: 3
Tätigkeiten: Umsetzung, Test, Architektur, Coaching


01/2008 - 09/2010
Neuentwicklung eines Systems für die Verwaltung von beruflichen Bildungsmaßnahmen und Steuerung der beruflichen Entwicklung von Teilnehmern

Zur Ablösung einer existierenden Lösung sollte das neue System neben einer Optimierung der Software-Ergonomie und Benutzerfreundlichkeit die folgenden Eigenschaften unterstützen: webgestützt, mandantenfähig, revisionssicher, individuell anpassbar.

Zu den Aufgaben gehörte das Erstellen des Architekturkonzepts und der ersten Implementierung der Grundanforderungen. Neben der Umsetzung der Anforderungen des Fachbereichs unterstützte ich die Fachabteilung bei der Definition der Anforderungen und die Entwicklung bei der Einführung eines agilen Entwicklungsprozesses nach SCRUM in der Position als SCRUM-Master.
 



Technologien: Java (J2SE, J2EE), SQL, Tomcat, Postgres, Spring, Hibernate, Eclipse, JasperReports, SCRUM, Jira, Jenkins, SVN
Teamgröße: 8
Tätigkeiten: Umsetzung, Test, Coaching, Architektur, Fachkonzeption


03/2007 - 12/2007
Erweiterung eines mehrsprachigen Incentive-Systems im Luftfahrtbereich [Folgeprojekt]

Ein auf STRUTS basiertes System zur Incentivierung von Kundentransaktionen musste um diverse Funktionen erweitert werden. Hierzu gehörten mannigfaltige Änderungen im Kundenfrontend, die Erweiterung eines Berechtigungskonzeptes für administrative Benutzer sowie die Erstellung diverser Reports mit POI für Excel. Hier kam in einem großen Maße SQL bei der Abfrage und PL/SQL bei der Vorbereitung der Daten zum Tragen. Darüber hinaus wurden von mir Aufgaben im Bereich der Planung neuer Module, der Qualitätssicherung und der Einarbeitung neuer Mitarbeiter übernommen.
 



Technologien: Java (J2SE, J2EE), SQL, PL/SQL, Resin, Oracle, STRUTS, Eclipse, POI
Teamgröße: 5
Tätigkeiten: Umsetzung


01/2007 - 02/2007
Erweiterung eines webbasierten Planverwaltungsystems für Architekten [Folgeprojekt]

Ein webgestütztes System zur Historisierung und Nachverfolgung für Pläne von Architekten und Bauträgern musste im Funktionsumfang bedarfsgerecht erweitert werden.

Zentrale Aufgabe war, die Benutzerführung an diversen Stellen zu optimieren. Jedoch gehörten auch viele kleinere Tätigkeiten dazu, wie das Herunterladen von Dateien gemäß des Rechtesystems und die Erstellung von PDF-Dokumenten mittels FOP.
 



Technologien: Java (J2SE, J2EE), Resin, Sybase, STRUTS, Eclipse, FOP
Teamgröße: 2
Tätigkeiten: Umsetzung, Architektur


08/2006 - 12/2006
Erweiterung eines Systems zur Vertragsdatenpflege

Bei dem bearbeiteten System handelte es sich um ein webbasiertes System zur Verwaltung von Vertragsdaten von Kunden. Mit dem neu entwickelten Modul sollten dynamisch generierte Verträge automatisch dem Kunden per E-Mail zugeschickt werden können. Die Verträge wurden auf Basis von OpenOffice Dokumenten personalisiert und gemäß der Vertragsbestandteile des Kunden zusammengestellt. Für die Erstellung der Dokumente als PDF wurde direkt eine OpenOffice-Instanz angesprochen. In einem weiteren Modul konnten die Vertragspakete verwaltet und Testverträge zur Qualitätssicherung erstellt werden.

Aufgabenschwerpunkte waren die Planung der neuen Module und der Dokumentenerstellung sowie die Umsetzung des Moduls für den Vertragsversand und die Kapselung der Funktionen in einer Bibliothek.
 



Technologien: Java (J2SE, J2EE), JBoss, Tomcat, Oracle, STRUTS, Eclipse, OpenOffice
Teamgröße: 4
Tätigkeiten: Umsetzung, Architektur


12/2005 - 07/2006
Erstellung einer Anwendung zum Verwalten von Bildern im Verlagswesen / Migration von Altdaten

Bei der erstellten Anwendung handelte es sich um ein System zum Verwalten und Archivieren von Bildern und Bildinformationen. Für die Inbetriebnahme des neuen Systems mussten zuerst die Altdaten migriert werden. Die Migration wurde über eine komplexe Logik in Java implementiert. Darüber hinaus gehörte die Implementierung von serverseitiger Logik und des Swing-Frontends zu den Aufgaben. Diese beinhaltete neben den Standardanwendungen von Swing die Bereiche Event-Steuerung und Drag&Drop. Die Erstellung von Reports mittels Oracle-XML und XSLT-Transformationen rundeten die Aufgabenbereiche ab.
 



Technologien: Java (J2SE, J2EE), JBoss, Hibernate, Oracle, Swing, Netbeans, XSLT
Teamgröße: 3
Tätigkeiten: Umsetzung


08/2005 - 11/2005
Anpassung eines mehrsprachigen Incentive-Systems im Luftfahrtbereich [Folgeprojekt]

Aufgabenschwerpunkt dieses Projektes war die Überarbeitung und Erweiterung des Berechtigungskonzeptes. Weitere Aufgaben waren in der Planung und Umsetzung einer Lösung zur Erstellung von lokalisierten Reports unter Verwendung der landestypischen Sprachen und Schriftsätze zu sehen. Dabei wurde STRUTS in das bestehende Framework eingebunden. Als begleitende Aufgabe galt es, die internen Mitarbeiter weiterzubilden sowie neue Ideen, Ansätze und Technologien aufzuzeigen.
 



Technologien: Java (J2SE, J2EE), STRUTS, Resin, Oracle, Jasper, Ireports, Eclipse
Teamgröße: 5
Tätigkeiten: Umsetzung, Coaching


04/2005 - 07/2005
Anpassung und Weiterentwicklung eines Backoffice-Systems für den PowerSeller Bereich eines Telekommunikationsunternehmens

Ein bestehendes System zur Konfiguration und Kontrolle von Bestellungen im PowerSeller Bereich eines großen Telekommunikationsunternehmens wurde vom BEA WebLogic Portal-Server auf JSP/STRUTS migriert. Es wurde dabei ein CMS System von CoreMedia integriert.
 



Technologien: Java (J2SE, J2EE) mit JSP/Servlet, BEA WebLogic, STRUTS, Oracle, Eclipse, WebServices, HTML
Teamgröße: 7
Tätigkeiten: Umsetzung


01/2005 - 03/2005
Entwicklung eines Systems zur Verfolgung und Visualisierung von weltweiten Segelveranstaltungen (Fleettracker)

Für einen Kunden sollte ein System entwickelt werden, mit dem bei weltweiten Segelveranstaltungen die Positionen von Schiffen sowie Informationen zu den Schiffen angezeigt werden können. Hierfür wurden Grafiken mit den Routen der Teilnehmer erzeugt, die mit weiteren Informationen, wie dem Wetter, angereichert werden.

Die Aufgaben umfassten neben der Erstellung eines performanten Designs und der Implementierung auch die Bedarfsanalyse in Zusammenarbeit mit dem Kunden.
 



Technologien: Java (J2SE, J2EE) mit JSP/Servlet, HTML/CSS, XML, Tomcat, MySQL, Eclipse
Teamgröße: 2
Tätigkeiten: Umsetzung, Architektur, Fachkonzeption


09/2004 - 12/2004
Anpassung einer Anwendung zur Simulation von Incentivevereinbarungen für Großkunden im Luftfahrtbereich

Anpassung des bestehenden Systems an neue Anforderungen.
 



Technologien: Java (J2SE) mit Swing, WebStart, Oracle, Eclipse
Teamgröße: 2
Tätigkeiten: Umsetzung


02/2004 - 08/2004
Entwicklung eines Abrechnungs- und eines Drucksystems im Telekommunikationsbereich

Innerhalb des Projektes ging es um verschiedene Teilaufgaben mit verschieden Zielrichtungen und Aufgabenfeldern: Umsetzung und Design eines Webfrontends zum Druck von Kundenschreiben über einen externen Dienstleister/Lettershop sowie Mitarbeit an einem Abrechnungssystem für Kunden-/Transaktionsdaten.
 



Technologien: Java (J2SE, J2EE) mit JSP/STRUTS, HTML/CSS, XML, WebServices, Oracle, MySQL, Eclipse
Teamgröße: 4
Tätigkeiten: Umsetzung


01/2004 - 02/2004
Design und Implementierung eines Programms zur Darstellung von Wetterinformationen

Zur Anzeige von Wetterdaten wurde eine Anwendung entworfen und umgesetzt, mit der verschiedene Informationen zum Wetter (Wind, Strömung, Isobaren, ...) in verschiedenen geografischen Gebieten angezeigt werden können. Als Grundlage für diese Daten dienten spezielle Dateien, die per Handy/E-Mail empfangen, zur Anzeige gebracht und ausgedruckt werden können.
 



Technologien: Java (J2SE) mit Swing, XML, Eclipse
Teamgröße: 2
Tätigkeiten: Umsetzung, Architektur


09/2003 - 01/2004
Entwicklung und Test eines Portals zur Vermittlung von Arbeitsstellen

Mitarbeit bei der Neuentwicklung eines Portals zur Vermittlung von Arbeitsstellen. Der Schwerpunkt der Aufgaben lag bei der Umsetzung von Modulen (Frontend und Backend) des Systems.

In diesem Rahmen wurden leitende Aufgaben für einen Teil des Teams ebenso übernommen wie koordinative Aufgaben zwischen den Teams, wie z.B. die Schnittstellen-Spezifikation und Verantwortlichkeit für Definition und Kontrolle von automatisierten Tests innerhalb des Teams.
 



Technologien: Java (J2EE) mit JSP/Servlets, HTML/CSS, JUnit, Oracle, Bea Weblogic, JBuilder
Teamgröße: 8 / gesamt 150
Tätigkeiten: Umsetzung, Test, Coaching


Kontaktformular

Kontaktinformationen