Viele Entwicklerinnen und Entwickler kennen sicher den folgenden Satz aus dem Buch „The Pragmatic Programmer“:
Lerne jedes Jahr mindestens eine neue Programmiersprache.
Bei innoQ wird dieses Motto tatsächlich gelebt und beschränkt sich nicht auf Programmiersprachen, sondern bezieht sich auch auf neue Frameworks, Technologien oder Entwicklungsmethoden. Daher wird allen Mitarbeitern regelmäßig die Möglichkeit geboten, sich während der Arbeitszeit mit Neuerungen aus der IT-Welt auseinander zu setzen.
So haben wir beispielsweise schon früh mit Sprachen wie Clojure, Go und Scala experimentiert. Wir beschäftigen uns auch schon lange mit dem Architekturthema Microservices und haben in diesem Zusammenhang bereits die Anfänge von Docker im Blick gehabt und diese neue Technologie schnell erprobt.
Regelmäßige Fachvorträge
Im Vordergrund steht dabei immer der firmenweite Austausch des neu erlangten Wissens. Dazu stellen unsere Kolleginnen und Kollegen ihr Know-how regelmäßig auf einem der sechsmal pro Jahr stattfindenden Firmenevents vor. Diese Events gehören in die Arbeitszeit; die gesamte Firma trifft sich dann zwei bis drei Tage unter der Woche in einem Hotel und lauscht spannenden Fachvorträgen. Thema und Programm werden jedes Mal von zwei anderen Kolleginnen oder Kollegen vorgeschlagen und zusammengestellt. Gelegentlich sind auch interessante Gast-Redner wie Michael Nygard, Markus Völter, Steve Vinoski oder zuletzt Adrian Cockcroft dabei. Entsprechend gehören diese Treffen zu den Highlights der Arbeit bei innoQ und ermöglichen einen breiten Wissensaustausch.
Das Programmierevent
Einmal im Jahr wird ein Programmierevent veranstaltet, wo etwas Neues praktisch ausprobiert wird. Meist wird dann in Kleingruppen mit unterschiedlichen Lösungsansätzen und -wegen an einer Aufgabe gearbeitet. Beim Programmierevent 2014 haben sich beispielsweise viele Kleingruppen mit untypischen Sprachen wie Haskell, Erlang und Common Lisp beschäftigt, um mit diesen jeweils verschiedene Frontend- und Backend-Umsetzungen eines Taskmanagers zu basteln.
In diesem Jahr gab es keine gemeinsame Aufgabe, sondern zehn Gruppen, die sich mit unterschiedlichen Aufgaben und Programmiersprachen beschäftigt haben. Die Aufgabe, der sich zum Beispiel eine Gruppe gestellt hatte, war das Erstellen einer (kleinen) produktiven AWS Anwendung. Andere Teams programmierten ein visuelles Bookmarking-Tool für animierte GIFs und eine kleine iOS-Anwendung mit Swift. Die Programmierevents bieten jedem die Möglichkeit, neue Dinge zu probieren, für die im Projektgeschäft oft kein Platz ist.
Workshops und Hackathons
Zusätzlich zu den Events für alle finden häufig kleinere, interne Workshops oder auch kurze Hackathons statt. Dann wird ein neues Framework demonstriert und erprobt oder zum Beispiel die dynamische Programmierung mit Javascript vermittelt. Diese Workshops sind dafür da, sich gezielt mit einer konkreten Technologie auseinanderzusetzen. Die firmenweiten Events hingegen behandeln oft ein umfassenderes Thema wie beispielsweise „Concurrency and Parallelism“ oder „Frontend, Design und UX“ ausführlicher und von verschiedenen Blickwinkeln aus.
Diese internen Workshops werden völlig unbürokratisch im Firmenwiki organisiert. Jemand trägt einen Termin sowie ein Thema ein und schnell finden sich einige Leute, die sich für dasselbe Thema interessieren. Dann findet der Workshop in einem unserer Büros statt, ganz ohne einen Genehmigungsprozess. Der aktuellste Workshop dreht sich beispielsweise um .NET und lässt ein paar der Kolleginnen und Kollegen in das Microsoft-Universum einblicken.
Als ein umfangreicherer Workshop wird Mitte des Jahres meist ein Wochenende lang unser „Summer of Code“ veranstaltet. Dort wird zwei Tage lang zusammen gecodet und beim gemeinsamen Grillen über die neuen Technologien gefachsimpelt. Der diesjährige Summer of Code fand Anfang August statt. Wir haben dort in kleinen Gruppen unter anderem unser Docker-Wissen erweitert oder uns an einem kleinen Web-Chat mit Server Sent Events versucht, manche nutzten die Zeit aber auch für die Teilnahme am Programming Contest der ICFP.
Erfolgreich Lernen
Die bei Events und Workshops entstehenden Programme sind in den seltensten Fällen für den Einsatz in Projekten gedacht. In erster Linie zählen gewonnene Erfahrung und Know-how, welches später u. a. auch in Kundenprojekten von Nutzen sein wird. Dass diese Weiterbildung überwiegend während der Arbeitszeit erfolgt, ist explizit gewünscht.
Warum machen wir das alles, investieren Zeit und Geld in diese Aktivitäten? Weil diese Treffen die Gelegenheit bieten, zeitweise aus dem Projektalltag auszusteigen, den eigenen Horizont zu erweitern und sich weiterzubilden. Alle profitieren dabei durch die eigene Weiterentwicklung. innoQ als Ganzes gewinnt, weil wir motiviert sind und das Know-how im Unternehmen auf dem neuesten Stand bleibt.