Wie ich als Anfängerin die Tutorials lese, die du als Entwickler für mich geschrieben hast
(anniemueller.com)- Ein humorvoller Text, der die Verwirrung und Hürden beschreibt, die Anfänger beim Lesen von von Entwicklern geschriebenen technischen Tutorials erleben
- Fachbegriffe und Abkürzungen, die Entwickler ständig verwenden, klingen für Anfänger völlig kontextlos wie eine „Fremdsprache von einem anderen Planeten“
- Installationsschritte, Dateipfade und Terminalbefehle sind oft übermäßig komplex oder lückenhaft erklärt und daher schwer zu verstehen
- Die Autorin weist darauf hin, dass Erklärungen, die aus Entwicklersicht selbstverständlich sind, für Anfänger zu Hindernissen werden, die stundenlange Suche und Versuch-und-Irrtum erfordern
- Der Text erinnert Entwickler, die Tutorials schreiben, daran, aus der Perspektive von Einsteigern freundlicher und klarer zu erklären
Hintergrund und Problemstellung
- Die Autorin beschreibt als Nicht-Entwicklerin und Anfängerin ihre Erfahrungen beim Lesen von Tutorials, die von Entwicklern geschrieben wurden
- Sie schildert satirisch die Situation, in der man überhaupt nicht versteht, was die technischen Begriffe und Tool-Namen im Tutorial eigentlich bedeuten
- Beispiel: Mit fiktiven Techniknamen wie Hoobijag, Snarfus oder Shamrock portal wird betont, wie kompliziert für Anfänger alles wirkt
Übersetzung des Originaltexts
„Hallo! Ich bin Entwickler. Meine einschlägige Erfahrung ist folgende: Ich code mit Hoobijag und verwende gelegentlich jabbernocks, und natürlich mache ich auch ABCDE++++ (aber niemals ABCDE+/^+, das wäre doch absurd, oder? Haha!) Und ich arbeite gern mit Shoobababoo und habe manchmal auch mit kleptomitrons zu tun. Ich kam dazu, bei Company[1] mit Shoobaboo-bezogenem Code zu arbeiten, und das führte mich zu Snarfus. Also, legen wir los!
Über dieses Tutorial
Ich fing damit an, in Snarfus eine ganz einfache Sache[2] zu machen, aber je mehr ich es benutzte, desto mehr Potenzial sah ich! chromus ist zwar etwas verheddert, aber eigentlich unglaublich vielseitig. Also fing ich an, pintafore mit quagmire statt mit hoobastank zu argylieren! Ich weiß, verrückt. Aber irgendwie funktionierte es, und ehrlich gesagt machte es ziemlich Spaß … bis ich auf eine große Hürde stieß: fisterfunk sprach überhaupt nicht mit dem shamrock portal und schickte auch keine beep-boops an Snarfus! Natürlich weißt du, was das bedeutet[3] — jetzt ist der ganze hoob-Tunnel mit gramelions verstopft. Inakzeptabel.
Ich war kurz davor aufzugeben, aber dann wurde mir klar: Wenn man den backside Snarfus stagnator mit dem backside shamrock Klingon troglodyte emulater verbindet, klappt es! Alles machte beep-boops und ding-dongs, und endlich kamen wir beim eigentlichen Thema des Tutorials an. Und ich konnte eine ganz einfache Sache auf die Art tun, wie ich es wollte! Ziemlich cool[4].
Also richtet man es so ein:
- Gib im Terminal
ajkl;gawgor;iqeg;iJLkqen. wl;R aw;oeiga 4648664 arjarwgj;llj;ja fadgfgajkljl; wlj;sdjk;lfasein - Geh jetzt zu
folder/hidden/deep/in/the/file/system/surprise!.fileund kopiere den Dateiinhalt. Falls er dort nicht ist, könnte er auch inlibrary/library/library/llibrary/liiiiiibrarrrary/llllliiiiibrary/hidden/hidden/hiding/you can’t find me/hidden/nope/never/hahahahereiam.fileliegen - Geh wieder zurück ins Terminal, füge den Dateiinhalt ein und gib
64A786AGR45JAR; rdja;jg [[]][[]][[]][[]]][[]()()()()()()()()(){{}{}{}|{}{|}{}{|}{ ////////////////!! !!!! !! //// !!! agjlkargji;lwej;OI [ASRGASG[]ASGDASG[]EAEadgasg[]EAGE[edaga][]ahgr-0-0=-0-=0-=0=0-0=-0-=0=-0-=0=-0=-0!!!ein - Boop![5]
- Öffne Snarfus und lade die Datei hoch, die du gerade erstellt hast
- Nur zum Spaß kannst du auch
—()()(]]asdg a=-do —cd go cd stay —sususudododo baby shark—][]ausführen, wenn du den sham der chronostatiomatrix aufheben willst. Optional - Fertig!
Lass mich wissen, wie es läuft. Mich würde auch interessieren, ob jemand diese Methode mit GewGawGamma oder ometer2.7 verwendet.“
Erläuterung der Fußnoten
- Scheint eine bekannte Firma zu sein, aber ich kenne sie nicht
- Überhaupt nicht einfach
- Ich habe keine Ahnung, was das bedeutet
- Cool ist es schon, aber verstanden habe ich es nicht. Trotzdem schön, dass du es kannst
- Die ersten drei Schritte werden ungefähr 7 Stunden und 193 Suchanfragen brauchen. Aber wenn man Boop! erreicht, ist es ein großartiger Kick
Zum Schluss
- „Das ist nur aus Spaß geschrieben. Ein aufrichtiger Dank an alle, die ihr Wissen teilen und Tutorials schreiben.“
1 Kommentare
Hacker-News-Kommentar
Ich kann den Ansatz nur sehr empfehlen, jemanden mit wirklich minimalem Vorwissen eine Doku Schritt für Schritt durchgehen zu lassen und dabei still daneben zu sitzen. Dabei sollte man überhaupt nicht helfen, sondern nur beobachten. So merkt man schnell, wo Nutzer hängen bleiben, welche Dinge dem Autor so vertraut sind, dass er sie gar nicht mehr wahrnimmt, oder welche Einstellungen und Voraussetzungen fehlen. Wenn die Person ihr Ziel ohne größeren Stress erreicht, hat die Dokumentation bestanden. Wenn nicht, sollte man jede einzelne Stelle notieren, an der es scheitert, sie verbessern und dann mit einer neuen Person erneut testen. Ich habe sogar Dokumentation großer Konzerne wie FAANG erlebt, die diesen Test nicht bestehen würde. Ich bin unserer Organisation wirklich dankbar, dass wir hier hohe Maßstäbe haben. Wenn man Dokumentation so erstellt, braucht es weniger wiederkehrende Meetings, Support-Anfragen und Videoanrufe, und die Nutzer können Probleme eher selbst lösen
Der Titel des Blogposts war „Ich als Nicht-Entwicklerin lese ein Tutorial, das du als Entwickler für mich geschrieben hast“, aber auf HN wurde daraus „Ich als Anfängerin in der Entwicklung ...“. Nicht-Entwickler und Junior-Entwickler sind etwas völlig anderes. Für Leute aus HR oder komplette Quereinsteiger können schon interne Begriffe oder Grundkonzepte völlig unbekannt sein. Wenn Entwickler dafür dann Erklärungen schreiben, die komplett an der Zielgruppe vorbeigehen, ist Kritik absolut berechtigt. Ein Junior-Entwickler dagegen kann auch schwierige neue Begriffe oder Konzepte selbst nachschlagen und später vielleicht sogar die Doku für die nächsten Einsteiger aktualisieren
Die meisten Tutorials sind nicht für Nicht-Entwickler gedacht, sondern eher dafür, dass Entwickler Informationen untereinander austauschen. In dieser Hinsicht ähneln sie wissenschaftlichen Arbeiten, die sich an eine bestimmte Wissensgemeinschaft richten. Daran ist nichts grundsätzlich falsch. Tatsächlich finde ich es auch praktisch, wenn ich später meine eigenen alten Notizen wiederfinden kann. Deshalb gibt es zusätzlich eigene Kurse und Lehrmaterialien für Anfänger. Wenn Tutorials jedes Mal mit 30.000 Zeichen Hintergrundwissen anfangen müssten, würde niemand bis zum Ende lesen. Andererseits kann selbst zusätzliche Kontextinformation für manche Menschen immer noch nicht ausreichen
Viele Technical Writer sind sich des „Fluchs des Wissens“ nicht wirklich bewusst. Ich habe früher eine WoW-Gilde geleitet. Da mussten 40 Leute gleichzeitig in einen Dungeon, koordiniert mehrere Bosse bekämpfen, und ein einziger kleiner Fehler konnte den kompletten Wipe bedeuten. Deshalb versammelten sich alle in Teamspeak, und wir erklärten die Strategien vorher ausführlich. Die wichtigste Lehre daraus war: „Gehen Sie davon aus, dass die andere Person nicht weiß, wovon Sie sprechen“ und „Wiederholen Sie Dinge, auch wenn Sie sie schon einmal gesagt haben“. Die meisten unterbrechen nicht, um Fragen zu stellen, selbst wenn sie etwas nicht verstehen. Wenn man sich also ständig fragt, welche Begriffe man gerade verwendet und ob das Gegenüber das Konzept vielleicht gar nicht kennt, und dann passende Erläuterungen ergänzt, hat das enorme Wirkung. Diese Erfahrung mit Kommunikation lässt sich direkt auf Technical Communication übertragen. Wer sich bewusst darin übt, den Fluch des Wissens zu überwinden, verbessert das Verständnis anderer deutlich
Viele Projekt-Websites oder GitHub-READMEs sind so geschrieben, als wüsste jeder Leser sowieso schon alles. Wenn ich Doku lese, wünsche ich mir mehr Sorgfalt bei Fragen wie: Warum braucht man dieses Tool überhaupt? Welches Problem löst es? Wie unterscheidet es sich von ähnlichen Tools? Wird es heute noch aktiv genutzt? Bekommt man genug Material an die Hand, um Vor- und Nachteile selbst abzuwägen? Schon fünf Minuten Nachdenken darüber, was selbst ein Anfänger wohl wissen möchte, würden die Zugänglichkeit massiv verbessern. Es ist wirklich schade, wenn ein Projekt, in das Jahre Arbeit geflossen sind, immer wieder daran scheitert, dass Nutzer frustriert aufgeben, ohne dass die Autoren überhaupt merken, dass sie fast gewonnen waren. Und es ist wichtig, die Rolle verschiedener Dokumentationsarten zu verstehen. https://diataxis.fr/ ist dafür ein guter Ausgangspunkt
Das Wichtigste beim Schreiben von Dokumentation ist, das Wissensniveau der Zielgruppe klar festzulegen. Ob man die Baseline hoch oder niedrig ansetzt, ist zweitrangig; wenn man sich aber zu weit von dieser Ausgangslinie entfernt, werden sich zwangsläufig einige Leser beschweren. In solchen Situationen kann man Ausreden suchen oder nach Lösungen streben. Tatsächlich lässt sich heute mit AI, Google, Büchern und Ähnlichem fast alles schnell nachschlagen. Wenn man wissen will, was „Shoobababoo“ ist oder warum man „quagmire“ verwendet, kann man danach suchen. Idealerweise sollte Dokumentation natürlich so weit wie möglich in sich geschlossen sein und ohne externe Quellen auskommen, aber die Welt ist nicht immer so entgegenkommend
Ein Prinzip, das ich in vielen Jahren Mentoring immer betont habe, lautet: Wissen teilt man am besten. Wenn man etwas weiß, sollte man es erklären. Wenn die andere Person es schon wusste, hat man ihr im schlimmsten Fall nur Sicherheit gegeben; wenn nicht, war es eine große Hilfe. Manchmal kommt der Vorwurf, das sei zu ausschweifend, aber wenn ich sage: „Das habe ich auch für neue Mitarbeitende, Kunden oder Manager mitgeschrieben, die das vielleicht lesen“, verstehen es die meisten. Dieses Prinzip gilt für Entwicklung, Reporting, Personalführung und eigentlich alles andere
Ich habe kürzlich versucht, mit Gitlab eine App auf DigitalOcean Kubernetes auszurollen, und musste dabei 3 oder 4 Third-Party-Tools verwenden, ohne dass erklärt wurde, was sie tun. Sogar Namen und Pfade für die Kommandozeile musste ich selbst herausfinden. Es wurde nicht erklärt, was der Maßstab ist und worauf man eigentlich achten soll. Obwohl ich mit Docker ziemlich vertraut bin, war die Dokumentation dieser Tools so unfreundlich, dass weniger davon fast besser gewesen wäre
Der Hauptgrund, warum ich aufgehört habe, Bücher zu schreiben, und stattdessen eine Tutorial-Website gebaut habe, war die Möglichkeit, Tutorials mit interaktiven Werkzeugen wie dem
<abbr>-Element für mehr Menschen zugänglich zu machen. Trotzdem frustriert es mich, dass Webinhalte heute oft immer noch auf dem Funktionsniveau eines Papierbuchs stehen. Es gibt Klicks, Hover-Zustände, einklappbare Bereiche, Videos, Nutzerreaktionen und vieles mehr, aber stattdessen bekommt man meist nur endlose Textwände. Selbst der OP verwendet Fußnoten, die einen beim Anklicken ganz ans Seitenende springen lassen, und das fühlt sich wie verschenktes Potenzial des Webs anIn Wahrheit bestehen viele Tutorials – weder für Nicht-Entwickler noch für Entwickler – einfach aus unnötig langen Texten und überspringen am Ende trotzdem genau die ein oder zwei entscheidenden Schritte. Der Hauptgrund ist wohl, dass es schwierig ist, so zu schreiben, wie man jemandem etwas tatsächlich erklären würde. Was nur im eigenen Kopf existiert und nicht ausgeschrieben wird, kann der Leser unmöglich wissen. Statt „Tutorial“ sollte man oft eher im Stil eines „Cookbook“ schreiben, damit es in der Praxis nützlicher ist und nicht mit der nächsten Version sofort unbrauchbar wird