Wie ich lernte, meine Arbeit zu lieben
Mode kommt und geht, auch in der IT. Ruby on Rails (RoR) war um 2006-2010 herum mal “der heisse shice”. Jeder, der auch nur ansatzweise hip sein wollte, entwickelte alles mit RoR. Kein Startup, das nicht Ruby-Entwickler suchte. Seitdem ist es um das Framework deutlich ruhiger geworden, auch wenn Ruby-Entwickler weiter gesucht werden1. Was ist von Ruby geblieben, außer einem Hype vor zehn Jahren?
Ich bin um 2006 auf Ruby gestoßen. Bis dahin hatte ich Java entwickelt, und auch ABAP, C, PHP, Perl und einige andere Programmiersprachen verwendet. Alles (vor allem Java) fühlte sich mehr oder weniger unvollständig, unlogisch und schlicht nervig an. Die Arbeit damit kostete mich jeden Tag Energie. Eine Alternative musste her.
Für weniger Nerv im Entwickler-Leben
Ruby als Programmiersprache war in den 1990er Jahren ein ganz überwiegend japanisches Phänomen, und außerhalb des Landes weitgehend unbekannt.2 Der Autor Yukihiro “Matz” Matsumoto beschreibt seine Idee so:
Leute konzentrieren sich oft auf die Maschinen, darauf, wie etwas auf der Maschine optimal läuft. Wir müssen uns aber tatsächlich auf die Menschen konzentrieren, darauf, wie Menschen darüber denken, Maschinen zu programmieren oder zu betreiben. Wir sind die Herren. Maschinen sind die Untergebenen.
Die Sprache soll also in erster Linie programmiererfreundlich sein, der Grundsatz “keep the programmer happy” erinnert daran.
Ruby folgt zudem dem Prinzip der “geringsten Überraschung”, was bedeutet, dass die Sprache aus der Perspektive eines erfahrenen Entwicklers konsistent und logisch erscheint. Viele Programmiersprachen sind in vielen ihrer Details inkonsistent, Ruby will das anders machen.3
Das Framework “Ruby on Rails” war stark durch die negativen Erfahrung mit “Enterprise Java” Anfang der 2000er beeinflusst, und das Team hat darauf geachtet, die dort erkannten Fehler nicht zu wiederholen. Das mutete für den einen oder anderen fast esoterisch an, was Rails-Schöpfer David Heinemeier-Hansson dazu 2008 schrieb:
Und das ist nach wie vor unsere Botschaft: Eine Geschichte der Schönheit, des Glücks und der Motivation. Mit Stolz und Freude an der eigenen Arbeit und den eigenen Werkzeugen. Diese Philosophie ist keine Modeerscheinung, sie ist ein Trend. Eine Philosophie, die es ermöglicht, dass Wörter wie Leidenschaft und Enthusiasmus Teil des gebilligten Vokabulars von Entwicklern sind, ohne dass man sich dafür entschuldigen muss. Oder sich dafür schämen zu müssen, dass man das, was man tut, wirklich mag.
Die positive Grundhaltung von Ruby, gepaart mit dem Anspruch des Programmierers DHH, führt zur pragmatischen, fast weltverbesserisch anmutenden Philosophie hinter Ruby on Rails. Paradigmen wie Don’t repeat yourself oder Convention over configuration passen perfekt zur Idee der “developer happyness”, tragen aber auch ganz konkret zur Softwarequalität bei: Weniger Code, klarerer Code, weniger Verwirrung beim Entwickler… alles das sorgt für erfolgreiche Softwareprojekte.
Liebe, was du tust
Da war es also, mein neues Zielbild: Ein positives Selbstverständnis meiner Arbeit als Entwickler, verbunden mit dem Versprechen, nicht nur bessere Ergebnisse zu erzielen, sondern dabei auch noch weniger genervt zu werden. Wer wollte das nicht?
Ein ehemaliger IT-Kollege war häufig mit der Aussage zu hören, “er sei da leidenschaftslos”, wenn es um die Details von Abstimmungen oder Prozessen ging, aber auch bei der Verwendung von Werkzeugen oder Methoden. Mental hätte in solchen Momenten keine größere Distanz zwischen uns sein können. Ich bin nicht leidenschaftslos, sondern im Gegenteil bis zu einem Maß leidenschaftlich, dass mir schlechter Code zuweilen körperliche Schmerzen bereitet. Man kann das albern finden, aber mein Verständnis von Softwareentwicklung ist das eines Handwerkers, der voller Stolz jedes Detail seiner Arbeit perfektioniert.
Ich hab schon ein paar Mal über Motivation eines Entwicklers geschrieben, über das Baumhausprinzip oder die Zeltplatzregel. Ganz egal, ob Ruby oder Rails heute noch der große Hype ist, der es zwischendurch mal war: Die Philosophie der Autoren und die Haltung der Community dahinter hat mich persönlich ganz sicher zu einem besser Entwickler gemacht.
Und das ist doch nicht das schlechteste, was man von einem Web-Framework sagen kann.
Stand heute sehe ich auf indeed.de 1.600 Treffer zum Stichwort “Ruby Jobs in Deutschland”.
Das lag ganz deutlich daran, dass es zunächst nur japanisch-sprachige Dokumentation und Communities gab, was sich erst Jahre später änderte.
Klappt nicht immer, aber meistens. Siehe den legendären WAT-Talk