Joel Spolsky: "Die Power der Entwickler hat in den letzten Jahren dramatisch zugenommen"

Stack Overflow gehört zu den bekanntesten Internetplattformen für Softwareentwickler. heise Developer sprach mit dem Gründer Joel Spolsky über die Anfänge, die Abwehr von Trollen sowie über gute Entwickler und ihre Quietscheentchen.

In Pocket speichern vorlesen Druckansicht 20 Kommentare lesen
Die Power der Entwickler hat in den letzten Jahren dramatisch zugenommen.
Lesezeit: 13 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

heise Developer: Stack Overflow wird dieses Jahr zehn Jahre alt. Du bist Softwareentwickler. Was war deine Motivation, die Plattform zu gründen?

Joel Spolsky: Leute, die vor zehn Jahren programmiert haben, können sich vielleicht an die Site Experts Exchange erinnern. Sie startete in den 90er-Jahren als Website für Diskussionsforen. Im Laufe der Jahre haben sich zahlreiche Konversationen mit Antworten zu Programmierproblemen gesammelt. Daher führten auch viele Suchanfragen zu solchen Problemen auf Experts Exchange. Aber die Firma, die dahinter stand, ging pleite, und jemand hat sie gekauft und schließlich Geld für den Zugriff auf die Antworten genommen.

Also suchten Entwickler auf Google, fanden als neun von zehn Treffern Ergebnisse auf Experts Exchange, aber wenn sie darauf zugreifen wollten, kam zuerst die Seite, die sie zum Zahlen aufforderte.

Als Entwickler fand ich das damals ziemlich frustrierend. Weniger, weil ich für gute Antworten zahlen sollte, sondern weil andere Programmierer die Antworten freiwillig erstellt hatten. Die Community hat somit das Wissen eingebracht, für das nun ein privates Unternehmen Geld kassieren wollte. Das fühlte sich schlicht unfair an.

Wie sagt man so schön: "Wenn das Internet eine Schadstelle hat, findet sich bald eine Ausweichroute." Diskussionsforen aufzusetzen, ist einfach. Passende Tools, mit denen sich eigene Foren an einem Wochenende aufsetzen lassen, existieren als Open-Source-Software. Ich habe damals ein wenig experimentiert und festgestellt, wie einfach es ist. Also hatte ich erwartet, dass schnell ein Ersatz für Experts Exchange auftauchen würde, aber es geschah nichts.

Schließlich kam im März oder April 2008 Jeff Atwood auf mich zu und sagte: "Ich bin ein Blogger und arbeite hauptberuflich als Computer-Consultant. Den Job bin ich leid. Soll ich ihn kündigen und versuchen, als Blogger mein Geld zu verdienen?" Meine Antwort war: "Du solltest deinen Hauptjob zwar kündigen, aber ich habe eine bessere Idee als den Blog." Ihm erklärte ich die Idee von Stack Overflow und überzeugte ihn schließlich. Im August 2008 starteten wir dann mit der Site.

heise Developer: Einen guten Ruf hat Stack Overflow dafür, dass die Plattform erfolgreich das Trollen verhindert. Hattest du vom Anfang die Abwehr unseriöser Beiträge im Kopf?

Spolsky: Wir haben anfangs die bestmöglichen Techniken eingesetzt, die bis dahin entwickelt worden waren, um das Trollen zu reduzieren. Reputation war ein Teil davon. Unser System ist nur für Fragen und Antworten ausgelegt, nicht für Diskussionen. Es gibt also kein Gebot der Redefreiheit, damit jeder sagen kann, was er will. Die Regel ist einfach: Sie können die gestellte Frage beantworten oder es sein lassen. Freie Meinungsäußerung, die keine Antwort auf die Frage gibt, hat bei Stack Overflow nichts verloren. Dafür gibt es andere Plattformen. Das hilft enorm, da Trolle keinen Nährboden haben.

(Kasten) Joel Spolsky ist Softwareentwickler und Mitgründer von Fog Creek Software. 2008 hat er zusammen mit Jeff Atwood die Entwickler-Community Stack Overflow gestartet. 2011 brachte er das Projektmanagementwerkzeug Trello heraus, das er inzwischen an Atlassian verkauft hat.

