code.talks 2016 in Hamburg

Kapitel 1 - Vorspann

Am 8. September erfahre ich, dass ich die diesjährige code.talks-Konferenz in Hamburg besuchen darf. Yeah! Ein Traum von Norden zeichnet sich ab: zwei Tage die Hufe hoch legen, vielleicht ein Alsterspaziergang im Sonnenuntergang, von einem netten Café aus der Betriebsamkeit im Hafen zuschauen. Also quasi Urlaub für Umme! Und wenn mir vor Entspannung langweilig wird, kann ich mir immer noch Fachvorträge anschauen. Coole Sache!

Voller Vorfreude hacke ich also die Adresse in das eben hierfür vorgesehene Feld meines Feuerfuchses und schaue mir an, wie viel Freizeit ich in diese zwei Tage packen kann: Der PHP Track für den ersten Konferenztag besteht aus Frühstück, Begrüßung, Mittag und After-Work-Party. Ich merke mir im Geiste also Donnerstag schon einmal als "tätigkeitsbefreit" vor. Trotzdem klicke ich mich durch die Ankündigungen für DevOps und IT-Management-Beiträge - man weiß ja nie. Kurz darauf entferne ich einfach wieder alle Filter, weil doch ein paar ganz nett klingende Themen dabei sind und es sich als recht schwierig gestaltet, über die sechs parallel belegten Säle den Überblick zu behalten. Eine kleine Stimme in meinem Hinterkopf erwacht, noch zu leise, um sich verständlich mitzuteilen.
Unter "New Technology" werde ich kurz stutzig: Da gibt es was zu Programmierparadigmen, die in den 70'ern schon einmal neu waren. Und jetzt schon wieder? Ich brauche mehr Wörter im Duden, so etwas wie: "schnirkeln (Verb): Den Besuch einer Veranstaltung anhand der Überschrift in Erwägung ziehen ohne die Beschreibung gelesen zu haben". Auf jeden Fall habe ich einen ersten Eintrag für meine "vielleicht ansehen" Liste gefunden. Aus fundiertem Interesse folgen "The modern enterprise stack" und "Aspects of Code Quality". Die Stimme in meinem Hinterkopf stöhnt leise auf, doch es dauert eine halbe Stunde, bis ich realisiere warum: Meine "vielleicht ansehen" Liste heißt mittlerweile "will hin!" und mein Zeitplan ist voll. Nicht nur voll; ich habe einige Slots, die ich doppelt oder sogar dreifach belegt habe, obwohl die geschnirkelten Themen längst definitiv interessanten Vorträgen gewichen sind. Ich krame in meiner Erinnerung, ob ich in jüngerer Vergangenheit blaue Telefonzellen in Frankfurt gesehen habe. Negativ.
In mir keimt der Verdacht, dass ich mich habe übers Ohr hauen lassen; das wird gar kein entspanntes Wochenende mit Piña Coladas am Elbufer! Statt dessen werde ich wohl hoffen müssen, dass Talks, die ich aufgrund meines Singleton Daseins nicht besuchen gekonnt haben werde (oder wie auch immer Futur II sich diesen Satz vorstellt), hinterher auf YouTube veröffentlicht werden! Ich werde keine Schiffe auf dem Fluss zählen, sondern zwei Tage lang in dunklen Räumen zwischen potenziell unterdeodorierten Entwicklern sitzen... Die Stimme in meinem Hinterkopf profiliert sich als rechthaberisches Biest.

Kapitel 2 - Der Konferenz erster Tag

Schneller Vorlauf* bis Ende September. Die Anreise am Mittwoch gestaltete sich, wenn auch nicht ereignislos, so doch zumindest ohne unerwartete Auffälligkeiten. Die Bahn ist die Bahn, trotzdem erreiche ich noch vor Mitternacht mein Hotelzimmer.

alt Obligatorisches, unscharfes Abendessen-Foto

Donnerstagmorgen dann die finale Bestandsaufnahme in der U-Bahn zur Kulturfabrik: Die Konferenzapp ist installiert, das Vortragsprogramm ist studiert und die Planung im Kalender gelistet. Es kann los gehen.

alt Das Motto ist Popcorn, Nachos & Code - allein Code gibts nicht an diesem Stand

