Jonas ist 20 Jahre jung und Fachinformatiker für Anwendungsentwicklung im zweiten Lehrjahr bei DMK. Um die Wartezeit auf den Anpfiff der EM 2024 zu verkürzen, wurde Jonas mit einem Projekt beauftragt, das Arbeit und Vergnügen vereint - nämlich eine TYPO3-Extension aufzusetzen, welche als Tippspiel für die Europameisterschaft 2024 dient. In einem kurzen Interview hat uns Jonas durch den Prozess der Entwicklung geführt und uns seine Extension demonstriert.
Kannst du uns eine kurze Einführung in die TYPO3-Extension geben, die du entwickelt hast?
Die Grundidee der Extension ist ein klassisches Tippspiel zur diesjährigen EM. Zunächst muss man sich registrieren. Ich habe ein Regelwerk eingebunden, welches zum Beispiel die Tippabgabe und die Wertung genauer beschreibt. Dann kommen wir schon zum Herzstück der Extension: den Tipps. In einer Tabelle habe ich das Datum inklusive der Spielzeit, die Gast-, sowie Heim-Mannschaft abgebildet und ein Feld eingefügt, in dem der jeweilige Tipp eingegeben werden kann. Zudem besteht die Möglichkeit, Bonustipps abzugeben, wie beispielsweise die Gruppensieger. Über einen Button können die eingegebenen Tipps gespeichert werden. Solange das Spiel noch nicht stattgefunden hat, können die gespeicherten Tipps auch geändert werden. Ist ein Spiel beendet, werden die Ergebnisse ausgewertet und die registrierten Nutzer werden in einer Rangliste nach den vergebenen Punkten dargestellt. Punkte werden auf Basis des Regelwerks vergeben.
Was war die Hauptidee hinter deiner Extension?
Vor einigen Jahren gab es bereits eine solche Extension, die jedoch nicht mehr funktionierte - also wollte ich mich der Herausforderung stellen und neu entwickeln. Ich musste jedoch noch einmal komplett bei null anfangen. Mein Wunsch, Backend Entwickler zu werden, hat auch auf die Idee eingezahlt, denn so konnte ich den Prozess der Extension-Entwicklung genau kennenlernen.
Wie bist du an die Planung und Umsetzung des Projekts herangegangen?
Da es eine ähnliche Extension schon gab, habe ich mir diese angeschaut und die wichtigsten Funktionen für meine Neuentwicklung ausgesucht. Darauf folgte die Konzeptionierung: Ich habe mir Gedanken über die Farben und Templates gemacht, habe Wireframes erstellt und mich mit den nötigen Tabellen und Models beschäftigt. Eine wichtige Rolle dabei spielen natürlich die Daten - welche Daten braucht man unbedingt und wie kann man alles verknüpfen. Natürlich hat das Thema Sicherheit auch einen hohen Stellenwert. Da sich die Nutzer mit ihrer Mailadresse und einem Passwort registrieren müssen, musste ich sicherstellen, dass diese Daten gut geschützt sind und nicht von anderen eingesehen werden können. Die Umsetzung fand dann in enger Zusammenarbeit mit meinen Ausbildern statt. Nachdem das Grundgerüst der Planung stand, hat mein Ausbilder Patrick mir Tickets zum Projektvorgang in unserem Ticketsystem erstellt, welche ich dann abgearbeitet und umgesetzt habe. Zuerst habe ich das Frontend gebaut und dann die Extension, zusammen mit dem Anlegen der Datensätze.
Zum Glück verlief die ganze Umsetzung relativ reibungslos. Bei Fragen oder Hindernissen haben mir meine Ausbilder Rede und Antwort gestanden, sodass ich zügig weiterarbeiten konnte.
Was hast du durch die Entwicklung dieser Extension gelernt?
Durch die Entwicklung konnte ich meine TYPO3-Kenntnisse weiter vertiefen. Ich kann jetzt ein TYPO3 aufsetzen, Extensions anlegen, erstellen und schreiben. Auch den Prozess des Deployments und den Livegang habe ich verinnerlicht und musste feststellen, dass dieser Teil besonders stressig ist und Zeitdruck mit sich bringt.
Aber ich habe nicht nur rein fachliche Kenntnisse aus diesem Projekt mitgenommen, sondern auch viel über ein erfolgreiches Zeitmanagement gelernt. Da meine Ausbilder und ein Azubi-Kollege mir ebenfalls geholfen haben, habe ich Teamwork vom Feinsten erlebt. Ich bin froh, so hilfsbereite Kollegen zu haben!
Wie hat dich dieses Projekt auf deinem Ausbildungsweg vorangebracht?
Ich habe auf der einen Seite gelernt, wie man selbstständig arbeitet, und auf der anderen Seite, wie man effizient im Team zusammenarbeitet. Natürlich hat mir das Projekt auch dabei geholfen, mich näher mit Konfigurationen zu beschäftigen und hat mir ein tieferes Verständnis von TYPO3 gegeben. Dabei hat sich meine Entscheidung, Entwickler zu werden, weiter gefestigt.
Wie hast du die Zusammenarbeit im Team wahrgenommen?
Kurz habe ich es ja schon angesprochen: ich habe bei der Entwicklung eng mit meinen Ausbildern zusammengearbeitet. Sie haben mir Feedback gegeben, bei der Fehlersuche geholfen und mich mit Hinweisen und Verbesserungsvorschlägen meinem Ziel näher gebracht. Natürlich haben sie auch einen Code Review gemacht, damit sich keine Fehler einschleichen. Mein Azubi-Kollege hat mir bei der Datenpflege und Umsetzung geholfen.
Durch die Hilfe konnte ich Blockaden schnell überwinden und das Projekt noch rechtzeitig fertigstellen. Da ich zwischen meinen Arbeitstagen bei DMK auch immer Berufsschule hatte, war es gar nicht so einfach alles rechtzeitig fertigzustellen.
Hast du Pläne, die Extension weiterzuentwickeln oder neue Features hinzuzufügen?
Ja, ich möchte gerne noch eine Sortierung und ein Ranking nach Spieltagen hinzufügen. Ich könnte mir auch vorstellen, die Übersichtlichkeit zu verbessern, indem ich nicht alle Spiele auf einmal anzeige, sondern eine Option zum Ausklappen der späteren Spiele hinzufüge. Vielleicht wird es auch eine Funktion zur den Vorfinalrunden geben.
Welche zukünftigen Projekte oder Ziele hast du in Bezug auf TYPO3 oder andere Webentwicklungsprojekte?
Was TYPO3 angeht, würde ich gerne eine Zertifizierung machen - am liebsten natürlich der zertifizierte Developer, auch wenn das noch weit in die Zukunft gedacht ist. Ich wäre jedoch auch schon mit dem Editor zufrieden.
Im privaten Bereich habe ich eine WebApp mit Trainingsplan, Kalender und To Do Liste erstellt, welche ich auch gern noch weiter ausbauen möchte.
Was würdest du anderen Auszubildenden raten, die ein ähnliches Projekt starten möchten?
Eine ausführliche Planung ist super wichtig, ebenso wie die Definition der Herangehensweise. Man sollte sich im Klaren sein, was alles eingebaut werden muss und was man gegebenenfalls beachten muss. Außerdem kann ein nettes Team nicht schaden. Mit gelernten Entwicklern zu sprechen, bringt einen erheblich weiter und man kann von deren Erfahrungen definitiv profitieren. Eine gute Zeitplanung hilft, Stress zu vermeiden. Und ich würde auch raten, in der Freizeit etwas dafür zu tun. Ich bin nach meinen Berufsschultagen oft nochmal ins Unternehmen gekommen, um weiter an der Extension zu arbeiten.
Gibt es sonst noch etwas, das du über dein Projekt oder deine Erfahrungen teilen möchtest?
Besonders betonen möchte ich nochmal die tolle Betreuung von meinen Ausbildern Patrick und Markus. Sie haben mir wirklich sehr weitergeholfen und mir viel beigebracht. Das gesamte Team bei DMK ist spitze und besonderer Dank gilt auch meinen Azubi-Kollegen Ben und Nick, die mich ebenfalls unterstützt haben.
Wir danken Jonas für die Insights in seine Extension-Entwicklung und machen uns jetzt fleißig ans Tippen - immerhin wurden uns Preise für die Gewinner versprochen :)