Senior Java Software Engineering für eine kritische On-Premise-Anwendungsplattform
Freiberuflich in: Remote & Berlin max. 5 Tage im Jahr
Dauer: 24 Monate
100% Auslastung
Start: 06.01.2025 (asap)
Dauer: 24 Monate
Auslastung: Vollzeit
Lokation: Remote & Berlin max. 5 Tage im Jahr
Projektbeschreibung:
Die Beschaffungsplattform für Ausgleichsreserven bietet den ÜNB Dienstleistungen für die Beschaffung von FCR, aFRR-Kapazität und mFFR-Kapazität, aFRR-Energie und mFRR-Energie sowie ABLA (unterbrechbare Lasten) an. Die Plattform ermöglicht die Verwaltung von Ausschreibungen für vordefinierte Bedarfsmengen, die Sammlung von Geboten für präqualifizierte Anbieter, die Vergabe der erfolgreichen Gebote für die Ausschreibung, den Abgleich der Gebote zwischen den ausschreibenden ÜNB sowie die Verteilung der Ausschreibungsergebnisse an Anbieter, ÜNB und angrenzende Systeme. Jede Ausschreibung durchläuft einen Workflow mit einer Reihe von Konfigurationen und Beschränkungen.
Aufgaben:
* Entwurf und Entwicklung von Software
* Erstellung von sauberem, effizientem Code auf der Grundlage von Spezifikationen und Anleitungen.
* Entwickeln von Programmen und Systemen (Java)
* Sicherstellung der Softwarequalität
* Entwicklung von intuitiver Software, die die Anforderungen des Unternehmens erfüllt und übertrifft
* Professionelle Wartung der gesamten Software und regelmäßige Erstellung von Updates, um Kunden- und Belange des Unternehmens
* Durchführung von Peer-Code-Reviews
* Analysieren und Testen von Programmen und Produkten vor der offiziellen Einführung
* Debuggen und Beheben von Softwarefehlern
* Durchführen von Unit- und Integrationstests
* Code-Refactoring und Entwurfsmuster anwenden
* Gewährleistung von Anwendungssicherheit und Skalierbarkeit
* Optimieren und Warten von Software
* Schnelle und effiziente Behebung von Programmierproblemen, um einen produktiven Arbeitsplatz zu gewährleisten
* Reparieren und Verbessern bestehender Software
* Optimieren der Softwareleistung
* Fehlerbehebung und Lösung von Produktionsproblemen
* Agile Zusammenarbeit und Entwicklung
* Beratung mit Projektteammitgliedern und Softwarearchitekten
* Teilnahme am agilen Entwicklungsprozess
* Tommunikation mit anderen Projektteammitgliedern zur Diskussion und Verfeinerung der Anforderungen
* Beratung und Abstimmung mit Teammitgliedern aus anderen Abteilungen
* Kontinuierliche Verbesserung
* Bleiben Sie auf dem Laufenden über neue Technologien
* Teilen Sie Ihr Wissen und fördern Sie Innovationen innerhalb des Projektteams
* Entwicklung und Testen von neuen Funktionen und Änderungen (funktional und nicht-funktional) für eine verteilte, an Microservices orientierte Anwendungsplattform vor Ort
* Dazu gehört die Einhaltung von Entwicklungsrichtlinien bei gleichzeitiger Gewährleistung einer ausreichenden Flexibilität, um künftige Änderungen mit minimalem Aufwand durchführen zu können
* Gewährleistung von Stabilität und Robustheit, da die Anwendungsplattform und ihre Schnittstellen für kritische Geschäftsfunktionen und -prozesse unerlässlich sind
Muss-Anforderungen:
* Backend (10+ Jahre): Java 8-21 inkl. Spring Boot (inkl. Spring data, Spring cloud, Spring security), Hibernate, JMX, Microservices, OpenAPI, Swagger
* Testen: Junit5, Spring Boot Test
* Frontend (5+ Jahre): React, JavaScript, OIDC, Typescript
* Integrationstechnologie (mehr als 5 Jahre): REST, AMQP, gRPC, OAS, SFTP
* Oracle SQL, Oauth2, Camunda, Hazelcast IMDG
* BuildDevOps (mehr als 5 Jahre): CI/CD, Maven, Git, Jira, Confluence, Bamboo, Bitbucket
* Sprachkenntnisse: Englisch (C1) und Deutsch (B2)
Allgemeine Anforderungen:
* 10+ Jahre Erfahrung mit Java (-verwandten) Technologien, davon 5+ Jahre mit Spring Boot Rahmenwerk
* Sehr gute Kenntnisse der Anwendungsentwicklung und -wartung (ADM) in der Java-Welt
* Sehr gute Kenntnisse der Windows- und/oder Linux-Plattformen
* Gute Kenntnisse von Webtechnologien wie React sowie JavaScript-Bibliotheken für Web-Frontends
* Gute Kenntnisse von Web-Integrationstechnologien wie REST, gRPC
* Kenntnisse über die Entwicklung der Persistenz relationaler Datenbanken mit SQL Server und Oracle-Datenbanken
* Konzeptuelles Wissen über Dependency Injection, Software Design Patterns und kontinuierliche Integration
* Erfahrung in der Entwicklung mit IntelliJ unter Windows
* Erfahrung in der Arbeit in Scrum-Teams
* Erfahrung in der Entwicklung von komplexen Anwendungslandschaften und Webplattformen (Application Server, Datenbanken, Middleware, Message Queueing), idealerweise in verteilten Umgebungen
* Erfahrung mit Domain Driven Design
* Erfahrung in der agilen Softwareentwicklung mit Scrum
* Erfahrung in der Arbeit mit größeren Codebases und in komplexen Umgebungen
Soll-Anforderungen:
* Kenntnisse der Energiebranche sind von Vorteil
* Erfahrungen mit Netzinfrastrukturen und Netzstandards sind von Vorteil
* Erfahrung mit DevOps-Praktiken und -Tools ist ein Plus
* Erfahrung in der Zusammenarbeit mit funktionsübergreifenden Teams bei der Konzeption und Entwicklung von Anwendungen in kritischen Infrastrukturen ist ein Plus