Die jungen Wilden: Googles Summer of Code #2

Bei Googles Summer of Code können Studenten bei Open-Source-Projekten mitarbeiten. Heute spricht Marcin Copik über seine Erfahrungen als Teilnehmer.

In Pocket speichern vorlesen Druckansicht
Die jungen Wilden: Googles Summer of Code #2
Lesezeit: 7 Min.
Von
  • Björn Bohn
Inhaltsverzeichnis

Vor einigen Wochen hatten wir im Rahmen der jungen Wilden mit einem Mentoren des Google Summer of Code (Link zur News) gesprochen. Heute unterhalten wir uns mit Marcin Copik, der den Summer of Code als Student, aber auch als Mentor durchlaufen hat.

heise Developer: Hallo Marcin! Stell dich doch bitte vor.

Marcin Copik: Ich bin Marcin und Doktorand an der ETH Zürich. Meine Forschung ist im Bereich High Performance Computing und Heterogeneous Computing. Genauer ist das Thema meiner Promotion Performance Modeling.

Während meines Studiums habe ich zu der C++ Library for Parallelism and Concurrency HPX, die die STE||AR group entwickelt, beigetragen. Zuerst als Student im Rahmen von Google Summer of Code (GSoC)und nach dem erfolgreichen Abschluss des Projekts auch in meiner Freizeit. Letzten Sommer war ich selbst Mentor und betreue auch in diesem Jahr wieder einen Studenten.

heise Developer: Wie hast du zum ersten Mal vom Summer of Code erfahren?

Copik: Meine erste Interaktion mit Summer of Code hatte ich während meiner Arbeit in einem Forschungsinstitut. Ich habe an einer Erweiterung von PRISM gearbeitet, einem quelloffenen probabilistischen Modell-Checker. Mein Betreuer hat vorgeschlagen, dass wir unsere Idee als ein GSoC-Projekt einreichen könnten, weil PRISM als Organisation teilgenommen hat. Leider hatte Google mein Projekt nicht ausgewählt, aber ich habe es trotzdem als meine Bachelorarbeit abgeschlossen.

Diese Erfahrung und die Zusammenarbeit mit der PRISM-Gemeinschaft haben mir geholfen, im nächsten Jahr eine weitere Projektidee, die 2014 zu einem erfolgreichen Projekt wurde, zu formulieren. 2015 wurde mein Projekt für GSoC von der STE||AR group ausgewählt. Nach dem erfolgreichem Abschluss des GSoC-Projekts, blieb ich in der Community aktiv und war dann letztes Jahr selbst Mentor für ein GSoC-Projekt.

heise Developer: Hattest du vorher schon praktische Erfahrung in der Softwareentwicklung gesammelt?

Copik: Ich arbeitete als studentische Hilfskraft an Forschungsprojekten an der Uni Aachen und an einem Forschungsinstitut. Zusätzlich habe ich Bugfixes für diverse Open-Source-Projekte bereitgestellt.

heise Developer: Wie lief für dich der Auswahlprozess ab? War er transparent?

Copik: Vieles hängt von der Organisation ab. In der STE||AR group ist die Kommunikation zwischen Mentoren und potenziellen Studenten öffentlich, meist auf dem IRC-Kanal oder über eine Mailing-Liste. Nur Entwürfe der Projektvorschläge teilt man privat mit allen Mentoren, um Verbesserungen vorzuschlagen. Dadurch können Studenten sehen, wie viele andere sich für ein bestimmtes Projekt interessieren. Die Diskussion über die Projektidee und Tipps von Mentoren sind für jeden Kandidaten sichtbar.

Ich glaube, dass der öffentliche Charakter der Diskussion Transparenz und Objektivität garantiert, da Mentoren keinem Favoriten zuspielen können oder wertvolles Wissen nur mit ausgewählten Kandidaten teilen könnten.

heise Developer: Was genau waren deine Aufgaben? Wie verlief die Arbeit?

Copik: Die Aufgaben waren in beiden Projekten vergleichbar. Im Projektvorschlag habe ich einen Zeitplan und Meilensteine für mein Projekt vorgeschlagen. Jede Woche hatte ich einen Skype-Chat mit meinem Mentor. Wir diskutierten Fortschritte, Schwierigkeiten und änderten den Zeitplan bei Bedarf. Außerdem musste ich einen wöchentlichen Bericht an die Mailing-Liste schreiben, damit die Community einen Fortschritt sehen konnte und die Möglichkeit hatte, diesen zu kommentieren.

