Karriere

Ein typisches Java-Projekt bei ConceptPeople

Das Telefon klingelt. Einer unserer Kunden sucht Unterstützung für die Umsetzung seiner neuen Software-Lösung. Gesucht wird eine Java-Entwicklerin oder ein Java-Entwickler mit Know-how im Bereich REST-Services und Spring-Boot. Schön wären auch Kenntnisse in AWS und React, das ist allerdings nicht so wichtig. Wichtig ist allerdings, dass die Person mit der Fachabteilung sprechen kann und auch bei der Erstellung der Konzepte unterstützt. Das fachliche Know-how aus dem Fondsgeschäft muss sich unser Mitarbeiter schnell aneignen können. Die Fachabteilung des Kunden steht gern für Fragen zur Verfügung.

Der Kunde sucht erfahrene Unterstützung, da von den insgesamt fünf Teammitgliedern bereits zwei Berufseinsteiger sind. Unsere Mitarbeiterin oder unser Mitarbeiter soll die Augen offen halten und bei Bedarf coachen.

Das Projekt findet an zwei Tagen in der Woche in den Büroräumen des Kunden in Hamburg-Winterhude statt. Die restlichen drei Tage arbeitet das Teams jeweils aus dem Home-Office. Zunächst sind 3 Monate für den Einsatz geplant, das Gesamtprojekt ist jedoch auf 10 Monate geschätzt, sodass ein längerer Einsatz wahrscheinlich ist.

Wir bieten dem Kunden eine erfahrene Kollegin an, die sich im Spring/JPA-Umfeld sehr gut auskennt, die in den letzten zwei Projekten reichlich Erfahrungen mit REST-Services sammeln konnte und die Know-how in vielen Web-Technologien mitbringt. Den Kunden reizt auch das AWS-Know-how, das unsere Mitarbeiterin vorweisen kann. Dass die Kollegin bislang nur erste Erfahrungen mit React in einem privaten Projekt gesammelt hat und dass sie in diesem Bereich über keine Erfahrungen aus dem professionellen Umfeld verfügt, ist mit dem Kunden abgesprochen. Ebenso ist mit dem Kunden abgesprochen, dass unsere Mitarbeiterin in zwei Monaten einen Urlaub von zwei Wochen geplant hat.

Der Projektstart

Eine Woche nach dem Anruf ist unsere Mitarbeiterin beim Kunden und wird in die Infrastruktur eingewiesen. Danach gibt es ein Kick-Off-Meeting, in dem die zu erstellende Software skizziert wird. Im Anschluss daran trifft sich das Team und plant das weitere Vorgehen. Los geht’s...

Nach zwei Tagen hat das Team das nötige fachliche Know-how, um mit der Umsetzung der Software zu beginnen. Parallel wurde bereits die Entwicklungsumgebung intelliJ und die Versionsverwaltung git eingerichtet. Die gradle-Konfigurationen sehen auch schon gut aus. Der Entwicklungsprozess wird permanent an die eigenen Bedürfnisse angepasst. Nach einer Woche läuft der Continuous Integration Server Jenkins. Ein erster prototypischer Use-Case von der React-Oberfläche über die REST-Services bis in die Datenbank funktioniert. Die Grundlagen sind gelegt.

Der Projektalltag

In die Software wird in den nächsten Wochen mehr und mehr Funktionalität integriert. Das Projekt wird agil mit Scrum umgesetzt, wobei der Kunde sich für eine Sprintlänge von zwei Wochen entschieden hat. Das gesamte Team steht in engem Kontakt mit der Fachabteilung, da einige Anforderungen technologisch so nicht umsetzbar sind. Andere Anforderungen lassen sich durch einen anderen Aufbau der React-Oberflächen eleganter lösen. Die Backlog-Items werden angepasst und neu priorisiert.

Die Testabdeckung des Projekts kommt über 70 Prozent nicht hinaus, da es kein Framework für den Test von Dateioperationen gibt. Nach und nach wird ein Testframework entwickelt, um auch die Dateioperationen testen zu können. Die Testabdeckung steigt und einige bisher unbekannte kritische Fehler werden aufgedeckt.

Bei der Bearbeitung einer Anforderung wird plötzlich festgestellt, dass die aktuelle Architektur eine Umsetzung der Anforderung unmöglich macht. Die Architektur muss an einigen Stellen angepasst werden. Nach zwei Tagen ist das Refactoring abgeschlossen, allerdings schlagen noch etliche Tests fehl. Der Grund dafür: Die Auswirkungen des Refactorings wurden an einer Stelle nicht berücksichtigt. Dieses Problem ist nach zwei weiteren Stunden erledigt. Alle Tests laufen wieder. Weiter geht’s.

Die erste Auslieferung

Der erste Meilenstein steht vor der Tür. Die Anwendung ist in der ersten Version fertig implementiert und wird an die Fachabteilung zum Testen ausgeliefert. Im weiteren Verlauf werden dann die Bugs gefixt und die gesamte Batch-Verarbeitung implementiert.

Am Abend nach der Auslieferung lädt der Kunde das Team zum Projektessen ein. Zwei Kolleginnen aus der Fachabteilung sind auch dabei und berichten, dass ihre Kolleginnen und Kollegen einen positiven ersten Eindruck von der Anwendung haben. So kann's weitergehen...