Von Anfang an war Jeff und mir klar, dass wir ein Moderationssystem haben müssen, das skaliert. Moderatoren anzustellen, die alles lesen, wäre dafür nicht geeignet. Außerdem würde das neuen Ärger provozieren wie Äußerungen folgender Art: "Warum habt ihr den Kommentar dieses Trolls gelöscht? Ich will ihn zwar nicht lesen, aber er hat ein Recht, seine Meinung zu äußern". Auf die Weise landet man schnell bei sinnlosen Diskussionen, die überhaupt nichts mit dem Beantworten der Fragen zu tun haben.

Daher haben wir ein Community-Moderationssystem gebaut. Um es skalierbar zu machen, erhalten die Beteiligten mit der Zeit immer mehr Rechte, je besser ihr Ruf in Form der Reputation Points ist. Dabei startet jeder mit 10 Punkten, und die höchste Rechteebene liegt bei 20.000 Punkten. Wer so viele Punkte hat, darf quasi alles, was die Angestellten von Stack Overflow machen dürfen. Damit haben wir ein sich selbst regulierendes System, das kaum Aufsicht benötigt.

Ehrlich gesagt ist ein solches System nicht schwer umzusetzen. Wenn ich Plattformen mit einem schlechten Regulierungssystem sehe, das beispielsweise Neonazis oder Hate-Speech eine Bühne bietet, denke ich mir, dass die Betreiber mit ein bisschen Mühe die Probleme vermeiden könnten.

heise Developer: Jetzt gehen wir mal weg von der Plattform und hin zu den Nutzern: Was macht aus deiner Sicht einen guten Entwickler aus?

Spolsky: Einen Unterschied macht, wie gut Entwickler ihre eigenen Probleme lösen beziehungsweise erkennen können. Gute Entwickler können die Probleme auf die unterste Ebene herunterbrechen und exakt beschreiben, welches Ergebnis sie erwartet haben und was stattdessen passiert ist. Wer das kann, findet Hilfe auf Stack Overflow.

Es bringt nichts, nur zu sagen "Es funktioniert nicht", sondern man muss ausdrücken können, wo das Problem liegt. Es hilft auch nichts, wenn Entwickler alles erzählen, was sie in der Projekthistorie getan haben. Der Fokus muss kurz und knapp auf den drei wesentlichen Dingen liegen: Was habe ich gemacht, was habe ich erwartet und was ist passiert. Jemand, der die Antwort kennt, sieht die drei Dinge und kann helfen. Wenn aber eine der drei Informationen fehlt, können andere nur raten.

Auf Stack Overflow sehen wir ständig Fragen in der Form "Hey, ich habe das gemacht, und dann passierte dies". Antwort: "Das ist genau das erwartete Verhalten. Ich sehe das Problem nicht". Die Antwortenden können schließlich nicht wissen, welchen Verlauf der Fragesteller sich gewünscht hatte.

Wer die drei Dinge zusammenfügt, löst übrigens in fünfzig Prozent der Fälle das Problem selbst. Entwickler sprechen vom Quietscheentchen-Debugging: Stell ein Spielzeug neben deinen Rechner und erkläre ihm das Problem so detailliert wie einem Kollegen. Oft erkennst du beim Erläutern das Problem ohne fremde Hilfe.

heise Developer: Und was macht einen guten Arbeitgeber für Entwickler aus? Worauf sollten Programmierer bei der Jobsuche achten?

Spolsky: Es gilt zunächst, einen Blick auf die Arbeitsweise im Unternehmen zu werfen. Machen sie Code-Reviews? Schreiben sie Spezifikationen? Entwickler sollten vor allem sehen, dass das, worauf sie ihre Energie verwenden möchten, zu dem passt, wie das Unternehmen arbeitet.

Ganz wichtig ist, wie ernst das Unternehmen Entwickler nimmt. Dabei geht es um sehr grundlegende Dinge wie die Größe des Monitors und einen ergonomischen Arbeitsplatz. Finde ich einen ruhigen Bereich, in dem ich die Türe hinter mir schließen kann oder sitze ich Schulter an Schulter mit anderen Leuten? Im Endeffekt ist die Frage: Bemüht sich der Arbeitgeber, eine gute Arbeitsatmosphäre für Entwickler zu schaffen, und kennt er deren Bedürfnisse.

heise Developer: Eine Frage passend zum anstehenden Geburtstag von Stack Overflow: Wie haben sich Entwickler im Verlauf der letzten zehn Jahre verändert?

Spolsky: Die vielleicht wichtigste Änderung ist, dass sie vom Low-Level- zum High-Level-Entwickeln übergegangen sind, also nicht mehr jedes Detail eigenhändig programmieren. Daran hat Stack Overflow einen maßgeblichen Anteil.

Ein Beispiel: Im Jahr 2000 starteten wir Fog Creek Software und wollten 2001 anfangen, Kreditkartenzahlungen zu akzeptieren. Daher fing mein Mitgründer Michael Pryor an, Code dafür zu schreiben. Er recherchierte, las Bücher und lernte, wie man den Vorgang in Code umsetzt. Dazu gehörte unter anderem, dass er dicke Bücher darüber lesen musste, wie man Kreditkarteninformationen schützt, wenn man sie auf dem Firmenserver speichert. Er musste sehr detaillierten Code schreiben, der zahlreiche Aspekte abdeckte: Security, Plausibilitätskontrolle der Adressen, Untersuchung der IP-Adressen, um Betrug zu vermeiden. Es dauerte drei Monate, bis wir endlich Zahlungen per Kreditkarte akzeptieren konnten.

Heute kommt ein Entwickler um 9 Uhr ins Büro, integriert externe Anbindungen wie Stripe innerhalb von 20 Minuten, und ab 9:20 Uhr kann das Unternehmen Kreditkartenzahlungen annehmen. Was machen Entwickler nun mit der restlichen Zeit? Sie bauen weitere Dienste ein wie eine Ansicht auf der Landkarte, indem sie beispielsweise Google Maps als Dienst einbinden.

heise Developer: Also haben Entwickler früher lernen müssen, jedes Problem selbst zu lösen, und heute ist es mehr die Frage nach der besten externen Anwendung und deren Einbindung.

Spolsky: Genau, aber wenn sie anfangen, die Tools und Bibliotheken von Drittanbietern zu verwenden, stoßen sie auf neue Schwierigkeiten. Sie haben Google Maps eingebunden, die Kartenansicht funktioniert, aber alle Beschreibungen sind plötzlich auf Japanisch. Wie kann das sein? Sie haben ja gar keine Sprache spezifiziert – es gibt ein magisches Prozedere im Hintergrund, in dem Browser, Programmiersprache und Betriebssystem interagieren.

Irgendjemand kennt die Antwort, aber nicht der Entwickler, der vor zwanzig Minuten angefangen hat, die externe Library einzubinden. Plattformen wie Stack Overflow haben unzählige Nutzer, die das Problem und dessen Lösung kennen. Hier kommen wir wieder zu den drei wesentlichen Dingen, die Entwickler beschreiben müssen: "Ich habe diesen Code geschrieben. Ich wollte Englisch. Ich bekam Japanisch". Dann wird sicher jemand die passende Lösung liefern. Ohne die Hilfe der anderen könnte keine Bibliothek der Welt die Antwort so einfach liefern.

In den letzten Jahren hat somit die Power der Entwickler dramatisch zugenommen. Es gibt so viele zusätzliche Dinge: umfangreiche APIs, Cloud-Anbindung, Open-Source-Bibliotheken, bessere Programmiersprachen. Dadurch werden Developer ein wenig zu einer Art übermächtiger Roboter aus einer Zeichentrickserie. Mit der Macht kommt freilich viel Verantwortung.

heise Developer: Wie hat sich das Bild der Entwickler in den zehn Jahren verändert? Wie nimmt die Außenwelt sie wahr? Das Vorurteil des schwarz gekleideten, pickligen Typen im Keller ist zum Glück nicht mehr vorherrschend, oder?

