Profilbild von Anonymes Profil, Senior Software Engineer - Java - Angular
verfügbar

Letztes Update: 24.02.2024

Senior Software Engineer - Java - Angular

Firma: Michael Schwonke Software Engineering
Abschluss: Dipl.-Ing. Elektrotechnik
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher) | französisch (Grundkenntnisse)

Skills

Programmiersprachen, Skriptsprachen
Java, TypeScript, JavaScript, C#, Groovy

Bibliotheken und Frameworks
Spring, Spring Boot, Hibernate, JPA

Angular

Apache Camel, ActiveMQ

Eclipse RCP (Rich Client Platform), SWT, AWT, Swing, Equinox OSGi Framework, TeamDev JxBrowser, JViews (Java-Bibliothek zur Visualisierung),
log4j, POI, JUnit (Unit Test Framework), Mockito (Mocking Bibliothek), JFreeChart (Java Framework für komplexe Diagramme)

.net, ASP.NET WebAPI, SignalR,
NUnit (Unit Test Framework), Moq (Mocking Bibliothek)

Programme, Tools
Eclipse IDE
Microsoft Visual Studio
Team Foundation Server TFS (umbenannt in Azure DevOps Server)
Atlassian Jira, Confluence
IBM Rational ClearCase
SVN, Git, GitLab
HP/MF Quality Center
Google Chrome

IBM Rational DOORS
Balsamiq Mockups, Caretta GUI Design Studio
Sparx Enterprise Architect
Microsoft Visio

Quality First QF-Test
FitNesse
SonarQube
CheckStyle

EMMA
XMLSpy
Microsoft IIS
Apache Tomcat

Weitere Sprachen, Protokolle, Architekturen
XML
HTML
CSS
UML
JSON
LINQ (Language Integrated Query)

TCP/IP
HTTP
ODATA (Open Data Protocol)
RPC (Remote Procedure Calls) / RMI (Remote Method Invocation)

Mehrschicht-Architekturen, MVC Pattern
RESTful Web Applications, Single Page Applications
Rich Clients, Desktop Applications

Betriebssysteme
Microsoft Windows
Microsoft Windows Server

Datenbanken
Datenmodellierung allgemein, O/R Mapping
Proprietäre, dateibasierte Lösungen
Microsoft SQL Server
Microsoft Access
Oracle Database
IBM/HCL Informix

Vorgehensmodelle
V-Modell
Agile Methoden
Scrum

Aufgaben
Softwaredesign, OOA, OOD, DDD
Anforderungsanalyse
Erstellung von Pflichtenheften
Erstellung von User Stories
DevOps (u.a. Zusammenarbeit im Team, Testautomatisierung, CI/CD)

Gestaltung und Implementierung von Benutzeroberflächen
Implementierung der Anwendungslogik
Berücksichtigung nichtfunktionaler Anforderungen (NFR)
Anwendung von Design Patterns, Coding Guidelines, Clean Code Prinzipien
Manuelle Entwicklertests
Automatisierte Tests
Fehleranalyse, -behebung, -dokumentation

Projektierungssysteme, Engineeringsysteme
Transportmanagementsysteme, Logistiksoftware
Grafische Editoren
Bedien- und Beobachtungssysteme
Hochverfügbare Systeme
Mehrbenutzersysteme
Multithreading
Internationalisierung und Lokalisierung
Logging und Tracing
Schnittstellen zu Fremdsystemen
Migrationslösungen

Projekthistorie

11/2021 - 04/2023
Senior Software Engineer (Java)
Mittelständisches Unternehmen im Bereich Logistik, Schienenverkehr (Transport und Logistik, 50-250 Mitarbeiter)

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, 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

Eingesetzte Technologien und Tools:
•    Java, Spring, Spring Boot, JPA, Hibernate, SQL, XML, JSON, REST, SOA, Eclipse RCP e3+e4, SWT, Camel, ActiveMQ, Maven, Git, GitLab, Jenkins, JUnit, Mockito, QF-Test, FitNesse, Informix Database, DB Visualizer, Jira, Confluence, MS Teams

12/2020 - 06/2021
Softwaredesigner, Systemanalytiker (Java + Web)
Konzern im Bereich Logistik, See- und Luftfracht (Transport und Logistik, >10.000 Mitarbeiter)

