Einführung
In sehr jungen Jahren schon brachte mir mein Vater bei zu programmieren. Ich habe über Strukturen nachgedacht, solange ich denken kann. Meine Motivation war es immer, Menschen zu helfen. Dafür stehe ich morgens auf. Lehrberufe haben mich deshalb schon immer gereizt. Als mir an der Universität eine Stelle als Lehrassistent angeboten wurde, habe ich sofort zugegriffen. Und ich hatte einige dieser Stellen. Dann jedoch hatte ich Pech, und in einem Semester gab es nichts, was ich lehren konnte.
Unternehmerisch wie ich bin, gründete ich eine Organisation, in der Studierende andere Studierende unterrichten sollten. Jede und jeder war als Sprecher*in oder Zuhörer*in willkommen, und die Themen reichten von Lektionen, die man aus Hobbyprojekten gelernt hatte, bis zu fortgeschrittenen Themen, die über den Lehrplan der Universität hinausgingen. Ich dachte, so könne ich unterrichten. Ich hatte nicht Unrecht. Wie sich herausstellte, sind Informatikerinnen und Informatiker ein scheues Völkchen, und ich musste fast sechzig Wochen in Folge sprechen, um meine Organisation zum Laufen zu bringen. Ich habe in dieser Zeit viel gelernt, sowohl über meine Themen als auch über das Lehren. Außerdem habe ich mit diesen Vorträgen eine Gemeinschaft von Neugierigen geschaffen. Mit einigen von ihnen sind engste Freundschaften entstanden.
Einige Zeit, nachdem ich die Universität verlassen hatte, traf ich mich mit einem dieser Freunde. Aus Langeweile fragte er mich, ob ich einen Vortrag improvisieren könne, nachdem ich so viele gehalten hatte. »Probieren wir’s aus« war meine Antwort. Wir klappten einen Laptop auf, und ohne eine einzige Pause schrieb ich auf, was zum Beispiel der gesamte erste Teil dieses Buches werden sollte.
Als ich die Finger von der Tastatur nahm, war Ehrfurcht im Blick meines Freundes. Er dachte, das sei meine Demonstration gewesen. Doch ich hatte etwas anderes vor: Ich wollte ihm Refactoring beibringen.
Mein Ziel war ambitioniert. Nach einer Stunde sollte er programmieren können wie ein Meister-R