synyx bei den Entwicklertagen in Karlsruhe

Die Entwicklertage in unserer Heimatstadt sind schon seit Jahren ein sicherer Anker in unserem Konferenzkalender. Der Veranstalter Andrena hat auch dieses Jahr wieder die Entwicklergemeinde der Region herbeizitiert und drei synyx Kollegen sind dem Ruf gefolgt.

Conference Day

Leider viel zu spät erreichte ich am Mittwoch die IHK in Karlsruhe, um in die Konferenz einzutauchen. Familiäre Verpflichtungen hatten mich daran gehindert, pünktlich zum Frühstück auf der Matte zu stehen. Egal – die Keynote lohnt sich doch meistens eh nicht, oder? Bei den netten Damen am Andrena Infostand bekam ich meine Erkennungsmarke und die übliche Konferenz-Kampfausrüstung bestehend aus Tasche, Stift, Block, Programmflyer. Schnell einen Kaffee und ein paar Häppchen gezogen und mit den Kollegen gesynct. Die erzählten mir gleich, wie toll die Keynote doch war. Prof. Dr. Michael Feindt hat mit anschaunlichen Beispielen eindrucksvoll beschrieben, wie er und sein Team mit Machine Learning den Einzelhandel bei der Warenbestellung unterstützen. Mist, jetzt ärgerte ich mich doch, es verpasst zu haben. Aber es war ja noch nicht zu spät, sich auf die vielversprechenden Vorträge des Conference Day zu freuen!
schlechtetests
In den sechs parallelen Tracks fand sich einiges solides wie die “10 goldenen Regeln für schlechte Tests” von Tilmann Glaser und Peter Fichtner, die aus ihrem reichhaltigen Erfahrungsschatz die häufigsten Pitfalls beim Schreiben von Tests teilten, und wie die JUnit5 Einführung von Johannes Link und Matthias Merdes, bei der man sich schonmal auf die neue Version des verbreitetsten Testframeworks einstellen konnte. Eine erfrischende Abwechslung zu den codegefüllten Slides bot Christian Robert mit seinen Ideen und konkreten Vorschlägen, wie man ein glücklicher Entwickler wird! Seine “Happiness Patterns” helfen dabei, den grauen Entwickleralltag weniger grau zu gestalten und aus gewohnten Verhaltensmustern auszubrechen, um eine höhere Zufriedenheit bei seiner Arbeit zu erreichen.
Den Abschluss des Tages bildete Eberhard Wolf mit seiner Keynote von gewohnt hoher Qualität. Er stellte die kontroverse These auf, dass Redundanz von Code und Daten im Falle von Microservices etwas Gutes sein kann. Seine gut auf den Punkt gebrachten Argumente konnten das Publikum davon überzeugen, dass er damit auch recht hat. Dabei betonte er aber auch, dass es sich sowohl bei der Entscheidung für Microservices als auch bei der Entscheidung für Redundanz nicht um eine Silver Bullet sondern immer um einen Tradeoff handelt, was eine der entscheidenden Messages seines Vortrags war.

Agile Day

Fast pünktlich erreichte ich diesmal den Konferenzsaal Baden, in dem die Eröffnungskeynote des Agile Day stattfand. Gunther Verheyen erzählte davon, was Scrum uns in der Vergangenheit brachte und in der Zukunft noch bringen wird und ging dabei sehr viel auf Scrum Basics ein, die ich schon kannte – daher bevorzugte ich eine vorgezogene Kaffeepause, um erstmal den Akku voll zu machen.
Die Vorträge des Agile Day hatten wie schon letztes Jahr nur teilweise mit “Agile” zu tun, vermutlich ist es nicht so einfach, aus diesem Bereich genug Talks für einen ganzen Tag mit sechs parallelen Tracks an Land zu ziehen. Mir als Entwickler macht das aber natürlich nichts aus 😉
So schmuggelten sich beispielsweise David Burkhart und Max Bechtold mit ihren umfangreichen und sehr hilfreichen Methoden zur automatischen Architekturanalyse in den Agile Day als auch Mark Paluch, der mit Leidenschaft und hohem Detailgrad davon berichtete, wie er in 16 Stunden einen Gameboy-Klon gebaut hat.
Natürlich gab es auch Vorträge aus dem agilen Umfeld. Viel mitnehmen konnte man aus dem  Erfahrungsbericht von Ben Romberg und Georg Meyer, die verschiedene Methoden des Code Reviews in ihrem Team getestet haben und sich mit dem Publikum rege darüber austauschten. Auch das Manager/AgileCoach Rollenspiel von Benjamin Seidler und Marion Gakstatter gefiel mir gut, weil man dort den Sinn und Unsinn verschiedener Metriken zur Team Performance gut vor Augen geführt bekam.
irrertyp
Die abschließende Keynote der Konferenz war etwas Besonderes. James Coplien ließ sich in einem an Irrsinn grenzenden, unterhaltsamen Rant darüber aus, dass die agile und objektorientierte Entwicklung ihre Wurzeln verloren haben. Bewußt provokante Aussagen wie “Unit Tests are bad for quality” und “Java is the only language where it is impossible to write objects” schüttelten das Publikum ganz schön durcheinander. Die Bottom Line seiner emotionalen Keynote ist aber eine sehr bedeutende: Beim Schreiben von Software geht es um Menschen und wir dürfen die Menschen dabei nie aus den Augen verlieren – ein Grundsatz, den auch wir von synyx uns auf die Fahne schreiben.

