Beschreibung
Für unseren Kunden am Standort Frankfurt/Main suchen wir einen SCRUM-Developer (m/w) Algorithmik.
Status Quo:
Ablösung des heutigen Systems, basierend auf Lösungen aus den 80er Jahren
Weiterentwicklungen sind i.d.R. nur mit komplexen Softwareanpassungen möglich
Das System wird von verschiedenen europäischen Bahnen genutzt
mehrstufige historisch gewachsene und z.T. manuelle Lieferprozesse
Ziel:
Aufbau eines neuen Inventarsystems für Sitzplätze des Personenverkehrs der Deutschen Bahn inkl. relevanter, bestehender Inventarfunktionen sowie neuer Inventarfunktionen
Ablösung Sitzplatzinventar und Sitzplatzfunktionen auf dem vorhandenen Inventar für den Personenverkehr der Deutschen Bahn
Bedienung interner und externer Schnittstellen
Migration relevanter Inventarfunktionen vom Altsystem zum neuen Reservierungssystem
Rolloutplanung des neuen Reservierungssystems, einschließlich paralleler Nutzung des bestehenden und neuen Reservierungssystems
Aufgaben
Design und Implementierung technischer Komponenten ohne direkten Oberflächenbezug innerhalb gegebener grober Leitplanken und Standards in state of the art Technologie.
(Neu)Entwicklung von algorithmisch, regel- und datenbasierten Modulen und deren übergreifenden Kombinatorik als serviceorientierte Teile eines Gesamtsystems im Rahmen eines Großprojektes.
Hier insbesondere Erarbeitung einer durch Fachbereiche pflegbaren Regelwerksmaschine inklusive Design entsprechender Datenmodelle
Einführung eines integrierten „Test driven“ Entwicklungsansatzes
Muss-Anforderungen:
umfassende Erfahrung im Bereich Algorithmik und Umsetzung mathematischer Modelle
umfangreiche Erfahrungen und Kenntnisse in der Konzeption und Umsetzung von Verteilungsproblemen
technische Erfahrung und Kenntnisse in der Anbindung und Integration von Algorithmen in Zielarchitekturen
Sehr gute Kenntnisse im Bereich JAVA / Java EE in Entwicklungen für Backendsysteme
Überzeugt von der Arbeitsweise und Erfahrung in der Umsetzung von Produkten in kleinen agilen Teams.
Hohe Identifikation mit der Arbeitsweise in selbstorganisierten Teams (nach Scrum) (ggf. später DevOps)im Kontext von Großprojekten (mehrerer Entwicklerteams) von der Idee bis zur Livestellung und darüber hinaus.
Die Fähigkeit zur Kommunikation innerhalb und benachbarter Teams und selbstbewusster Auftritt in der Diskussion mit den Scrum Teams und seinen Stakeholdern.
Hohes Commitment und Neugier zur gestellten Aufgabe
Bereitschaft zur Übernahme der Verantwortung für einen „der“ unternehmenskritischen Produktteile in der Gesamtarchitektur mit höchsten Anforderungen an Qualität, Stabilität und Performance.
Interesse an neuen Technologien, wie zum Beispiel Cloud-Themen, Service-orientierte Architekturen. Ggf. Mitarbeit in Java-Community.
Auseinandersetzung mit „Agile-Software-Engineering“ Aspekten,z.B. Test-Driven-Development, vermeiden technischer Schulden, Testautomatisierung
Handeln nach den Prinzipien und Praktiken von „Clean Code“, zur ständigen Verbesserung der Codequalität und der resultierenden Artefakte aus dem Softwareentwicklungsprozess, z.B. Dokumentation.
Up-to-date und interessiert an Entwurfsmuster und Best Practices zum Entwurf von tragfähigen Architekturen bez. Testbarkeit, Wartbarkeit und Verständlichkeit.
Soll-Anforderungen:
Zertifizierung Scrum-Developer (z.B. Scrum.org) oder ähnlich Zertifizierung
Umfassende Kenntnisse im Bereich JAVA / Java EE in Entwicklungen für Backendsysteme, Spring Boot, Wildfly Swarm
Versierter Umgang mit genannten Tools, z.B. JIRA, Confluence, Intellij IDEA, GitLab, Eclipse, Docker, Jenkins, Maven, Gradle. Mockito, JUnit, HA-Proxy, etc.
Erfahrungen in API / SST Design (insb. auch Versionierung / Mapping von SST), XML/XSD bzw. JSON/JSON Schema, JSON-B, JSON-P, JAX-RS, (SOAP)
Cliententwicklung SWT, EMF, RichClient, AngularJS 2
Erfahrungen im Bereich State of the Art Technolgien (AWS, Virtualisierung, MongoDB, Redis, RabbitMQ)
Erfahrungen in den Bereichen Test Automation, Continuous Integration / Continuous Deployment, idealerweise im Bereich Cloud (u.a. AWS)
Erfahrungen in agiler Softwareentwicklung nach Scrum Framework, Serviceorientiertem Softwaredesign /-entwicklung (SOA)
Abgeschlossenes Studium mit IT-relevantem Bezug oder ähnlicher nachweisbarer Qualifikation
Erfahrungen im „Test Driven“ - Design und Development,sowie automatisierten Tests, UnitTests und entsprechender Tools, z.B. HP UFT, SilkTest, etc
Kenntnisse in Analyse, Bewertung und Schätzung von User Stories und deren Refinement im Team