Seit mittlerweile vier Jahren nimmt die INTENSE AG am weltweiten Entwickler-Event Global Day of Coderetreat teil und veranstaltet selbst ein lokales Event. Dabei geht es darum, gemeinsam aus dem Alltagstrott auszubrechen – weg von Budget- und Zeitdruck hin zu einem Tag, an dem nur zwei Dinge zählen: Spaß und Softwarequalität.
Darum veranstalten wir den Global Day of Coderetreat
Das ist für uns als Firma sehr wichtig: Innerhalb von Projekten und bei der Produktentwicklung findet sich nicht immer die Möglichkeit für dediziertes Lernen. Der Global Day of Coderetreat (GDCR) bietet hier eine ideale Lösung und ist als ganztägige Veranstaltung so umfangreich, dass nachhaltige Effekte erzielt werden. Zusätzlich möchten wir den Fokus mit dem GDCR weg richten von „reinen Output generieren“ und hin zu „Qualität liefern“. Das ist sehr wichtig für unsere Produkte und Projekte, da nur mit hoher Softwarequalität eine Software langfristig wartbar und leicht weiterentwickelbar ist. Im schlimmsten Fall droht sonst ein kompletter Rewrite, User müssen sehr lange auf neue Features warten oder es gibt sehr viele Bugs. Deswegen das Motto: „If you want to succeed, go slow to go fast“. Als wachsende Firma mit inzwischen über 125 Mitarbeitenden bietet der GDCR gleichzeitig die Möglichkeit, neue Menschen kennenzulernen und von deren Wissen und Können zu profitieren.
Neustarter und alte Hasen: Beim GDCR kommen alle zusammen
Alle Interessierten melden sich vorab bei der Veranstaltung an – das ist bei uns notwendig, da wir mehrere Programmiersprachen unterstützen und die Teilnehmenden gewisse Vorbereitungen treffen müssen: Systemzugänge, IDE installieren, Repo-Zugriffe etc. In diesem Jahr hatten wir zum ersten Mal mehr Teilnehmende, die JavaScript programmieren als ABAP-Entwickelnde mit an Bord. Zusätzlich hatten wir „Quereinsteiger“, die keine der beiden Sprachen beherrschten und so den GDCR dazu nutzten, um eine neue Programmiersprache zu lernen.
Vorab bieten Schulungsvideos zum Thema Unit Testing / Test First und Softwareentwurf an, um Neueinsteigern den Einstieg zu erleichtern. Unsere Facitilatoren unterstützen auch bei Problemen vorab, wie beispielsweise der Einrichtung der IDE, praktische PlugIns und weiteren Anforderungen.
Global Day of Coderetreat 2022: In vier Runden zu mehr Softwarequalität
Am GDCR selbst treffen sich alle virtuell und die Ziele des Tages werden vorgestellt: Spaß haben – Qualität – Lernen – Neue Menschen kennenlernen. Und vor allem nicht: Irgendetwas möglichst schnell zu Ende programmieren. Die Übung, das sogenannte Kode-Kata wird vorgestellt. Oft wird hier „Conways Game of Life genutzt”. Um den langjährigen Teilnehmende etwas Abwechslung zu bieten, haben wir diesmal das Spiel „Mastermind“ nachprogrammiert. Dabei nutzen wir drei Techniken: Einen bewussten Softwareentwurf, Test First Development und Pair Programming.
In der ersten Runde werden die Teilnehmenden nach Programmiersprachen sortiert in zufällige Zweierteams, sogenannten Pairs, eingeteilt und haben die Aufgabe, einen Softwareentwurf zu designen. Das bedeutet, einen groben Plan zu entwickeln, wie sie „Mastermind“ implementieren werden. Festgelegt hierfür ist als Startpunkt eine API-Definition und ein Akzeptanztest als Orientierungshilfe. Anschließend stellen die Teams ihre Lösungsideen vor, es wird viel diskutiert und Feedback gegeben. In der Softwareentwicklung gibt es nicht den „einen“ richtigen Weg, aber es gibt oft Dinge, die man allgemein besser machen kann.
Ein Hauptpunkt: Ist der Entwurf für jemanden verständlich, der die Problemdomäne kennt, aber nicht den Entwurf mit entwickelt hat? Wir haben hier bewusst keine Modellierungstechnik vorgegeben, so dass die Pairs sich frei entfalten konnten – egal ob Bierdeckelarchitektur, Flow Design oder UML. Danach folgen insgesamt vier Programmier-Runden: In jeweils 45 Minuten sollen die Pairs einen Designentwurf umsetzen. Unser Fokus liegt dabei auf Test First Development, Qualität und gute Kollaboration. Im Anschluss erfolgt eine Feedback-Runde, der Code wird gelöscht und das Spiel beginnt von neuem.
In den nachfolgenden Runden werden die Pairs gewechselt und um die Spannung zu erhöhen weitere „Constraints“ (Einschränkungen) eingeführt. Es soll nicht nur Test First entwickelt werden und die „4 rules of simple design“ Beachtung finden, sondern eine zusätzliche Herausforderung bewältigt werden. Zum Beispiel darf nur das Keyboard genutzt werden oder es dürfen keine primitiven Datentypen verwendet werden. Diese zusätzlichen Herausforderungen steigern den Lerneffekt nochmals immens und halten auch erfahrenere Softwareentwickler:innen auf Trab.


Voller Erfolg: Die Reviews unserer Teilnehmenden
Zum Abschluss des Coding-Workshops gibt es noch eine Abschiedsrunde. In dieser darf jede:r Teilnehmende ein Feedback im Stil einer Amazon-Rezension vergeben:
„Ware war gut, habe ich letztes Jahr schonmal gekauft, hab ich gleich wieder geholt.“
„Ich hatte sehr viel Spaß. Für mich war es das erste Event dieser Art und ich zähle mich nicht zu den Erfahrenen Codern. Dennoch war durch die Teams ein guter Ausgleich gegeben und ich konnte Neues dazulernen. Danke für die Organisation, gerne wieder!“
„Hat wieder sehr viel Spaß gemacht. Auch die Programmierfähigkeiten konnte ich wieder ein wenig verbessern.“

Dominik Panzer
Dominik verantwortet als Entwicklungsleiter die technische Produktentwicklung der INTENSE und unterstützt Teams als Technical Agile Coach in den Bereichen Prozesse, Testautomatisierung, Methodiken und Clean Code. Er ist Initiator der Clean Code Advocate Initiative.