Article

Social Coding bei Edenspiekermann

Luki%20Titel

Donnerstag 9:30, Brainfood bei Edenspiekermann. Die Reihe ist an Lukas, sein Thema „Social Coding“. Eine neue Sau, die durchs digitale Dorf getrieben wird?

Nein. Luki beschreibt ein Phänomen, das er in der Praxis beobachtet und im weiteren Verlauf seines Vortrages belegt. Er beginnt in schönstem Schweizerdeutsch. Die meisten verstehen nur die englischen Begriffe: Code, Developer, Frontend usw. sind zwischendurch klar vernehmlich. Er wechselt zu Hochdeutsch, um das Klischee vom „nerdigen“ Computerfreak auszuhebeln und zu erklären, „warum Programmierer nicht ,asozial‘ sind“. Ein Programmierer programmiert selten für sich alleine, er ist der Vermittler zwischen Mensch und Maschine. Somit muss er beide Welten verstehen. Das Problem sei eben „nicht das Programmieren, sondern das Programmieren mit anderen“.

IMG 2922 Wie quasi immer ist unsere einzige wirkliche Herausforderung: die Kommunikation. IMG 2925 Teilen, zusammenbringen, überprüfen – und im Zweifelsfall Schritte zurück gehen.

Lukas nimmt als Vergleich das Bild von der Hütte im Wald, die man mit verschiedenen Werkzeugen und Holzstücken bauen kann, auf welche man sich aber einigen müsse – und darauf, wie man in Japan oder Indien die gleiche Hütte bauen könne. Ein wichtiger Punkt auch: „Wenn man irgendetwas falsch gemacht hat, wünscht man sich dahin zurück, wo man noch alles korrekt gehabt hat.“ Die Lösung liegt auf der Hand: Social Coding.

IMG 2930

Codingluke goes Wissenschaft

Lukas Hodel hat den Begriff Social Coding bzw. die beiden Begriffe wissenschaftlich betrachtet und gefunden, dass sie auf ideale Weise ausdrücken, was er meint: „Es verbindet humane mit sehr technischen Sachen.“ Die Firma (Web-Plattform) GitHub ist momentan die einzige, die das ideal umsetzt und anbietet. Lukas zeigt, wie man mit Git arbeitet.

Es geht schlicht darum, dass Programmierer sich während der laufenden Zusammenarbeit gegenseitig informieren und austauschen können, immer sehen, was wer wo gerade macht oder gemacht hat, und jederzeit wissen, wo sie anknüpfen können. Auch geht es um gegenseitige Hilfe. Warum sich mit Problemen quälen, die andere längst gelöst haben?

IMG 2938 Wie quasi immer ist die einzige wirkliche Lösung: Kommunikation! IMG 2941 Immer wissen, wo man gerade ist – und wo die anderen sind.

Jeder Projektbeteiligte hat ein Profil, ist sichtbar als Anwesender und Ansprechpartner, mit seinen Arbeitsbeiträgen und Kommentaren. So weiß „codingluke“ zum Beispiel, welche Kollegen woran gearbeitet und welche Aufgaben offen gelassen haben, auch wenn sie gerade nicht im Büro sind: „Da kann auch niemand mehr sagen, das habe ich nicht gemacht.“ Um Kontrolle allerdings geht es gar nicht, sondern um Transparenz – und Effizienz, weil man Hand in Hand arbeitet.

Versionisieren leicht gemacht

Git hilft, zu „versionisieren“ (ja, es heißt so, nicht „versionalisieren“). Was ist das? Bestimmte Versionen meiner Arbeit werden gespeichert, bzw. speichere ich sie bewusst auf einem bestimmten Arbeitsstand, auf den ich immer wieder zurückkommen und auf den auch andere zugreifen können. So geht nichts verloren, man kann Sachen ausprobieren, verschiedene Richtungen einschlagen („Branches“ anlegen), die beste(n) auswählen und diverse Arbeitsschritte dann auch „mergen“: sinnvoll miteinander verknüpfen zu einem neuen Gesamtstand.

