Senior Software Engineer, Java, Anforderungsanalyse, Softwaredesign, Implementierung
Aktualisiert am 18.09.2023
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 17.09.2023
Verfügbar zu: 100%
davon vor Ort: 25%
Java
Softwaredesign
Requirements Engineering
Implementierung
Wartung
Pflege
Entwicklung
GUI-Entwicklung
Business Logic
Angular
TypeScript
Deutsch
Muttersprache
Englisch
Arbeitssprache
Französisch
Grundkenntnisse

Einsatzorte

Nürnberg (+100km) Frankfurt am Main (+50km) München (+50km) Stuttgart (+50km)
Deutschland, Österreich, Schweiz
möglich

Projekte

1 Jahr 6 Monate
2021-11 - 2023-04

Weiterentwicklung eines Transportmanagementsystems

Senior Software Engineer Java Software-Design Scrum
Senior Software Engineer

Weiterentwicklung eines Transportmanagementsystems für den kombinierten Güterverkehr. Dazu gehörten die Benutzerschnittstelle zur Erfassung und Bearbeitung von Aufträgen, die Business Logic für die Verarbeitung der Aufträge und Stammdaten, das Backend für ein Webportal, sowie zahlreiche Schnittstellen für den elektronischen Datenaustausch mit Geschäftspartnern.

Systemumgebung waren zwei Linux-Maschinen (CentOS) (Entwicklung mit Java, Spring, teilweise Spring Boot, Hibernate) und Java(RCP)-Clients unter Windows. Als Datenbank diente Informix.

Meine Aufgaben umfassten im Wesentlichen:

  • Analyse und Verfeinerung der User Stories mit der Fachabteilung und im Scrum-Team
  • Berücksichtigung einer guten Usability und nichtfunktionaler Anforderungen
  • Datenmodellierung mit JPA, Hibernate, Informix
  • Umsetzung der User Stories in Frontend und Backend
  • Lösung von Performance-Problemen
  • Erstellung der automatisierten Unit-, Integrations- und Oberflächentests
  • Code Review und manuelles Testen der anderen im Scrum-Team entwickelten Features
Java Spring Spring Boot JPA Hibernate SQL XML JSON REST SOA Eclipse RCP SWT Apache Camel ActiveMQ Maven Git GitLab Jenkins JUnit Mockito QF-Test FitNesse Informix DB Visualizer Atlassian JIRA Atlassian Confluence MS Teams
Java Software-Design Scrum
Kombiverkehr GmbH & Co. KG
remote
7 Monate
2020-12 - 2021-06

Migration der Benutzeroberfläche eines Transportmanagementsystems (Java + Web)

Softwaredesigner, Systemanalytiker Softwaredesign Agile Entwicklung
Softwaredesigner, Systemanalytiker
Die Benutzeroberfläche eines Transportmanagementsystems (siehe Vorprojekt) wurde von Java Swing auf einen Angular Web Client migriert. Dabei wurde die Business Logic des Java-Backend weitgehend beibehalten und im Frontend gleichzeitig Verbesserungen der Usability / User Experience umgesetzt. Im Rahmen eines MVP (Minimum Viable Product) wurden die grundlegenden technischen Konzepte für diese Migration entwickelt und in einer ersten Implementation praktisch erprobt.

Meine Schwerpunkte waren
  • Analyse der bestehenden Funktionen und der vorgeschlagenen Verbesserungen
  • Abstimmung mit den UI-/UX-Designern und Entwicklern hinsichtlich Umsetzbarkeit, Aufwand und Priorisierung
  • Erstellung funktionaler Beschreibungen und technischer Konzepte bzw. Modelle
  • Gliederung in User Stories für Frontend und Backend
  • Design des neuen API im Java-Backend
  • Dokumentation etablierter Vorgehensweisen
  • Zusammenarbeit in einem länderübergreifenden Scrum-Team (Arbeitssprache Englisch)

