freiberufler Java Spring Backend-Entwickler / Web-Applikationen / Agile Entwicklung / 100% Remote auf freelance.de

Java Spring Backend-Entwickler / Web-Applikationen / Agile Entwicklung / 100% Remote

zuletzt online vor 10 Tagen
  • 70€/Stunde
  • 30173 Hannover
  • auf Anfrage
  • de  |  en
  • 26.03.2024

Kurzvorstellung

Jede Entwicklung braucht seinen Zweck. Ich hinterfrage diesen Zweck, um die optimale Lösung zu schaffen.

Qualifikationen

  • Apache Maven
  • Confluence (Atlassian)
  • CSS (Cascading Style Sheet)
  • Git
  • Hibernate (Java)
  • HTML
  • Java (allg.)
  • JavaScript
  • Jira
  • Node.js
  • React (JavaScript library)
  • SCRUM
  • Softwareentwicklung (allg.)
  • Spring
  • SQL
  • TypeScript

Projekt‐ & Berufserfahrung

Backend-Entwickler
GS Elektromedizinische Geräte G. Stemple GmbH, Kaufering
11/2022 – 9/2023 (11 Monate)
Gesundheitswesen
Tätigkeitszeitraum

11/2022 – 9/2023

Tätigkeitsbeschreibung

Die Firma corpuls ist ein weltweit agierendes Unternehmen, welches sich auf die Entwicklung und Produktion von Medizintechnik spezialisiert hat und diese vertreibt.
Eines der Produkte ist die corpuls.mission App, die verschiedene Module für kollaboratives Arbeiten zwischen Rettungskräften vor Ort und Telenotärzten anbietet. Darunter zählen Module wie Einsatz-Chats und Video-Telefonie. Dies erlaubt es Telenotärzten benötigte Maßnahmen anzuordnen, die zeitkritisch für den Patienten sind und somit lebensrettend sein können.
Für eine hohe Flexibilität wird die Applikation als Web-App für Desktop-PCs und mobile App für iOS und Android angeboten. Zusätzlich müssen Rettungskräfte ihre Einsätze dokumentieren und alle Befunde sowie Maßnahmen für eine Übergabe erfassen. Bisher geschah dies auf Vordrucken, deren Ausfüllung durch Unübersichtlichkeit und Fehleranfälligkeit erschwert wird. Daher ist ein möglichst intuitives und unterstützendes Tool zur Dokumentation nötig, welches deutlich besser und direkter auf den Einsatz zugeschnitten ist.
Um unser Verständnis für die Anforderungen der Rettungskräfte zu verbessern, wurden wir zu einem praktischen Workshop eingeladen. Während dieses Workshops wurde ein Rettungsvorgang vom Eintreffen bis zum Transport in einem echten Rettungswagen mithilfe von geschulten Sanitätern simuliert.
Für die Dokumentation wird ein neues Modul corpuls.mission REPORT entwickelt. corpuls entwickelt für dieses Modul eine Web-Applikation, mobile Apps für iOS und Android sowie das dazugehörige Backend. Der Fokus liegt auf einer guten UX (Benutzerfreundlichkeit), insbesondere während eines Rettungseinsatzes. Dabei nutzen wir für medizinisches Personal bekannte Schemata wie FAST und ABCDE und bieten diese so an, dass Sie einfach und schnell sowohl am PC, als auch auf einem Tablet ausgefüllt werden können.
Unser Team ist für die Entwicklung der Web-App zuständig. Für die Web-Oberfläche wird auf das Angular Framework gesetzt, die Programmierung selbst wird mit TypeScript durchgeführt. Das Backendbaut auf eine Spring-Boot-Applikation mit Java auf und bietet REST-Schnittstellen, wie auch WebSockets für die verschiedenen Clients. Für die Datenbank verwenden wir eine MongoDB.
Da die Applikation weltweit im Einsatz ist, implementierten wir einen internationalisierten Hybriden, der jedem Kunden ein hohes Maß an Individualisierbarkeit der Terminologien anbietet.

Eingesetzte Qualifikationen

Git, Gradle, Java (allg.), Jenkins, Spring, Microsoft Azure, Representational State Transfer (REST)

Backend-Entwickler
nunu-web GbR, Hannover
7/2022 – offen (1 Jahr, 10 Monate)
IT & Entwicklung
Tätigkeitszeitraum

7/2022 – offen

Tätigkeitsbeschreibung