Bei meinem ersten Projekt habe ich an einer java-basierten Simulation von stochastischen Prozessen gearbeitet. Zusammen mit der PRISM-Community habe ich diese Software optimiert und neue Funktionen hinzugefügt. Mein zweites Projekt bei der Ste||ar group war etwas experimenteller. Dort evaluierte ich C++ AMP und Khronos SYCL, zwei Standards für die Single-Source-GPU-Programmierung in C++, für die Integration in HPX.

heise Developer: Welche Erfahrungen kannst du an andere Entwickler weitergeben? Was hast du gelernt?

Copik: Ich denke dass GSoC eine fantastische Gelegenheit bietet, sein Zeitmanagement zu optimieren. Im Gegensatz zu einem Praktikum ist man nicht mit seinem Betreuer am gleichen Ort, sondern man arbeitet von Zuhause aus. Somit beobachtet niemand den Fortschritt und man ist selbst verantwortlich, seine Aufgaben zu erledigen und der Community zu präsentieren. Diese Selbstständigkeit hilft einem zu lernen, aktiv sein zu müssen und Deadlines einzuhalten.

heise Developer: Würdest du wieder am Summer of Code teilnehmen?

Copik: Gemäß den Richtlinien dürfen Studenten nur zweimal am GSoC teilnehmen. Somit kann ich nicht mehr teilnehmen, aber ich würde jedem Studenten empfehlen, mindestens einmal dabei zu sein. Zum Glück gibt es keine Einschränkungen für Mentoren und ich freue mich, dieses Jahr wieder als Mentor aktiv zu sein.

heise Developer: Welche Rolle spielt Softwareentwicklung heute für dich?

Copik: Die Entwicklung von Software ist ein großer Bestandteil meiner Forschung. Ich arbeite zwar auch theoretisch in meiner Forschung, aber Fähigkeiten in der Softwareentwicklung sind notwendig, um Messergebnisse auf Hochleistungsrechnern zu sammeln.

heise Developer: Hast du Tipps, die jungen Entwicklern helfen können?

Copik: Ich glaube, dass es sehr wichtig ist, Erfahrungen außerhalb der Universität zu sammeln. Es geht nicht nur darum, sich als fähig zu erweisen und schwierige Probleme zu lösen, sondern auch, wie man mit anderen Leuten zusammenarbeitet, die vielleicht keine typischen Softwareentwickler sind, aber zum Beispiel Wissenschaftler aus verschiedenen Fachbereichen.

Dadurch kann es viel einfacher sein, eine Lösung zu finden, als sie anderen Leuten zu erklären und sie von deiner Idee zu überzeugen. Solches Wissen kann man nicht in persönlichen Projekten oder im Gruppenunterricht während des Studiums erwerben. Außerdem denke ich, dass es wichtig ist, Projekte auszuwählen, in denen man etwas Neues lernen kann – zum Beispiel eine Programmiersprache oder eine Bibliothek.

Mehr Infos

heise Developer: Gibt es etwas, wovon du abraten würdest?

Copik: Ich denke, dass viele Studenten, einschließlich mir, den Fehler gemacht haben, sich auf zu viele Projekte zu bewerben und einen generischen Vorschlag an zu viele Organisationen zu senden. Man sollte sich bei der Bewerbung immer auf ein Projekt konzentrieren. Bei der Wahl des Projekts oder der Organisation sollte man nicht auf die Technologie oder den aktuellen Hype achten. Dies würde zwar den Lebenslauf bereichern, aber ich empfehle, lieber nach Projekten zu suchen, die die eigenen Fähigkeiten und Erfahrungen ergänzen und die für eine lange Zeit motivieren können. Bei der Bewerbung kann ich empfehlen, dass Qualität vor Quantität stehen sollte.

heise Developer: Hast du noch ein paar abschließende Worte an unsere Leser?

Copik: Meiner Erfahrung nach ist Google Summer of Code eine großartige Art, einige Monate im Sommer zu verbringen. Du kannst deinen Lebenslauf verbessern und auch das großzügige Stipendium von 6000 US-Dollar ist nicht zu verachten. Aber die Arbeit an einem Thema, das dich wirklich begeistert, und die Zusammenarbeit in einem internationalen Team sind das, was Google Summer of Code wirklich ausmachen.

Du bist selber ein junger Entwickler oder kennst jemanden, von dem du gerne ein Interview in dieser Serie lesen würdest? Schreib uns doch einfach eine E-Mail. Wir freuen uns auf deinen Vorschlag! (bbo)