Kaltgetränk am Laptop - JAXenter
Flinke Feder - Die Apache-Kolumne

Kaltgetränk am Laptop

Bernd Fondermann

Nein, in dieser Ausgabe der „Flinken Feder“ lassen wir nicht den gleichzeitigen Bier- und WM-Konsum am Computer Revue passieren. Bitte! – es geht um ein ernstes Thema: den Nachwuchs in der Programmierergilde.

Ich bin ja der festen Überzeugung, dass Softwareentwicklung in erster Linie ein Handwerk ist. Gute Software zu schreiben, das lernt man nicht durch Bücher oder in Hörsälen. Das lernt man – ähnlich wie bei Fremdsprachen – am besten von jemandem, der es schon kann, und der in seinem Leben bereits ein paar Tausend Zeilen C oder Java erfolgreich durch den Compiler gebracht hat. Aber ganz entscheidend ist das Code-it-Yourself: Viel Code zu lesen und möglichst viel Code selbst zu schreiben. Und es liegt ja genügend davon herum, z. B. Open Source ( hier und hier).

Schüler und Studenten können alljährlich selbst in die Tasten greifen: Im Rahmen des „Google Summer of Code“, und gleichzeitig noch Geld damit verdienen. Jeder Teilnehmer wird von einem gestandenen Open-Source-Entwickler als Mentor begleitet. Natürlich soll nicht nur im stillen Geek-Kämmerlein Code entstehen; auch die Beteiligung im öffentlichen Raum des Projekts will geübt sein.

Seit 2005 gibt es das „GSoC“-Programm. In diesem Jahr sind bei der Apache Software Foundation über viele Projekte insgesamt 44 Studenten aktiv, d. h. 4 % aller Teilnehmer werden von Apache betreut. Die dabei entstehenden Arbeiten sind für die Projekte mehr wert als die 500 US-Dollar, die jede Organisation pro Student einstreicht. Die ASF-Mentoren erhalten selbstverständlich kein Geld. Jeder Student, der erfolgreich abschneidet, bekommt immerhin 5000 US-Dollar. Das ist schon ordentlich, zumal es auch Teilnehmer aus solchen Ländern gibt, wo der Dollar noch richtig was wert ist.

Damit auch alles geordnet, gerecht und gesittet zugeht, hat Google das Programm über die Jahre immer mehr strukturiert. Am Anfang steht die Qualifikationsphase für die teilnehmenden Organisationen, danach öffnet sich der Markt, und Studenten suchen sich Projekte, an denen sie gerne arbeiten würden. Dabei können sie eigene Vorschläge machen. In der Regel bedienen sie sich aber an den Ideenvorschlägen, die die Projekte ausgearbeitet haben.

Die Bandbreite ist sehr groß: Von reiner Dokumentation (Federico Paparoni arbeitet an einem Guide für Apache Sling) über Tests (Yun Lee kümmert sich um „Junit Test Conversions and Bug Fixes“ für die Java-Datenbank Apache Derby) bis hin zu Themen, die ein solides, theoretisches, wissenschaftliches Know-how voraussetzen (Java-Magazin-Autorin Isabel Drost betreut Shannon Quinn beim Thema „EigenCuts Spectral Clustering Implementation on Map/Reduce for Apache Mahout„) sind zahlreiche Tätigkeiten, die bei der Softwareentwicklung typischerweise anfallen, abgedeckt. Natürlich sind auch die großen und bekannten Projekte vertreten, wenn auch die Einarbeitung hier aufgrund der Codebasis viel schwieriger sein kann.

Für Tomcat will Buddhika Chamith de Alwis die JMX Deskriptoren verbessern. Apache MyFaces ist gleich mit vier Studenten vertreten, unter anderem will Tobias Ullrich einen „MyFaces Application Builder“ entwickeln. Daniel Naslund hat es sich zum Ziel gesetzt, Unterstützung für „unidiff“-Formate nach Art von git in Apache Subversion einzubauen.

Im Rahmen seiner Bewerbung erarbeitet jeder Kandidat ein Konzept, das auch einen Zeitplan enthält. Dazu gehört auch die Einschätzung, wie viel Zeit ihm neben seinen regulären Studien eigentlich für GSoC bleibt. Alle Stundentenvorschläge werden dann intern nach Qualität beurteilt und die erfolgsversprechendsten bekommen einen Platz im GSoC-Programm. Nach einer Vorbereitungsphase, die dem Studenten Gelegenheit gibt, in das Thema einzutauchen, geht dann das Coding los, und der Mentor und die Community helfen. Dabei werden bei Apache die GSoC-Teilnehmer wie „normale“ Kontributoren behandelt und nach einer Zeit erfolgreicher Arbeit am Projekt zu Committern gewählt. Zur Halbzeit und am Ende gibt es Beurteilungen durch die Mentoren.

Im Zusammenhang mit dem „Summer of Code“ fällt natürlich immer wieder unweigerlich der Name „Google“. Dazu kann ich nur sagen: „Credit, Where Credit’s Due.“ Es ist schade, dass bisher keine andere IT-Firma solche offenen Ausbildungsprogramme aufgelegt hat, und sei es auch nur kleiner und fokussierter. Niemand darf sich dann über Praxisferne der Hochschulabsolventen beschweren. Denn das Schreiben von Software ist ein Handwerk, das man ausbilden muss.

Inspiriert von GSoC hat Apache ein eigenes Mentoring-Programm eingeführt, das das ganze Jahr über aktiv ist, freilich ohne den monetären Anreiz.

Ein Student, den ich 2009 betreuen durfte, hat glasklar seine Motivation zum Ausdruck gebracht, während des Studiums einmal ein „richtiges Softwareprojekt“ hinter sich bringen zu wollen. Den langfristigen Nutzen für den Student sollte man also nicht geringschätzen. Kurzfristig hat man vielleicht einen Haufen Dollars verdient, aber das Gelernte und der Eintrag im Lebenslauf werden ihn einen guten Teil seines Berufslebens begleiten. Und nichts brauchen wir mehr als gut ausgebildete Coder und solide geschriebene Open Source.

Bernd Fondermann (bernd.fondermann[at]brainlounge.de) ist freiberuflicher Softwarearchitekt und Consultant in Frankfurt a. M. Er beschäftigt sich mit innovativen Open-Source-Technologien wie Apache Hadoop und Lucene und ist Member der Apache Software Foundation und Vice President Apache Labs.
Geschrieben von
Bernd Fondermann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.