nunu-web ist ein Team bestehend aus zwei Web-App-Entwicklern, die sich mit ihren Fähigkeiten perfekt ergänzen. Als wir mit nunu-web starteten, entschieden wir uns, eine sehr einfache, quick & dirty Lösung einer Website zu implementieren, um sie später, sobald wir die Zeit dafür finden, zu überdenken und neu zu gestalten. Im Gespräch mit mehreren Interessenten stellten wir fest, dass sie uns nicht als ein Teamvon zwei Personen wahrnehmen, sondern als zwei einzelne Freiberufler. Es war an der Zeit, das zu ändern.
Außerdem war es sehr zeitaufwendig, die Inhalte auf unserer Website und unseren PDF-Profilen zu aktualisieren.
Zunächst mussten wir den Fokus unserer Website von zwei einzelnen Freiberuflern auf nunu-web als Ganzes verlagern. Deshalb entfernten wir die einzelnen Profile von unserer Website und entwarfen eine neue Seitenstruktur, die in erster Linie nunu-web und seine Projekte mit einem Hinweis darauf, wer an diesen Projekten gearbeitet hat, darstellt.
Um die Inhalte für unsere Website und Profile einfach hinzufügen und bearbeiten zu können, entschieden wir uns für ein Headless CMS (Content Management System). Es enthält einen gemeinsamen Datensatz für die Website und die Profile. Auf diese Weise müssen wir unsere Website- und Profil-PDFs nicht mehr einzeln bearbeiten.
Da wir uns eine Zusammenarbeit mit englischsprachigen Unternehmen gut vorstellen können, haben wir uns auch entschieden, unsere Website und Profile sowohl auf Deutsch als auch auf Englisch auszuliefern.
Nicht zuletzt müssen auch die Kontaktmöglichkeiten neu gestaltet werden. In Zukunft hat ein Interessent zwei Kontaktmöglichkeiten:
wenn wir verfügbar für eine Auftragsvergabe sind, gibt es ein Kontaktformular, oder
wenn nicht, gibt es den Hinweis, sich für einen "Verfügbarkeits"-Newsletter anzumelden.
In beiden Fällen erfahrt ihr, wann wir für einen Auftrag frei sind.
Als Headless CMS wurde SanityIO eingesetzt. Sanity ist ein sehr leichtgewichtiges und anpassbares CMS, in welchem wir Daten über z.B. Projekte und Autoren in Deutsch und Englisch speichern. So haben wir die Möglichkeit, alle Daten einfach an einem Ort zu speichern und für die Website und Profil-PDFs zu nutzen. Für das Frontend verwendeten wir NextJS mit statischer Seitengenerierung, das auf ReactJSaufbaut, weil es uns
das Look & Feel einer Web-App,
die Leistung einer statischen Website und
Vorteile bei SEO (Suchmaschinenoptimierung) gibt.
Das UI/UX-Design wurde mit Figma erstellt und mit TailwindCSS implementiert/generiert. Jede Seite wird dynamisch aus den von Sanity abgerufenen Daten generiert. Wir implementierten auch meta-, opengraph und jsonld-Tags für jede Seite, um SEO und Vorschaukarten zu optimieren. Wenn Sie die Website ohne Pfadangabe öffnen, wird die bevorzugte Browsersprache verwendet. Sie können auch in der Kopfleiste zwischen den Sprachen umschalten. Unsere Profil-PDFs werden jetzt dynamisch aus HTML mit den Daten von Sanity generiert.
Das wird noch kommen:
Interessenten können uns derzeit auf unserer Website kontaktieren, indem sie einen Termin über Calendly buchen. Während Calendly ein super praktisches Tool ist, bekommen wir zu viele Nachrichten - nicht nur von echten Personen. Der neue Ansatz sieht eine Kontaktseite vor, die(abhängig von den Projekt-Enddaten von Sanity) ein Kontakt- oder ein Newsletter-Anmeldeformular ausgibt, das euch über den aktuellen Stand unserer Verfügbarkeit informiert.

Eingesetzte Qualifikationen

Confluence (Atlassian), CSS (Cascading Style Sheet), Git, HTML, JavaScript, Jira, Node.js, React (JavaScript library), SCRUM, TypeScript

Backend-Entwickler
Kundenname anonymisiert, Hannover
12/2021 – 9/2022 (10 Monate)
Tourismus und Freizeitwirtschaft
Tätigkeitszeitraum

12/2021 – 9/2022

Tätigkeitsbeschreibung