Tutorial Day

Einer von uns drei Kollegen besuchte am Freitag sogar noch den Tutorial Day und möchte seine durchweg positiven Erfahrungen teilen:
Sabine Neubauer, Kristin Utech und Simon Wagner luden am Freitag zum Workshop “SOLID – Verstehen und Anwenden” ein. Ungefähr 15 sowohl angehende, als auch langjährige Softwareentwickler folgten der Einladung. Zu Beginn wurde den Teilnehmern die SOLID Prinzipien theoretisch näher gebracht, danach wurden im Pair verschiedene Aufgaben gelöst. In den Aufgaben sollten verschiedene Verletzungen der Prinzipien erkannt werden.
Zunächst wurden Implementierung und Tests den Erkenntnissen entsprechend refactored und ergänzt, dann wurden nach jeder Aufgabe die Lösungen vorgestellt und darüber diskutiert. Durch das fundierte Wissen der Workshopleiter waren auch Diskussionen außerhalb der Übungen möglich. Dieses Tutorial war eine ausgezeichnete Möglichkeit für Softwareentwickler fernab des Tagesgeschäfts sich die SOLID Prinzipien anzueignen und diese umzusetzen.

Ende gut, alles gut?

Was lässt sich nach drei Entwicklertagen festhalten? Erstmal ein großes Lob an den Veranstalter Andrena! Die Durchführung der Konferenz war wie immer stark, das Organisationsteam hat merklich gute Arbeit geleistet. Man fühlte sich immer gut verpflegt, hatte immer einen Überblick über das Konferenzgeschehen und es war eine gute Aufteilung zwischen Vorträgen zum Zuhören und Pausen zum Austauschen. In den kleineren Vortragsräumen gab es gelegentlich Probleme mit dem Platz und dem zu kleinen Beamerbild aber das fiel nie groß ins Gewicht. Eine gute Idee war die Liveübertragung der Talks aus dem großen Saal ins Foyer, so dass man auch mal eine ausgedehnte Kaffepause mit einem Ohr beim Kollegengespräch und einem Ohr beim Speaker zubringen konnte.
Nicht ganz so gut fällt unser Urteil diesmal beim eigentlichen “Fleisch” der Konferenz aus, den Talks. Es gab einige Vorträge, die gut waren und die man unter “solide Grundkost” einordnen kann. Allerdings flog während der Vorträge auch zu oft ein “wär ich doch in den anderen Track gegangen” durch unseren Gruppenchat. Es bleibt das Gefühl, dass bei der Auswahl der Talks eher auf Quantität als auf Qualität geachtet wurde, so dass man die sechs Tracks für zwei Tage auch voll bekommt. Was nur wenig vorkam waren echte Highlights, Neuheiten, Kontroversen, Talks aus denen man als erfahrener Entwickler viel mitnehmen kann. Natürlich haben wir mit drei Mann auch nur einen kleinen Teil aller Vorträge mitbekommen und hatten vielleicht einfach nur Pech. Dieses Urteil fiel unter uns dreien auch nicht einstimmig aus – unser jüngerer Kollege konnte für sich viel aus den Vorträgen mitnehmen und verließ die Konferenz sehr zufrieden – insbesondere nach der Teilnahme am Workshop Day am Freitag.
Abschließend kann ich dennoch sagen, dass diese verlässlich grundsolide Heimatkonferenz garantiert auch nächstes Jahr wieder von synyx Kollegen besucht wird.
Folien zu den Vorträgen sind auf der Seite der Entwicklertage unter den jeweiligen Programmpunkten verlinkt.