Nach dem Frühstück gibt es einen kurzen Überblick über die Konferenz. 1.900 Besucher passen in die neue Location. Es wird erklärt, wie die Tracks organisiert sind, wie ich den NFC Chip an meiner Eintrittskarte für das Konferenzgewinnspiel benutze und es werden die Sponsoren vorgestellt. Dann geht es los und ich besuche meinen ersten Fachvortrag.
Nach zwanzig Minuten Werbung für den Arbeitgeber des Speakers wird es langsam interessant – da wird erzählt von „Data Stream Processing“ mit Apache Kafka, von End-to-End Automation, von Jenkins Fernsteuerung über einen Chatbot und von automatischen Builds und Deployments auf Kubernetes und Docker. Ich beginne zu erahnen, dass ich die Konferenz mit einer Menge neuer Ideen verlassen werde. Ich notiere mir ein paar Stichworte für spätere Referenz.
Mein zweites Thema behandelt die Organisation der Zusammenarbeit zwischen getrennten Teams. Spannend ist es, und befasst sich mal mit einer höheren Verantwortungsebene, als ich aus persönlicher Erfahrung kenne. Ich verlasse die Präsentation mit einem zutiefst empfundenen Beileid für unsere Kunden mit internationalen Teams und zugleich Respekt für die Leistung, die hinter einer solchen Organisation steckt.
Schließlich gebe ich mir noch einen extrem unterhaltsamen Talk zum Thema Kundenkommunikation. Der Saal ist deutlich zu klein für alle Interessenten, reihenweise sitzen die Besucher auf dem Boden. Es werden Beispiele präsentiert: "Der Herr Meier muss auch noch Feedback geben" oder "Wenn wir es erst einmal sehen, dann wissen wir, ob wir es wollen!". Wo hat der Kunde fehlkommuniziert? Wo hätte das Entwicklerteam gegensteuern müssen? Die Moral von der Geschichte: Leute, redet miteinander! Missverständnisse können nur entstehen, wenn Annahmen nicht klar ausgesprochen werden.

alt Der Kunde sieht sich in der Rolle des Koordinators... bitte hübsch nacheinander ertrinken!

In der Mittagspause werde ich an einem der Stände, an denen das Konferenzspiel stattfindet, angesprochen. Wie es mir ginge, fragt man, ob mir die code.talks bisher gefiele, und ob ich vielleicht Interesse hätte, umzuziehen? Man könnte mir ein fantastisches Relocation-Paket für die ganze Familie präsentieren.
Ich stecke lächelnd nickend den geschenkten Kugelschreiber ein und halte meinen NFC Chip an das Android Tablet, um lebenswichtige Sekunden vorgegaukelter Beschäftigung zu schinden, während ich mir nette Formulierungen für "kein Interesse" einfallen lasse. Mir wird vorgeschwärmt, wie toll die Unternehmenskultur bei denen sei. Meine Einwände, ich wäre doch glücklich wo ich gerade bin, werden abgetan; ich hätte ja gar keinen Vergleich und wüsste doch noch gar nicht, ob ich nicht noch viel glücklicher sein könnte. Die Körpersprache der Human-Resources-Managerin erinnert an eine Katze, die eine Maus gesehen hat. Das Mittagessen verschafft mir schließlich einen Vorwand zum taktischen Rückzug. Ich werde eingeladen, doch später noch einmal für eine Fortsetzung der Unterhaltung vorbeizuschauen. Ich werde das Gefühl nicht los, dass sie meine Angst riechen kann.
Später wird Lars mir erklären: „Auf einer Konferenz bist Du Freiwild!“. So komme ich mir auch vor.

In der zweiten Hälfte des Tages lerne ich, dass FTP noch immer die am häufigsten ausgenutzte Schwachstelle zur Infektion von Servern ist. Ich höre eine Schauergeschichte über einen Webshop mit über 500 infizierten Quellcode-Dateien und über 30 verschiedenen Exploits. Selbst in den Backups war keine saubere Version mehr zu finden. Und PHP sollte ohnehin auf aktuellem Stand sein.
Mit einem Deployment werden die infizierten Dateien zumindest überschrieben - gut, dass ich es überhaupt nicht anders kenne. Zudem gibt es ein paar Tipps zur Absicherung von Servern, sowie Empfehlungen für Open Source Malware Scanner. Ich mache mir eine Notiz, in welche Themen ich mich noch einmal einlesen will.

alt Wer einen Webshop betreibt hat große Verantwortung

Danach hechte ich in eine Präsentation über Last und Performancetests. Das Thema ist bei mir im Team gerade aktuell, deshalb möchte ich mir das mal etwas genauer anschauen – allerdings bleibt das Niveau auf einer ziemlich hohen Abstraktionsebene. Ich hätte mir mehr Details gewünscht und bin somit zum ersten Mal von einem Talk nicht ganz hingerissen.
Danach schaue ich mir eine Präsentation zur Qualität von Code an. Es geht um Unit Tests, um die Bewertung von Testergebnissen, Cucumber: "Ich weiß nicht, ob davon hier schon jemand gehört hat?" Meine Kinnlade schließt Bekanntschaft mit meinem Brustbein. Das war eines der ersten Dinge, mit denen ich bei der dkd in Kontakt gekommen bin! Viel Unverständnis im Raum und erleuchtete Gesichter, die erstmals von "Behaviour Driven Development" hören.
Mein letzter Talk des Tages behandelt Anforderungsmanagement. Warum sind Anforderungen oft so schlecht? Was kann das Entwicklerteam tun, um sie zu verbessern? Welche Agilen Methoden werden viel zu häufig falsch verstanden und dann fehlerhaft umgesetzt? Am Ende schwirrt mir der Kopf, aber ich habe eine recht gute Vorstellung davon, wie die Zieldefinition mit dem Kunden ausgehandelt wird. (boah, bin ich glücklich dass andere Leute dafür bezahlt werden...)