Um die Kundenbedürfnisse erfolgreich erfüllen zu können, muss ein weltweit tätiges Reiseunternehmen in der Lage sein, Kostenvoranschläge für Hotelzimmer zu erstellen, ohne langwierige manuelle Prozessschritte zur Freigabe von Hotelzimmern durchführen zu müssen.
Wir entwickelten einen High-Performance Cache, der Hotelzimmerdaten basierend auf externen Quellen und internen Business-Kriterien verarbeitet und für die Suche zur Verfügung stellt. Die an diesen Cache übermittelten Abfragen generieren eine große Auswahl an Angeboten, die nach Faktoren wie Verfügbarkeit und Kundenmärkten gefiltert werden können, sodass die Kunden leicht ein passendes Hotelzimmer an ihrem Wunschort finden können.
Um diesen Cache auszuführen, wurde eine Reihe von Microservices mit Spring Boot erstellt und in einem AWS Kubernetes-Cluster verwaltet. Zusätzlich wurden Lambda-Funktionen erstellt, um eingehende SQS- und SNS-Streams im Unternehmen zu verarbeiten und sie zur weiteren Verarbeitung an den zentralen Kafka-Message-Bus weiterzuleiten. Die abschließende Anordnung der Daten in einer DynamoDB stellt den Datensatz für die Suchanfragen bereit.

Eingesetzte Qualifikationen

Kafka, SCRUM, Apache Maven, Docker, Git, Java (allg.), Jenkins, Spring, Amazon Web Services (AWS), Kubernetes

Backend-Entwickler
Kundenname anonymisiert, Hannover
5/2021 – 12/2021 (8 Monate)
Öffentliche Verwaltung
Tätigkeitszeitraum

5/2021 – 12/2021

Tätigkeitsbeschreibung

Vor Jahren beauftragte ein Landwirtschaftsamt einen Dienst, der mithilfe von Geodaten und Satellitenbildern die in den Anträgen der Landwirte genannten Merkmale einer landwirtschaftlichen Fläche überprüfen sollte. Dazu war ein gemeinsamer Datenspeicher erforderlich, über den das Amt und der Dienst in regelmäßigen Abständen Daten austauschten. Leider war diese Methode des Datenaustauschs recht zeitaufwändig.
Es ist notwendig, eine direkte Verbindung herzustellen, um die Dauer der Auftragsbearbeitung drastisch zu verkürzen. Dazu sollte eine Schnittstelle geschaffen werden.
In frühen Gesprächen wurden bereits die Spezifikationen der neuen Schnittstellen festgelegt und man kam zu dem Schluss, dass REST für die Datenübertragung und Statusaktualisierung verwendet werden sollte. Da der Dienst die Schnittstellen noch nicht bereitstellen konnte, wurde ein Microserviceimplementiert, um die festgelegten Schnittstellen zu replizieren und die Entwicklungs- und Testprozesse vorübergehend zu unterstützen.

Eingesetzte Qualifikationen

SQL, Apache Maven, Git, Hibernate (Java), Java (allg.), Jenkins, Kotlin, Spring, JSF (Java Server Faces)

Fullstack-Entwickler (Java) (Festanstellung)
Kundenname anonymisiert, Hannover
4/2020 – 3/2021 (1 Jahr)
Öffentliche Verwaltung
Tätigkeitszeitraum

4/2020 – 3/2021

Tätigkeitsbeschreibung

Ein Amt bot ein Formular für Zuschussanträge an, das digital ausgefüllt, aber per Postversand eines Datenträgers mit dem ausgefüllten Formular oder per Ausdruck per Post eingereicht wurde.
Um die Einreichung von Formularen effizienter zu gestalten, sollte die Einreichung, Prüfung und Genehmigung von Anträgen über eine moderne Webschnittstelle erfolgen, die sowohl für die Antragsteller als auch für die Bearbeiter der öffentlichen Dienste zugänglich ist.
Als Lösung wurde eine mehrstufige Web-Formular-Plattform entwickelt, die RPA zur teilweisen Automatisierung des Genehmigungsprozesses und zur Zugriffsverwaltung einsetzt, um den Zugang für bestimmte Personen je nach Prozessschritt zu ermöglichen.

Eingesetzte Qualifikationen

SQL, SCRUM, Apache Maven, Git, Hibernate (Java), Java (allg.), Jenkins, Spring, JSF (Java Server Faces)

Backend-Entwickler (Festanstellung)
Kundenname anonymisiert, Hannover
11/2019 – 3/2020 (5 Monate)
Tourismus und Freizeitwirtschaft
Tätigkeitszeitraum

11/2019 – 3/2020

Tätigkeitsbeschreibung