? Enterprise Architect Confluence Jira Frontify UML MS Word Java Angular TypeScript SVN Git LemonTree Zoom Mattermost
Softwaredesign Agile Entwicklung
Kühne + Nagel (AG & Co.) KG
remote
2 Jahre 1 Monat
2019-06 - 2021-06

Entwicklung eines weltweit eingesetzten Transportmanagementsystems (Java)

Softwaredesigner, Systemanalytiker Softwaredesign V-Modell Agile Entwicklung
Softwaredesigner, Systemanalytiker

Als Softwaredesigner und Systemanalytiker war ich für die Analyse von Anforderungen, das funktionale sowie das technische Design verantwortlich. Schwerpunkt waren Features für die Abwicklung von Aufträgen der Seefracht und Luftfracht sowie im Bereich Dokumentenmanagement.

 

Systemumgebung war Java mit Spring und Hibernate serverseitig und ein Java(Swing)-Client. Als Datenbank diente Oracle.


Meine Aufgaben umfassten im Wesentlichen:

  • Analyse der Anforderungen und Umsetzung in ein funktionales und technisches Softwaredesign
  • Berücksichtigung einer guten Usability, Entwurf geeigneter Workflows, sowie Beachtung von nichtfunktionalen Anforderungen
  • Datenmodellierung mit JPA, Hibernate, Oracle
  • Entwicklung von Testfällen zur Verifizierung des Datenbankdesigns
  • Unterstützung der Java-Entwickler bei der Umsetzung der Entwürfe und bei der Analyse von Fehlern
  • Codereviews hinsichtlich der Umsetzung des Softwaredesigns
  • Durchführung von Integrationstests
  • Bearbeitung von Fehlermeldungen
  • Vorgehen nach V-Modell und den Designrichtlinien des Kunden in länderübergreifenden Teams (Arbeitssprache Englisch), teilweise auch agile Ansätze


? Enterprise Architect MS Word GUI Design Studio UML Java Hibernate SQL JPA Spring Swing Apache log4j/Maven Eclipse SVN Git JUnit Mockito Oracle Database Oracle SQL Developer SoapUI Jira Confluence Quality Center LemonTree Zoom Mattermost
Softwaredesign V-Modell Agile Entwicklung
Kühne + Nagel (AG & Co.) KG
Hamburg / remote
2 Jahre 8 Monate
2016-07 - 2019-02

