4 männliche Teilnehmer stehen beisammen und besprechen ihre Lösungsansätze
Der lise Blog:
Einsichten, Ansichten, Aussichten

Code mal anders - Der GDCR 2021

Bevor ein Künstler ein besonderes Werk schaffen kann, muss er sich die dazu notwendigen Fähigkeiten aneignen. So kann ein Maler beispielsweise einen Obstkorb als Übungsobjekt betrachten und beim Malen oder Zeichnen des Obstkorbs neue Fähigkeiten erlernen oder bereits angeeignete Fähigkeiten verbessern.

Viele Programmierer:innen vernachlässigen solche Übungen (notgedrungen), da im Projektgeschäft nicht die notwendige Zeit zur Verfügung steht. Schafft man jedoch Raum für Übungen, können auch erfahrene Softwareentwickler:innen in Ruhe Neues lernen.

Einen solchen Übungsraum soll der Global Day of Coderetreat (weltweit und gleichzeitig) darstellen. Daher trafen sich Anfang November ein Dutzend Entwickler:innen zum zwölften Global Day of Coderetreat in den Räumlichkeiten der lise GmbH, gemäß dem Motto: Was dem Maler sein Obstkorb, ist dem Programmierer Conways "Game of Life".

Game of life? Was ist das?

Auf einem aus unendlich vielen Gitterquadraten bestehenden Spielfeld stellt jedes einzelne Quadrat eine Zelle dar. Je nach Anordnung der Zellen leben diese weiter oder sterben im nächsten Schritt ab (Game of life bei der Google-Suche einfach mal eingeben für eine kleine Überraschung).

Wie der nächste Schritt aussieht, entscheiden folgende Spielregeln:

1. Under Population
Eine Zelle, die weniger als zwei Nachbarn hat, stirbt ab.

2. Survival
Hat eine Zelle zwei oder drei Nachbarn, lebt sie.

3. Over Crowded
Gibt es mehr als drei Nachbarn, stirbt die Zelle ebenfalls.

4. Birth
Wenn eine verstorbene Zelle in der nächsten Generation drei Nachbarn hat, wird sie neu    geboren.

Wie jedes Jahr erhielten die Teams die Programmieraufgabe, dieses Spiel zu replizieren.

Mit wechselnden Einschränkungen wird diese Aufgabe in verschiedenen Sessions immer wieder erneut angegangen. Das heißt: Code löschen, kurz strecken und es geht von vorne los.

So setzten sich die Sessions zusammen

Session 1: Die erste Session war für alle Teilnehmer:innen die erste Erfahrung mit einem Coderetreat. Test-Driven arbeiten? Neues und ungewöhnliches Mindset. Code löschen am Ende der Session? Das war für viele eine unangenehme, aber auch sehr wertvolle Erfahrung!

Session 2: Beim zweiten Mal fällt das testgetriebene Arbeiten leichter – und manchmal musste man vom Nachbarn oder der Nachbarin gebremst werden. Es zeigten sich schon die ersten Veränderungen: Man beginnt mit der Struktur und fokussiert sich auf die Domäne - legt sich aber auch früh fest mit Bezeichnungen. Ebenfalls wichtige Erkenntnis: Rust ist der Hammer.

Session 3: In der dritten Saison war striktes Pair-Programming die oberste Devise. Dadurch lernten die Teilnehmer:innen, wie sie möglichst effektiv mit der Partnerin oder dem Partner kommunizieren - denn sonst knallt es beim Wechsel! Den Laptop abzugeben ist eine Sache – aber wie übergebe ich eine Idee?

Session 4: Durch die Vorgabe, möglichst konsequent Value Objects einzusetzen, zeigte sich, dass der Code objektorientierter, Entwurfsmuster konsequenter eingesetzt und die Struktur sauberer werden. Wir lernen? Gute Einschränkungen limitieren nicht die Möglichkeiten der Software, sondern die Code Smells, die man einbaut!

Session 5: Schon mal auf Verzweigungen und Schleifen verzichtet? In der letzten Session waren die Teilnehmer mit dieser Herausforderung konfrontiert. Ergebnis: Game of Life ist immer noch lösbar, aber der Quelltext sieht ganz ganz anders aus. Cleverer? Schlechter lesbar? Das kommt auf die verwendete Sprache an. Go ist unpassend, wohingegen Rust hier wieder glänzte.

Durch die unterschiedlichen Vorgaben in den Sessions werden etablierte Abläufe bewusst vermieden. Kreative Lösungen sind also gefragt – so wird die Entwicklung jedes Mal anders angegangen und kontinuierlich optimiert.

Dabei sind die Aufgaben so ausgerichtet, dass sie sowohl von Entwickler:innen mit viel als auch weniger Erfahrung gelöst werden können. Nach jeder Session wurden die Ergebnisse auf Flipcharts festgehalten. Dazu gab es jeweils eine kleine Reflektionsrunde, um die verschiedenen, neuartigen Ansätze nachvollziehen zu können.

Nachdem fast den ganzen Tag vorm Rechner geknobelt wurde, war zum Abschluss eine ausgelassene Runde Tischkicker angesagt. Pizza und Getränke aus dem lise-Kühlschrank durften natürlich auch nicht fehlen – diese etablierten Abläufe gehören aufrechterhalten.

Wir haben uns gefreut, neue Gesichter beim Global Day of Code Retreat zu sehen und gemeinsam spannende Lösungsansätze zu entwickeln. Ein Tag mit vielen Erkenntnissen!

Unser Dank gilt allen Teilnehmer:innen für das große Interesse und das positive Feedback. Wir haben den Termin für 2022 schon fett im Kalender markiert.

Interesse an der lise geweckt?

Jetzt hier bewerben!

 

 

Diesen Artikel weiterempfehlen

 Teilen  Teilen  Teilen  Teilen