Ein weltweit tätiges Unternehmen in der Tourismus-, Freizeit- und Schifffahrtsbranche bietet eine Schnittstelle zwischen Hotelbetreibern und Reisebüros, indem es eine große Datenbank mit Zimmerstatus unterhält, die Reisebüros täglich abrufen können. Die Pflege dieser Datenbank erfolgte bisher manuell.
Es wurde ein automatisierter Ansatz benötigt, um eine große Anzahl von Hotelzimmern durch einen regelbasierten Genehmigungsprozess zu schicken und sie dann dem Endkunden über verschiedene Vertriebskanäle anzubieten.
Unter ständigem Austausch mit anderen Teams wurde eine Anwendung entworfen und entwickelt, welche für die Definition, Verwaltung und Konfiguration der Regeln zuständig ist. Die Anwendung wurde in Angular 8 und Spring Boot entwickelt.

Eingesetzte Qualifikationen

Amazon Web Services (AWS), Apache Maven, Docker, Git, Hibernate (Java), Java (allg.), Jenkins, Kubernetes, SCRUM, Spring

Backend-Entwickler & Team-Lead (Festanstellung)
Kundenname anonymisiert, Hannover
2/2018 – 10/2019 (1 Jahr, 9 Monate)
Automobilindustrie
Tätigkeitszeitraum

2/2018 – 10/2019

Tätigkeitsbeschreibung

Beim Kauf oder Verkauf von Gebrauchtwagen muss der Käufer das Fahrzeug persönlich in Augenscheinnehmen. Werden Mängel entdeckt, die der Verkäufer selbst nicht bemerkt hat, oder sind die Angaben in der Anzeige ungenau, entstehen sowohl dem Käufer als auch dem Verkäufer unnötige Kosten und Frustrationen.
Käufer sollen durch Virtualisierung von Fahrzeugen mit einem möglichst hohen Gehalt an Informationen das Fahrzeug aus jedem Blickwinkel betrachten und alle technischen Daten und Ausstattungsinformationen erhalten, ohne vor Ort sein zu müssen.
Dies ist auch bei größeren Fahrzeugflotten dank RPA möglich. Es wurde eine aus vielen Microservicesbestehende Anwendung entwickelt, die automatisiert Daten, basierend auf einer Fahrzeug-Identifikations-Nummer (FIN), von verschiedenen Drittanbietern sammelt. Diese Daten wurden im weiteren Prozess analysiert und durch vom Kunden eingerichteten Regeln erkannt und zusammengefasst. Dabei wurden Abgleiche zwischen den verschiedenen Anbietern getätigt und Duplikate entfernt. Am Ende des Prozesses erhielt der Kunde, Verkäufer und Käufer die aufbereiteten Daten zu genau dem vom Verkäufer eingestellten Fahrzeug. Mein Anteil am Projekt war die Entwicklung von mehreren Spring-Boot Microservices in einer Azure Cloud Umgebung, die mit weiteren Anwendungen in .NET, JavaScript und Python Daten austauscht.

Eingesetzte Qualifikationen

Microsoft SQL-Server (MS SQL), SCRUM, Apache Maven, Git, Hibernate (Java), Java (allg.), Jenkins, Spring, Microsoft Azure

Fullstack-Entwickler (Java) (Festanstellung)
Kundenname anonymisiert, Hannover
8/2017 – 1/2018 (6 Monate)
Automobilindustrie
Tätigkeitszeitraum

8/2017 – 1/2018

Tätigkeitsbeschreibung

Der Kunde muss ein jährliches Audit bestehen. Während der Planung der bereits umgesetzten Software wurde dieses Audit nicht bedacht. Der Kunde griff mit eigens entwickeltem SQL-Query direkt auf die Datenbank zu. Es fehlte eine Berichtsfunktion, die Metriken sammelt und einen Prüfbericht erstellt, die für das Audit verwendet werden kann.
Wir konzeptionierten und entwickelten ein Report-Feature, das es dem Kunden ermöglichte, einen Auditbericht für die jährliche Prüfung zu erstellen.
In Zusammenarbeit mit dem Kunden haben wir ein Berichtslayout entwickelt und eine Funktion implementiert, die bei der Eingabe von Start- und Endzeiten die benötigten Daten sammelt und sie in zusammengefasster Form in das besprochene Layout in einem PDF-Export übertrug.

Eingesetzte Qualifikationen

Microsoft SQL-Server (MS SQL), Apache Maven, Git, Hibernate (Java), Java (allg.), Jenkins, Spring, JSF (Java Server Faces)