Migration der Benutzeroberfläche eines Transportmanagementsystems (siehe Vorprojekt) von Java Swing auf einen Angular Web Client. 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 möglicher 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
•    Strukturierung des Frontends und Identifikation von wiederverwendbaren Komponenten
•    Design des neuen API im Java-Backend
•    Dokumentation etablierter Vorgehensweisen
•    Zusammenarbeit in einem länderübergreifenden Scrum-Team (Arbeitssprache Englisch)

Eingesetzte Technologien und Tools:
•    Java, Angular, TypeScript, Enterprise Architect, Confluence, Jira, Frontify, UML, MS Word, SVN, Git, LemonTree, Zoom, Mattermost

06/2019 - 06/2021
Softwaredesigner, Systemanalytiker (Java)
Konzern im Bereich Logistik, See- und Luftfracht (Transport und Logistik, >10.000 Mitarbeiter)

Neu- und Weiterentwicklung eines weltweit eingesetzten Transportmanagementsystems. 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.

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

Eingesetzte Technologien und Tools:
•    Enterprise Architect, MS Word, GUI Design Studio, UML, Java, Spring, Hibernate, SQL, JPA, Swing, Apache log4j/Maven, Eclipse, SVN, Git, JUnit, Mockito, Oracle Database, Oracle SQL Developer, SoapUI, Jira, Confluence, Quality Center, LemonTree, Zoom, Mattermost

07/2016 - 02/2019
Senior Entwickler, Teilprojektleiter und Teamleiter (C# + Web)
Konzern im Bereich Prozessautomatisierung (Industrie und Maschinenbau, >10.000 Mitarbeiter)

Im Rahmen der Neuentwicklung eines Prozessautomatisierungssystems war ich als Entwickler und Teilprojektleiter für die Erstellung von Softwarefunktionen verantwortlich, z.B. zum Datenaustausch mit anderen Systemen oder zur Migration zwischen verschiedenen 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
•    Implementierung der Anwendungslogik und der grafischen Benutzeroberfläche (Web UI)
•    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 nichtfunktionaler Anforderungen

Eingesetzte Technologien und Tools:
•    Visual Studio mit TFS, Balsamiq Mockups, Enterprise Architect, C#, JavaScript, AngularJS, HTML5, CSS, Google Chrome, jQuery, NUnit, Moq, SonarQube, UML, XML, JSON, LINQ

07/2008 - 06/2016
Senior Software Engineer (Java)
Konzern im Bereich Energieerzeugung (Industrie und Maschinenbau, >10.000 Mitarbeiter)

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 Engineering-Prozesses, 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

Eingesetzte Technologien und Tools:
•    Java, AWT, Swing, Web Start, JxBrowser, JViews, JFreeChart, Apache log4j/POI/Ant/Tomcat, XML, HTML, Eclipse, ClearCase, JUnit, Mockito, EMMA, CheckStyle, DOORS, MS Visio, UML, QF-Test, Groovy, Equinox OSGi, TCP/IP, Multithreading

Reisebereitschaft

In der Stadt Nürnberg mit einem Radius von 250 km verfügbar
Einsatzbereiche bevorzugt remote und D 9, 8, 7, 6

Sonstige Angaben

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. *** Implementierung, Wartung und Pflege von Softwaresystemen *** Mein Schwerpunkt liegt auf der Entwicklung moderner Webanwendungen – im Frontend insbesondere mit Angular, HTML5 und TypeScript – sowie im Backend mit Java, Spring (Boot) und relationalen Datenbanken. Auch die Wartung von Legacy-Frontends mit Java Eclipse RCP und Swing biete ich an. Durch sorgfältige Programmierung, abgesichert durch Codeanalyse und auto-matisierte Tests, erhalten Sie eine hohe Softwarequalität. *** 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, Design¬dokumente, ein Pflichtenheft und/oder Mockups. Sie erhalten eine solide Basis für die anschließende Realisierung.

exali IT-Haftpflicht-Siegel (Sondertarif für Freelancermap-Mitglieder)

Das original exali IT-Haftpflicht-Siegel bestätigt dem Auftraggeber, dass die betreffende Person oder Firma eine aktuell gültige branchenspezifische Berufs- bzw. Betriebshaftpflichtversicherung abgeschlossen hat. Diese Versicherung wurde zum Sondertarif für Freelancermap-Mitglieder abgeschlossen.

Versicherungsbeginn:
03.05.2019

Versicherungsende:
01.06.2024

Profilbild von Anonymes Profil, Senior Software Engineer - Java - Angular Senior Software Engineer - Java - Angular
Registrieren