Es folgt die After-Work-Party: Musik. Laut. Wir probieren ein VR Game ("Debugging") aus und unterhalten uns mit ein paar Leuten von den Sponsorenständen und dem Catering.

alt das sieht Lars

alt und das sehe ich

Lärmbedingt verbringen Lars und ich danach die Zeit bis es dunkel ist in einem Fahrradschuppen neben einem Seiteneingang. Es gesellen sich immer wieder nette, nikotinabhängige Gestalten dazu, bis wir uns entschließen, doch noch etwas Zeit in der deutlich wärmeren Halle zu verbringen. Bei der Suche nach einem Sitzplatz schließt Lars Kontakt mit ein paar Leuten von Shopgate. Wir gesellen uns dazu und es stellt sich heraus, dass 50% unserer neuen Bekanntschaften ebenfalls aus Frankfurt kommen. Irgendwann siegen Vernunft und Voraussicht über den Wunsch, die Nacht durchzufeiern - wir verabschieden uns und machen uns auf den Weg zurück ins Hotel.

alt After Work Party in vollem Gange

*Die Veröffentlichung dieses Satzes kostet mich 20 Cent. Ich willige ein, EINMALIG 20 Cent zu zahlen, NICHT für jedes Mal, wenn dieser Satz gelesen wird. Nein Timo, vergiss es!

Kapitel 3 - 30. September 2016

Von der Party am Vortag bin ich noch etwas träge, ich bin mit Lars zum Frühstück verabredet, ich muss meine Sachen zusammenpacken... Duschen? Keine Zeit - müssen die Leute um mich eventuell etwas aushalten. Was hatte ich Anfangs über Entwickler in dunklen Räumen geschrieben? Mein damaliges Selbst hat ja keine Ahnung!
Der Freitag verhält sich im Großen und Ganzen wie der Donnerstag zuvor: Ich starte in den Tag mit Vorträgen zu Clean Architecture mit PHP und Hot-Swapping von Container Plattformen.
Der Vortrag "Echte Innovation liefern" ist super! Es geht bombastisch los: "Der Titel enthält zwei wichtige Wörter: Echt und liefern!", ich erfahre eine Menge über rote Spinnen, Sonnenbrillen und (Baby-)Waldelefanten. Wem sich der Zusammenhang nicht intuitiv erschließen sollte: Dieser Talk wird in den kommenden Monaten auf dem YouTube Channel der code.talks erscheinen. Unbedingt ansehen! Insbesondere bin ich dankbar für den Begriff der Hippos: "HIghest-Paid-Person's Opinion" und den sich daraus ergebenden Schlachtruf - Kill the hippos!"
Danach höre ich die Geschichte von einem Webshop, der eine Fernsehdoku bekommen hat. Der Talk selbst behandelt Möglichkeiten, plötzliche Trafficspitzen zu managen (Spoiler Alert: Ohne Cloud Anbieter wird dat nüscht).

alt Die Datenbank ist erst nach 5 Minuten zusammengebrochen! Bei 7500 Requests je Sekunde auf den App Server halte ich das für eine beachtliche Leistung!

Ein Git-Vortrag entpuppt sich eher als Einführung in das SCM - ich notiere mir einige Befehlsflags, die ich vorher nicht kannte und nehme mir vor, noch einmal die man-pages zu durchstöbern. Da scheinen sich ein paar echt coole und nützliche Goldstückchen verborgen zu halten.

alt Gute Bewertung in der B-Note für die korrekte Verwendung von Memes

Abschließend schauen Lars und ich uns eine Vorstellung vom Cluster-Manager Kubernetes an. Erneut geht mir unkontrolliert der Mund auf, diesmal vor Ehrfurcht. Hat der Mensch da gerade 5 Docker Container automatisch abgeschossen, mit neuen Inhalten versehen und innerhalb von 10 Sekunden neu gestartet? Schon wieder ein Thema, das ich mir in meiner Freizeit noch einmal anschauen will. Mit einem Geistesblitz verstehe ich das Konzept hinter Backlogs.

Für den letzten Timeslot des Tages fehlt uns die Zeit - wir müssen zum Zug, also brechen wir auf gen Heimat.

alt Entwickler im Zug

Wie bereits die Reise nach Hamburg, so erinnert auch die Bahnfahrt zurück nach Frankfurt an eine Heimkehr von Troja nach Ithaka. Übermannt vom Reichtum der vergangenen zwei Tage an Informationen, Eindrücken, Erlebnissen und Stoffen der Hydroxygruppe falle ich daheim ins Bett.
Kurz vor der Bewusstlosigkeit schleicht sich ein Lächeln auf meine Lippen; nächstes Jahr wird wieder geschnirkelt!

Alle Vorträge der code.talks-Konferenz 2016 findet ihr unter https://www.codetalks.de/2016/programm.

von Kai Harder

Kai Harder ist Baujahr 1979 und Junior Entwickler bei der dkd -- Kai Harder was built in 1979 and is a junior developer at dkd