Backend-Entwickler (Festanstellung)
Kundenname anonymisiert, Hannover
7/2017 – 10/2017 (4 Monate)
Tourismus und Freizeitwirtschaft
Tätigkeitszeitraum

7/2017 – 10/2017

Tätigkeitsbeschreibung

Ein Sportverein stellt seinen Mitgliedern eine App zur Verfügung, die sie über die Aktivitäten des Vereins informiert. Die Kommunikation mit anderen Vereinsmitgliedern ist bis dato nicht möglich.
Der Sportverein möchte die mobile App für seine Mitglieder verbessern, damit sie sich organisieren, kommunizieren und den Überblick behalten können. In diesem Zug sollte ein Chat-Modul implementiert werden.
Für die mobile Anwendung wurde ein individuelles Chatelement entwickelt, das Funktionen wie 1-zu-1-Chat, Statusmarker zur Anzeige des Status (gesendet, angekommen, gelesen), Gruppenchats, automatische Gruppenteilnahme aufgrund hierarchischer Gruppenzugehörigkeit (Club-Chat, Team-Chat) und Schnittstellen zu anderen Modulen umfasst.

Eingesetzte Qualifikationen

Android, Apache Maven, Git, Java (allg.), Jenkins

Fullstack-Entwickler (Java / Android) (Festanstellung)
Kundenname anonymisiert, Hannover
4/2017 – 6/2017 (3 Monate)
Gastronomie
Tätigkeitszeitraum

4/2017 – 6/2017

Tätigkeitsbeschreibung

In einem Gastronomie-Betrieb gab es ein POS-System, bei dem die Kunden während ihres Besuchs Bestellungen aufgeben konnten. Bezahlen konnten die Kunden, indem sie im Voraus eine vom Betreiber ausgehändigte Prepaid-Karte aufluden. Ein Servicemitarbeiter musste die Bestellung entgegennehmen und verbuchen, indem er die Karte in eine vorhandene Registrierkasse einführte. Dies war zeitaufwendig.
Ein Android-Gerät sollte dabei helfen, die Arbeit der Service-Mitarbeiter effizienter zu gestalten, indem eine vorher ausgegebene Karte kurz an das Gerät gehalten und erst am Ausgang bezahlt wurde. So spart sich der Service-Mitarbeiter den Kassenprozess.
Es wurde eine Anwendung mit Spring Boot für das Backend und eine Android-App für das Frontend entwickelt. Für das Kartensystem wurden Near Field Communication (NFC)-Karten ausgewählt. Das System wurde so konstruiert, dass die Daten gleichzeitig auf der Karte und in der Datenbank des Servers gespeichert wurden, um bei einem Verbindungsabbruch weiterhin ordnungsgemäß zu funktionieren.

Eingesetzte Qualifikationen

PostgreSQL, Android, Apache Maven, Git, Hibernate (Java), Java (allg.), Jenkins, Spring

Über mich

Auf meinem Berufsweg habe ich bereits verschiedenste Branchen wie Automobilität, Touristik und öffentliche Dienste kennengelernt und den fachlichen und kommunikativen Umgang gemeistert.

Ich glaube, erst durch echtes Verständnis kann man gemeinsam an einer Lösung arbeiten! Diese Überzeugung fließt in meine Arbeit mit dem Kunden und mit dem Projekt ein.

Ein kleiner Ausschnitt meiner Erfahrungen:
• Neuentwicklung und Erweiterung von Cloud-, Web- und serviceorientierten Java-Applikationen
• Teamleader Position
• Projekte auf Start-up sowie auf Enterprise Niveau
• Arbeiten in einem agilen Team (Scrum, Kanban)
• Planung von Datenbankschemata

Weitere Kenntnisse

Zu meinen Top-Skill-Tags gehören:
Java, Spring-Boot, REST, Hibernate und Microservices.

Weiter habe ich folgende Tools und Technologien in meinen Projekten verwendet:
Liquibase, Maven, Azure SQL, PostgreSQL, MSSQL, Git-Flow, CI/CD, Jenkins, Flyway, Kotlin, Quarkus, Mockito, Scrum, Kanban, Scrumban, OAuth2, HELM, Firebase, Azure, Elasticsearch, Git, UML, ERD, Jira, Confluence, SOAP, Oracle SQL, MySQL, JUnit, Docker, Kubernetes, IntelliJ Idea, Android, AWS

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Fließend)
Reisebereitschaft
auf Anfrage
Arbeitserlaubnis
  • Europäische Union
Home-Office
bevorzugt
Profilaufrufe
270
Alter
33
Berufserfahrung
3 Jahre und 2 Monate (seit 02/2021)

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden