Interdisziplinäre Einblicke in Coding-Praxis

Ein Gastbeitrag von Andreas Bischof*

Code Literacy – die Fähigkeit Code zu verstehen – ist nicht nur eine Frage des Programmieren-Könnens. Sie bedeutet auch, die Umstände der Code-Produktion und -Produzenten zu verstehen. Schließlich legen die Bedingungen, unter denen Code entsteht, den Grundriss für die durch die Software ermöglichten Freiräume und Begrenzungen. Da die Arbeit an Human-Computer-Interfaces zu den lebendigsten Bereichen der Informationstechnik gehört und sich aus so unterschiedlichen Communities wie User Experience-Designern oder Robotikforschern speist, ist es naiv anzunehmen, es gäbe eine Kultur des Codens. Als Doktoranden an einem interdisziplinären Kolleg erleben wir diese Unterschiede im Umgang mit Software und Nutzungsszenarien in unserer täglichen Arbeit. Gleichzeitig zeigt uns der Blick in die mit Code und Mensch-Maschine-Schnittstellen befassten Fachgemeinschaften, dass eine Sensibilität für die Vielfalt des Codens und vor allem seine Folgen nicht selbstverständlich ist.

Deswegen haben wir im September 2013 auf der interdisziplinären Tagung „Mensch & Computer – Interaktive Vielfalt“ einen Workshop zu einem der drängendsten Themen interdisziplinärer Zusammenarbeit an interaktiver Technik ausgerichtet: Die Frage der Methodenwahl dient nicht nur der Validität und Reliabilität von Ergebnissen, sondern eröffnet auch einen spezifisch strukturierten und strukturierenden Zugang zu den Interaktionen von Mensch und Maschine. Diese Reflexivität durch eine interdisziplinäre Diskussion mit Teilnehmerinnen aus Wirtschaftsinformatik, Psychologie, Medieninformatik, UX-Consultants und „Human Factors“ zu befördern, war unser Ziel.

Ein (zu) ehrgeiziges Ziel für vier Stunden Workshop, denn es umfasst sowohl das konkrete Handwerkszeug quantitativ als auch qualitativ empirischer Methoden der Erhebung und Auswertung von Daten bis hin zu erkenntnistheoretischen Fragen zur Beobachtbarkeit und Interpretation von Mensch-Maschine-Interaktionen an sich – und das alles gemessen an der wiederkehrenden Frage: „Und wie soll ich das in meinem Projekt implementieren?“ Kein Wunder also, dass es nicht durchgängig leicht war, den Abstraktionsfahrstuhl auf dem richtigen Stockwerk zum Halten zu bringen. Diese Werkstattatmosphäre der Auseinandersetzung führte aber auch zu äußerst fruchtbaren Erfahrungen: z. B. die Session von Michael Heidt, der die Möglichkeit einer interdisziplinären Methodologie für und durch Code thematisierte. Dabei fokussiert er eine Leerstelle, die dem Befund der Code Literacy ähnelt: „Throughout our observations of relevant social research practices, we were confronted with a surprising lack of understanding and a surprising lack of methods addressing the coding process“ (Heidt 2013, in press).

Die Realisierbarkeit einer gemeinsam geteilten, formalisierbaren Code-Beschreibungssprache für Programmierende, nicht-programmierende Kolleginnen und Userinnen wurde in der Diskussion weitgehend problematisiert. Dafür sei Code im Vergleich zu anderen Artefakten zu komplex und die Coding-Praxis durch zu viele ineinander verschachtelte Kommunikationsprozesse gekennzeichnet. Ausgehend von der Frage nach Erfahrungen im interdisziplinären oder dem einleitenden Argument folgend „interkulturellen“ Arbeiten an Quellcode entwickelte sich dafür eine spannende Diskussion über Code als Praxis. Das sozialwissenschaftlich häufig thematisierte Blackboxing, also „Verunsichtbaren“ konkreter Verfahrensweisen von Soft- und Hardware, wurde von den Informatikerinnen im Workshop zum Beispiel als originäre Eigenschaft ihres Arbeitsalltags berichtet. Auch direkte Mitarbeiterinnen und Auftraggeberinnen behandeln selten konkreten Code, sondern verlangen (zumeist quantitativ skalierbaren) Output. Darüber hinaus wurden überaschenderweise ästhetische Dimensionen des Programmierens herausgearbeitet: „Coding ist für mich auch immer eine Stilfrage“, sagte ein Teilnehmer. Bourdieu hätte seine wahre Freude an diesen feinen Unterschieden der Coding-Praxis!