Neuentwicklung eines umfangreichen Prozessautomatisierungssystems (C# + Web)

Senior Entwickler, Teilprojektleiter und Teamleiter Implementierung Softwaredesign Agile Entwicklung
Senior Entwickler, Teilprojektleiter und Teamleiter

Im Rahmen der Neuentwicklung eines Prozessautomatisierungs¬systems war ich als Entwickler und Teilprojektleiter für die Erstellung von Softwarefunktionen verantwortlich, z.B. zum Datenaustausch mit anderen Systemen oder zur Migration zwischen ver¬schiedenen Automatisierungssystemen. Dazu gehörte die Leitung eines Teams
von 4 Personen sowie die Koordination externer Zulieferungen.

Systemumgebung war serverseitig ein Windows Server mit IIS (Entwicklung mit C#) und clientseitig ein Webbrowser (Entwicklung mit JavaScript, AngularJS).

Besondere Herausforderungen waren die schnelle Einarbeitung in das laufende Projekt sowie der erfolgreiche Aufbau eines Entwicklerteams an einem weiteren Standort und der dafür notwendige Wissenstransfer.

Meine Aufgaben umfassten im Wesentlichen:

  • Analyse der Anforderungen und Umsetzung in User Stories sowie Software Design incl. Datenmodellierung
  • Vorgehen nach agilen Methoden, enge Zusammenarbeit mit dem Produktmanagement
  • Planung und Koordination der Entwicklungsaufgaben in internen Teams und mit externen Dienstleistern
  • Berücksichtigung einer guten Usability, Entwurf geeigneter Workflows, sowie Beachtung von nichtfunktionalen Anforderungen
  • Implementierung der Anwendungslogik und der grafischen Benutzeroberfläche (Web UI)
Visual Studio mit TFS Balsamiq Mockups Enterprise Architect C# JavaScript AngularJS HTML5 Google Chrome jQuery NUnit Moq SonarQube UML XML JSON LINQ
Implementierung Softwaredesign Agile Entwicklung
Siemens AG ? Bereich Prozessautomatisierung
Erlangen/Karlsruhe
8 Jahre
2008-07 - 2016-06

Weiterentwicklung, Wartung und Pflege eines Kraftwerksleittechniksystems (Java)

Senior Software Engineer Implementierung Softwaredesign V-Modell
Senior Software Engineer

Das Projekt umfasste die laufende Weiterentwicklung, Wartung und Pflege eines Kraftwerksleittechniksystems. Mein Schwerpunkt lag auf der Funktionsentwicklung für die nutzergerechte und effiziente grafische Benutzeroberfläche.

Systemumgebung war ein Java (Swing) Client unter Windows, angebunden an mehrere ebenfalls mit Java realisierte Serverkomponenten.

Realisierte Features waren z.B. Verbesserungen des EngineeringProzesses, Anbindung externer Systeme, ein Redesign der Benutzeroberfläche, oder die Integration von Web-Apps in das System.

Meine Aufgaben waren:

  • Analyse der Anforderungen (Lastenhefte) und Umsetzung in Pflichtenhefte sowie Softwaredesign
  • Vorgehen nach V-Modell, enge Zusammenarbeit mit dem Produktmanagement und den Fachabteilungen
  • Berücksichtigung einer guten Usability, Entwurf geeigneter Workflows, sowie Beachtung von nichtfunktionalen Anforderungen
  • Implementierung der grafischen Benutzeroberfläche (Windows Desktop UI, Rich Client mit Java Swing) und der Anwendungslogik
  • Sicherstellung der Code-Qualität und Testabdeckung
  • Koordination von Entwicklungsaufgaben in internationalen, verteilten Teams (Deutschland, Osteuropa, Asien)
  • Einführung von entwicklungsnahen, automatisierten UI-Tests und Vermittlung der gewonnenen Erfahrungen in die Systemtest-Abteilung
  • Unterstützung des Testteams bei Fehleranalysen sowie Fehlerbehebung
  • Mitarbeit bei der Pilotierung von Scrum als Alternative zum V-Modell
Java Java SE Swing Web Start JxBrowser JViews JFreeChart Apache log4j/POI/Ant XML Eclipse ClearCase JUnit Mockito EMMA CheckStyle DOORS MS Visio UML QF-Test Groovy Equinox OSGi TCP/IP
Implementierung Softwaredesign V-Modell
Siemens AG ? Bereich Energieerzeugung
Erlangen
8 Jahre 1 Monat
2000-06 - 2008-06

Entwicklung eines grafischen Engineeringsystems für die Projektierung von Industrieanlagen (C++, VB)

Software Engineer
Software Engineer
  • Implementierung der Benutzeroberfläche (Windows Desktop UI), Anwendungslogik und Datenbankanbindung
  • Ausarbeitung von Pflichtenheften und Designdokumenten
  • Erstellung der Onlinehilfe in deutsch und englisch
  • Unterstützung der Hotline und des Testteams bei Fehleranalysen sowie Fehlerbehebung
  • Problemlösung bei der Inbetriebsetzung auf Anlagen
C++ Visual Basic Visual Studio MS Visio SQL Server MS Access ClearCase DOORS UML
Siemens AG ? Bereich Anlagenbau und Technische Dienstleistungen
Erlangen

Aus- und Weiterbildung

6 Jahre 6 Monate
1993-10 - 2000-03

Studium der Allgemeinen Elektrotechnik

Diplom-Ingenieur, Rheinisch-Westfälische Technische Hochschule Aachen
Diplom-Ingenieur
Rheinisch-Westfälische Technische Hochschule Aachen

Diplomarbeit am Lehrstuhl für Technische Informatik über Mensch-Maschine-Interaktion und Simulation in virtuellen Umgebungen

Position

Seit über 20 Jahren entwickle ich komplexe Softwarelösungen mit hohem Anspruch an Verfügbarkeit, Effizienz und Bedienbarkeit. Dabei habe ich meine Kompetenzen in den Bereichen Requirements Analyse, Softwaredesign und Implementierung stetig weiterentwickelt.

Ich lege großen Wert auf eine gute Zusammenarbeit im Team und über seine Grenzen hinweg. Meine Erfahrung in international besetzten, verteilten Entwicklungsvorhaben hilft mir, den Überblick zu behalten und Projekte erfolgreich umzusetzen. Mein Wissen gebe ich gerne weiter.

Wenn Sie erfahren möchten, wie ich Sie und Ihre Kunden konkret unterstützen kann, freue ich mich auf Ihre Nachricht.


Requirements Engineering und Software Design

Ich analysiere die Anforderungen an Ihr IT-Projekt, erarbeite und dokumentiere die Umsetzung in eine Softwarelösung. Je nach Vorgehensmodell erstelle ich z.B. User Stories, Mockups, Designdokumente oder ein Pflichtenheft. Die Zusammenarbeit mit den Fachabteilungen ist mir dabei wichtig, damit die zu entwickelnde Software den Anforderungen entspricht. Sie erhalten eine solide Basis für die anschließende Realisierung.

Dabei nutze ich meine Erfahrungen mit zuverlässigen, hochverfügbaren Systemen, um für Ihre Problemstellung die beste Lösung zu finden. Gut bedienbare, performante Benutzeroberflächen sowie die durchgängige Weiterverarbeitung von Daten für digitale Geschäftsprozesse bilden die Schwerpunkte meiner Arbeit.


Implementierung und Wartung von Softwaresystemen

Mit meinen sehr guten Kenntnissen in Java (Frontend und Backend) setze ich Anforderungen in performanten, wartbaren Code um. Auch bei der Realisierung moderner Webanwendungen mit Angular, HTML, TypeScript unterstütze ich Sie gerne. Durch sorgfältige Programmierung, abgesichert durch Codeanalyse und automatisierte Tests, erhalten Sie eine hohe Softwarequalität.

Bei der Umsetzung der Aufgaben helfen mir meine Erfahrungen mit der Realisierung von Desktop- und Web-Anwendungen. Themen wie Grafikbibliotheken, Internationalisierung und Lokalisierung, Schnittstellen zu Fremdsystemen sowie mehrstufige Testverfahren sind mir geläufig.

Kompetenzen

Top-Skills

Java Softwaredesign Requirements Engineering Implementierung Wartung Pflege Entwicklung GUI-Entwicklung Business Logic Angular TypeScript

Aufgabenbereiche

Anforderungsanalyse
> 15 Jahre
Anwendung von Design Patterns, Coding Guidelines, Clean Code Prinzipien
> 20 Jahre
Automatisierte Tests
> 10 Jahre
Bedien- und Beobachtungssysteme
> 10 Jahre
Berücksichtigung nichtfunktionaler Anforderungen (NFR)
> 20 Jahre
Erstellung von Pflichtenheften
> 15 Jahre
Erstellung von User Stories
> 5 Jahre
Fehleranalyse, -behebung, -dokumentation
> 20 Jahre
Gestaltung und Implementierung von Benutzeroberflächen
> 20 Jahre
Grafische Editoren
> 15 Jahre
Hochverfügbare Systeme
> 10 Jahre
Implementierung der Anwendungslogik
> 20 Jahre
Internationalisierung und Lokalisierung
> 20 Jahre
Logging und Tracing
> 20 Jahre
Manuelle Entwicklertests
> 20 Jahre
Mehrbenutzersysteme
> 20 Jahre
Migrationslösungen
> 15 Jahre
Projektierungssysteme, Engineeringsysteme
> 15 Jahre
Schnittstellen zu Fremdsystemen
> 20 Jahre
Softwaredesign, OOA, OOD, DDD
> 20 Jahre
Teilprojektleitung, Teamleitung
3 Jahre
Transportmanagementsysteme, Logistiksoftware
> 3 Jahre
Multithreading
8 Jahre

Produkte / Standards / Erfahrungen / Methoden

Agile Methoden
> 6 Jahre
Angular
Fortgeschritten
AngularJS, jQuery
3 Jahre
Apache log4j
> 10 Jahre
Apache POI
8 Jahre
Apache Tomcat
8 Jahre
AWT
8 Jahre
Balsamiq Mockups
(Konzeptskizzen für UIs, Wireframes), 3 Jahre
CheckStyle
(statische Codeanalyse), 8 Jahre
Eclipse IDE
(Entwicklungsumgebung), > 10 Jahre
Eclipse RCP
10 Jahre
EMMA
(Messung der Testabdeckung), 8 Jahre
Equinox OSGi
10 Jahre
FitNesse
> 1 Jahr
Google Chrome
(Browser, Entwickler-Tools), 3 Jahre
HTML
> 15 Jahre
HTTP
3 Jahre
IBM Rational ClearCase
(Quellcodeverwaltung), 16 Jahre
IBM Rational DOORS
(Anforderungsmanagement), 10 Jahre
JFreeChart
(Java Framework für komplexe Diagramme), 1 Jahr
JSON
> 3 Jahre
JUnit
> 10 Jahre
JViews
(Java-Bibliothek zur Visualisierung), 8 Jahre
JxBrowser
3 Jahre
LINQ
3 Jahre
Mehrschicht-Architekturen
> 20 Jahre
Microsoft IIS
3 Jahre
Microsoft Visio
(Visualisierung), > 15 Jahre
Microsoft Visual Studio
(Entwicklungsumgebung), > 10 Jahre
Mockito
> 10 Jahre
MVC Pattern
> 15 Jahre
net, ASP.NET WebAPI, SignalR, NUnit, Moq
3 Jahre
ODATA (Open Data Protocol)
3 Jahre
Quality First QF-Test
(UI-Testautomatisierung), 8 Jahre
RESTful Web Applications, Single Page Applications
4 Jahre
Rich Clients, Desktop Applications
> 15 Jahre
RPC (Remote Procedure Calls) / RMI (Remote Method Invocation)
10 Jahre
Scrum
> 3 Jahre
SonarQube
(statische Codeanalyse), 2 Jahre
Sparx Enterprise Architect
(Softwaremodellierung), 4 Jahre
Spring, Spring Boot, Hibernate, JPA
> 3 Jahre
Swing
8 Jahre
SWT
> 1 Jahr
TCP/IP
5 Jahre
Team Foundation Server TFS (umbenannt in Azure DevOps Server)
(Anforderungs-/Quellcodeverwaltung etc.), 3 Jahre
UML
> 15 Jahre
V-Modell
> 15 Jahre
XML
> 10 Jahre
XMLSpy
(XML-Analyse-Tool), 10 Jahre
Atlassian Jira
> 3 Jahre
Atlassian Confluence
> 3 Jahre
HP/MF Quality Center
2 Jahre
SVN
2 Jahre
Git / GitLab
> 3 Jahre
Caretta GUI Design Studio
2 Jahre
Apache Maven
2 Jahre
Apache Camel
> 1 Jahr
Apache ActiveMQ
> 1 Jahr

Betriebssysteme

Microsoft Windows
> 20 Jahre
Microsoft Windows Server
11 Jahre

Programmiersprachen

Java
> 10 Jahre
C#
3 Jahre
Groovy
6 Jahre
JavaScript
3 Jahre
TypeScript
Fortgeschritten

Datenbanken

Datenmodellierung allgemein, O/R Mapping
> 10 Jahre
Microsoft Access
5 Jahre (bis 2008)
Microsoft SQL Server
5 Jahre (bis 2008)
Proprietäre, dateibasierte Lösungen
8 Jahre
Oracle Database
2 Jahre
Informix Database
> 1 Jahr

Branchen

Elektrotechnik, Logistik

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

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

Das GULP Freelancer-Portal

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