Spolsky: Zum Glück hat sich da einiges getan. Das liegt nicht zuletzt daran, dass Hollywood Entwickler als positive Figuren und nicht mehr als die Kellerkinder von früher entdeckt hat. Dann gibt es Serien wie "Mr Robot", die Entwickler recht realistisch darstellen.

Wichtiger ist aber, dass es zahlreiche Business-Success-Stories gibt, bei denen der Erfolg maßgeblich dem geschriebenen Code zu verdanken ist. Freilich gibt es hier mit dem Film "The Social Network" wieder ein Beispiel aus Hollywood. Er zeigt mit der Geschichte von Facebook, wie ein Entwickler aus dem Studentenzimmer heraus zum Milliardär aufsteigt. Die Zuschauer haben dabei gesehen, dass Entwickler nicht die schrägen Techniker sind, die irgendwelche nutzlosen Sachen machen, sondern Softwareentwickler bauen die Zukunft. Fast alle Dinge, die ich heute machen kann, aber vor zehn Jahren noch nicht, habe ich Entwicklern zu verdanken.

Ich war in meinem Leben zweimal in Tokio. Beim ersten Mal gab es keine passenden Hilfen und ich hatte große Schwierigkeiten, mich zurechtzufinden. Beim zweiten Mal hatte ich auf meinem iPhone Google Maps und Übersetzungssoftware, sodass mir mein Telefon nicht nur gezeigt hat, wohin ich mit der U-Bahn fahren soll, sondern auch welches Ticket ich kaufen muss. Ich spreche nach wie vor kein Wort Japanisch, habe mich aber dank der Software gut zurechtgefunden.

Die ganzen Änderungen sind den Menschen bewusst: Wir kommunizieren mit unseren Bekannten rund um die Uhr. Nachrichten erreichen uns auch, wenn wir unterwegs sind. All diese Dinge stammen von Softwareentwicklern: Messaging, Maps, Alexa, Spracherkennung und so weiter.

heise Developer: Ticken deutsche Entwickler eigentlich anders als beispielsweise amerikanische?

Spolsky: Nicht wirklich, auch wenn Leute mir das ständig versuchen weiszumachen. Aus meiner Erfahrung sehe ich eher eine weltweit recht einheitliche Community von Entwicklern. Sie arbeiten alle auf recht ähnliche Weise.

Weil deutsche Entwickler meist sehr gut Englisch können, ist es mindestens ebenso wahrscheinlich, wenn nicht sogar wahrscheinlicher, dass sie sich in Open-Source-Projekten engagieren. Sie sind zudem mindestens so aktiv beim Beantworten von Fragen auf Stack Overflow wie englische Muttersprachler.

heise Developer: Gibt es erkennbare Unterschiede bei den Programmiersprachen hinsichtlich der Aktivität auf Stack Overflow?

Spolsky: Nein. Das einzige, was mir aufgefallen ist, dass Cobol-Programmierer gar nicht auftauchen – wenn sie denn überhaupt existieren. Abgesehen davon, sind alle Sprachen etwa gleichmäßig vertreten.

heise Developer: Stack Overflow hat vor Kurzem seine jährliche Entwicklerumfrage veröffentlicht. Gibt es etwas, dass aus deiner Sicht besonders auffällig ist in diesem Jahr?

Spolsky: Es gibt viele interessante Erkenntnisse, die wir dank der weltweiten Umfrage gewonnen haben. Eine Sache, die ich aus der diesjährigen Umfrage interessant fand, waren die Antworten zur Künstlichen Intelligenz. Es ist klar, dass Entwickler, die KI für ihren Code verwenden, in vielerlei Hinsicht die Gesellschaft beeinflussen werden. Ein Teil dieser Verantwortung liegt bei ihnen. Das sehen wir in der ganzen öffentlichen Debatte um soziale Netzwerke, die beispielsweise Wahlen beeinflussen.

Softwareentwicklung und die Entwickler sind ungemein wichtig für die Gesellschaft, da sie meiner Meinung nach den Code schreiben, der das Skript für die Zukunft ist.

Die Fragen stellte Rainald Menge-Sonnentag. (rme)