* Andreas Bischof, M.A., ist Kulturwissenschaftler und Doktorand des DFG-Graduiertienkollegs „CrossWorlds“ an der TU Chemnitz. Den hier beschriebenen Workshop konzipierte er gemeinsam mit Benny Liebold. Darüber hinaus befasst sich Bischof in seinem persönlichen Blog mit „(Social) Science in the Making“.

Code Literacy oder Digitaler Alphabetismus

Ein Gastbeitrag von Jan Varwig

Der folgende Text ist eine deutsche Übersetzung von „Why Coding is and is Not The New Literacy“, die ich für das Code Literacy Blog geschrieben habe. Hier fehlt das Originalzitat von Pierce Gleeson, der nur auf Englisch im ursprünglichen Post vorliegt und ohne den der erste Absatz ein wenig den Bezug verliert.

Wenn Menschen im Zusammenhang mit Programmierung von „Code Literacy“ oder „digitalem Alphabetismus“ sprechen, ist damit nicht gemeint, dass Programmieren eine dem Lesen und Schreiben ähnliche Grundfähigkeit ist, sondern dass Programmieren die Beherrschung von Schriftsprache als Unterscheidungsmerkmal der intellektuellen Elite ersetzt.

Damit diese Argumentation nachvollzogen werden kann, ist es nötig, zunächst den Begriff des Programmierens zu klären. Das Wesentliche ist nämlich nicht, in der Lage zu sein, tatsächlich Computerprogramme zu schreiben. Wichtiger ist, ein Verständnis dafür zu entwickeln, wie Algorithmen Informationen verarbeiten, wie unsere Welt zunehmend von Maschinen und abstrakten mathematischen Modellen geformt und gelenkt wird, kleinen hochspezialisierten Teilen, die nach strengen Regeln zusammenarbeiten, um neue, mächtigere Fähigkeiten zu entwickeln.

Wenn das Studium der Informatik mich eines gelehrt hat, dann Probleme in ihre Teile zu zerlegen und Nebensächliches vom Wesentlichen zu trennen, bis sich die Essenz offenbart und sich die Lösung fast von selbst präsentiert. Genau dies ist die wichtigste Fähigkeit der Informatiker. Ist diese Denkweise einmal verinnerlicht, verändert sich für immer die Herangehensweise an Probleme jeder Art.

So gut wie jeder kann heute lesen und schreiben, aber nur wenige Menschen verfügen über allgemeine Fertigkeiten zur Lösung von Problemen. Programmieren ist im Grunde nichts anderes als das: formalisiertes und strukturiertes Analysieren und Lösen von Problemen, kombiniert mit eher unwesentlichem Hintergrundwissen über die Syntax der Programmiersprache in der man sich gerade bewegt. Um Programmieren zu können braucht man daher eigentlich keine Ausbildung als Softwareentwickler. Jeder der schonmal mit Excel gearbeitet hat, hat schon programmiert, vielleicht ohne es zu wissen.

Theoretisch in der Lage sein etwas tun zu können und es tatsächlich zu tun, sind zwei sehr verschiedene Dinge. In diesem Fall ist es wichtiger, theoretisch und allgemein zu verstehen, was beim Programmieren vor sich geht, nicht die praktische Erfahrung aus Jahren in der Softwareentwicklung. Dieses Verständnis kommt fast von allein wenn man sich mit strukturiertem Denken beschäftigt, sei es in der Wissenschaft oder der Geschäftswelt.

Es lässt sich kaum verleugnen dass in einer Gesellschaft die besessen von Informationen und Effizienz ist, Menschen die Probleme lösen und Systeme durchschauen können einen wesentlichen Vorteil haben, so wie es in der Vergangenheit Menschen mit Schriftkenntnis gegenüber Analphabeten hatten.