Und wer hat’s erfunden?

Nein, in diesem Fall nicht die  Schweizer. Der Begriff Social Coding wurde vor allem durch die Plattform GitHub geprägt, die das Versionisierungssystem Git mit Social-Media-Elementen verbindet.

Urheber von Social Coding und der Selbstverständlichkeit dieser Arbeitsweisen sind Linus Benedict Torvalds, Initiator des Betriebssystems Linux und des Versionisierungssystems (oder auch Versionsverwaltungssystems) Git, sowie Open Source an sich und damit der Gedanke, „dass ich das Geld nicht mit dem Code mache, sondern mit dem, was ich programmiere: dem Produkt oder der Dienstleistung, die ich bereitstelle“. Der Code sei wie die Mathematik, und Mathematik für jeden da. Die Vorteile liegen für Luki auf der Hand: steigende Code-Qualität, schnelle Problemlösungen und im Tagesgeschäft viele kleine, schlanke, tolle Tools für jede Anforderung.

IMG 2944 Im Bild rechts Linus, der Urheber von Linux und Mitinitiator des Open-Source-Gedankens. IMG 2950 Die Folgen: mehr Sicherheit, Qualität, Innovation – und andere finden uns sexy! IMG 2954

Luki zeigt, welche Open-Source-Software wir bei Edenspiekermann für Projekte nutzen. Ohne Rails, Backbone.js und soundManager2 zum Beispiel wären wir beim Red Bull Music Academy Radio nicht zu derart großartigen Ergebnissen gekommen – und vor allem nicht so schnell.

Und wenn das Internet selbst nicht „open source“ wäre, würde die Welt sowieso völlig anders aussehen.

Nehmen und geben

Eine gute Frage, mit der Lukas endet: Was geben wir im Gegenzug? Er zeigt als Beispiel „ein kleines Tool“, das Eike Send entwickelt und eingespeist hat, dann eigene Beiträge in GitHub und Kommentare, zum Beispiel von Jonathan Krause, mit denen der anderen geholfen hat. Überhaupt seien Austausch und „Ratschläge Geben“ ganz entscheidende Beiträge.

IMG 2958

Apropos entscheidende Beiträge: Schon während des gesamten Vortrages flankieren die Kollegen – Olli erklärt Versionisierung, Richard automatisches Vervollständigen von „Tabs“, Luki dann wiederum die Plug-ins in Linux ... und zeigen damit, wie Social Coding und Social Sonstiges und überhaupt Zusammenarbeit bei uns funktioniert. Danke, Jungs!

IMG 2959 Was wir tun können: „paarweise“ zusammen programmieren, unseren Code modular und für andere zugänglich (open source) machen, extern kommentieren – und SPENDEN: den Entwicklern/Firmen, deren kostenlose Software wir nutzen. IMG 2966 Wie immer ist das natürlich noch lange nicht das Ende ...

Für Fragen zu diesem Brainfood-Thema und zu Social Coding wenden Sie sich am besten direkt an Lukas Hodel. Hier von ihm ein Beitrag über Backbone.js im t3n Magazin. Hier können Sie Schweizerdeutsch verstehen und lernen.

Hier mehr zu Linus/Linux; das sagt Wikipedia über Open Source. Zum Weiterlesen über Social Coding: Socialcoding4good / Social Coding – the Next Wave in Development?

Hier ist die Website von GitHub; Workflows für Git (bisschen technisch, aber mit guten Bildern) gibt es bei Atlassian. GitHub ist die Firma, die Social Coding am erfolgreichsten vermarktet und letztlich massentauglich gemacht hat: vor allem durch die Ausstattung mit Social-Media-Features. Davor gab es aber bereits Sourceforge, basierend auf einem anderen Versionsverwaltungssystem und auch sehr populär. Auch Sourceforge stellt kostenlos Software bereit.

Fotos: Edenspiekermann