- Der legendäre Facebook-Engineer Bob veröffentlichte Facebook Groups und erzielte bei Hackathons immer wieder Ergebnisse – auch ohne ausgefeilte Entwicklungsumgebung
- Er nutzte nur das standardmäßige Sublime Text und
printf-Logs; die Syntaxhervorhebung war ungenau, Live Reloading und Debugger gab es ebenfalls nicht - Die Entwickler in seinem Umfeld hingegen betrachteten komplexe Tool-Konfigurationen wie Vim-Syntaxhervorhebung und Snippets,
tmux,mosh,hphpd-Shortcuts und Git-Aliasse als Kern ihrer Produktivität - Für Bobs Hackathon-Sieg waren weniger Editor-Einstellungen entscheidend als vielmehr Produktgespür und Intuition – also die Fähigkeit zu beurteilen, was gebaut werden sollte
- Neue Arbeitsweisen können Veränderungen bewirken, doch letztlich entstehen Ergebnisse dadurch, das richtige Problem zu lösen
Der Unterschied zwischen komplexen Tools und tatsächlichen Ergebnissen
- Bob war ein produktiver Engineer, der Facebook Groups veröffentlichte, und eine legendäre Figur, die bei Hackathons immer wieder Ergebnisse lieferte
- Ein Kollege, der damals stark auf Produktivität fokussiert war, nutzte eine selbst erstellte Vim-Syntaxhervorhebung und Snippets für Hack, Facebooks PHP-Dialekt
- Er ließ
tmuxübermoshlaufen und hatte dazu maßgeschneidertehphpd-Shortcuts sowie Git-Aliasse konfiguriert
- Er ließ
- Bobs Arbeitsweise war im Gegensatz dazu äußerst schlicht
- Er nutzte Sublime Text ohne zusätzliche Konfiguration, wodurch ungefähr die Hälfte der Codefarben falsch angezeigt wurde
- Statt Live Reloading oder Debugger setzte er
printfin den Code und wartete darauf, dass Logs erschienen
- Bei diesem Hackathon gewann Bob; soweit erinnerlich, handelte es sich bei seiner Arbeit um eine Funktion, die Kauf- und Verkaufsbeiträge in Facebook Groups unterstützte
- Diese Funktion entwickelte sich später zu Facebook Marketplace
Wie man arbeitet oder was man baut
- Wer sich auf komplexe Tools konzentriert, kann sich im Wie der Arbeitsweise verlieren und das Was – den eigentlichen Gegenstand der Arbeit – aus dem Blick verlieren
- Der Kern von Bobs hoher Produktivität lag nicht in seinen Editor-Einstellungen, sondern in Produktgespür und Intuition
- Auf X tauchen täglich neue Arbeitsweisen auf, die so wirken, als könnten sie alles verändern; einige davon haben tatsächlich das Potenzial, Veränderungen zu bewirken
- Das Wichtigste ist jedoch nicht das Tool oder die Arbeitsweise selbst, sondern das richtige Problem zu lösen
1 Kommentare
Hacker-News-Kommentare
Die Trennung zwischen dem Handwerker, der Werkzeuge schont, und Menschen, die von Werkzeugen besessen sind, ist falsch. Gute Werkzeuge sind kein Spielzeug, sondern Mittel zum Zweck, und auch ich habe mehrere Tage darauf verwendet, Shell-Skripte, Emacs-Funktionen und Fenster-Layout-Tools zu bauen, die zu meinem Workflow passen
Das Ergebnis war, dass Syntax-Highlighting, Code-Navigation und -Analyse, Bildschirmaufteilung und Git-Operationen mit nur wenigen Tastendrücken möglich wurden und ablenkende Elemente verschwanden. Man sollte in die Arbeitsumgebung investieren – etwa in Stuhl, Shell-Prompt und Editor –, sie dann aber, sobald alles bequem ist, vergessen und sich auf das eigentliche Problem konzentrieren
Endloses Tuning von Werkzeugen kann allerdings ein Signal dafür sein, dass man mühsame und wenig spaßige Aufgaben vermeiden will; das ist kein so simples Problem, dass man einfach dem Werkzeug die Schuld geben könnte
Gerade Werkzeuge im LLM-Zeitalter zwingen einen dazu, ständig zwischen mehreren Agenten und Terminals hin- und herzuwechseln. Diese häufigen Kontextwechsel rauben einem Freude und Flow, daher hoffe ich, dass jemand eine Lösung findet
Ich habe viele Techniker gesehen, die mehr Zeit mit der Optimierung ihrer Umgebungskonfiguration verbringen als mit dem eigentlichen Bauen, und ich selbst war auch so. Die Vorstellung, man müsse die Eingabegeschwindigkeit erhöhen, weil 90 % der Coding-Zeit aus Tippen bestünden, ist falsch; 90 % der Zeit sollten ins Denken gehen, und der Großteil davon ins Lesen
Programmieren zum richtigen Zeitpunkt ist eher Tipparbeit, bei der eine bereits verstandene Lösung konkretisiert wird
In dem Sinn, dass AI die Einstiegshürde senkt, ist sie auch eine weitere Form der Umgebungsverbesserung. Als ich früher von einer QA-Rolle in die Entwicklung wechseln wollte und durch Europa reiste, um InterviewCake zu lernen, vergeudete ich ebenfalls Zeit damit, statt Probleme zu lösen meinen Editor zu konfigurieren
Vielleicht ist das ein Symptom von ADHS. Nach einer medikamentösen Behandlung hat sich meine Produktivität zuletzt stark verändert, und ich hätte beinahe geweint bei dem Gedanken, die Hälfte meines Lebens damit vergeudet zu haben, Einstellungen zu perfektionieren, statt echte Arbeit zu erledigen
Es gibt VC-finanzierte Unternehmen, die keine Produkte bauen können, die tatsächlich genutzt oder bezahlt werden. Um ihre Bewertung zu rechtfertigen, zeigen sie, wie beschäftigt und produktiv sie sind, und der AI-Hype könnte im selben Kontext stehen, insofern er sich ebenfalls stärker auf Produktivität und Methoden konzentriert als auf das, was überhaupt gebaut werden soll
https://components.news/the-gamer-and-the-nihilist/ vergleicht solche nihilistischen Startups mit Game-Studios, die Produkte bauen, für die Menschen tatsächlich zahlen und die sie benutzen. In einer Wirtschaft, in der Produktivitäts-Apps fast 40 % der Product-Hunt-Ergebnisse ausmachen, fließt Arbeit mitunter eher darin, so auszusehen, als würde man etwas bauen, statt tatsächlich etwas zu bauen
Ich baue oder nutze Produktivitätswerkzeuge nur so weit, dass ich nicht zurückfalle; alles darüber hinaus halte ich für eine Falle. Früher habe ich das einmal pro Quartal überprüft, aber seit AI verbringe ich 1–2 Tage pro Woche mit der Meta-Arbeit, Werkzeuge zu verbessern, und ich erwarte, dass das zurückgeht, sobald sich die entsprechenden Tools standardisieren
Wenn das Bild vom Werkzeugexperten zu stark wird, verpasst man nicht nur tatsächlich wertvolle Arbeit, sondern gilt auch als jemand mit geheimen Produktivitätskniffen. Wenn der Unterschied dann doch nicht so groß ist wie erwartet, könnte auch anderen Urteilen weniger vertraut werden
Je weniger Zeit ich vor dem Computer verbracht habe, desto mehr habe ich geschafft, und als ich meine Monitore von drei auf einen reduziert habe, stieg meine Produktivität deutlich. Die meisten Probleme löse ich beim Gemüseschneiden oder Rasenmähen; nur weil man vor glänzender Technik sitzt, trifft man nicht automatisch schnellere oder bessere Entscheidungen
Dass ich oft bessere Ergebnisse liefere als die Entwicklungsteams meiner Kunden, liegt auch daran, dass ich kein Festangestellter bin und mir erlauben kann, ausreichend innezuhalten und langsam nachzudenken. Produktivitätstheater wie der Druck, den Teams-Status auf Grün zu halten, führt in vielen Organisationen zu törichten Entscheidungen
Wenn ich darüber nachdenke, warum Produktivität überhaupt existiert, komme ich zu der Hypothese, dass sie ein Versuch ist, Schmerz zu reduzieren. Viele Performance-Optimierungen – auch die der Produktivität von Programmierern – werden oft zum Zufluchtsort von Ingenieuren, die dem Schmerz von Unklarheit im Problemraum, Organisationspolitik, Mehrdeutigkeit und dem Risiko des Scheiterns entgehen wollen
Um aber reale Probleme zu lösen, muss man sich der Wirklichkeit stellen: die Workflows der Nutzer bis ins Langweilige detailliert prüfen, eine gemeinsame Strategie klar vorschlagen, um die Kooperation anderer zu gewinnen, und so weiter. Man muss den Schmerz selbst nicht glorifizieren, aber guten Ergebnissen wohnt ein Training wie bei Athleten inne, und man muss die Fähigkeit entwickeln, den für den Wettkampf nötigen Schmerz zu bewältigen
Der Kern ist, wie leicht sich Anerkennung bekommen lässt. Glänzende Werkzeuge kann jeder sehen und bewundern, aber nur wenige erkennen in einem leeren Editor oder Skelettcode ein großartiges neues Produkt oder Feature. Deshalb sammelt sich Aufmerksamkeit bei gut sichtbaren Werkzeugen, während die schwierige und unklare Frage, was eigentlich gebaut werden soll, vernachlässigt wird
Auf Werkzeuge wende ich Marie-Kondo-Kriterien an. Wenn ihre Nutzung keine Freude macht und mein Leben nicht einfacher macht, werfe ich sie weg; andernfalls behalte ich sie
2004 erhielt ein kleines Team, das überwiegend aus Junior-Entwicklern bestand, eine hervorragende und umfangreiche Java-Schulung. Vor der Schulung diskutierten wir verbissen und waren besessen von den Einstellungen von IntelliJ und Eclipse, doch der Dozent empfahl überraschenderweise, nur die grundlegenden JDK-Werkzeuge und Notepad zu verwenden
Das Ziel war, uns beizubringen, was intern passiert, und außerdem meinte er, bei der Produktivität werde es vermutlich keinen großen Unterschied geben
Der Grund, warum man von der Optimierung seiner Umgebung so besessen sein kann, ist, dass die Verbindung zwischen konzentrierter Anstrengung und Belohnung sichtbar, konkret und physisch ist. Abstraktes Lernen ist das nicht. Es gibt viel mehr Lernaufgaben als Stühle zu optimieren, also wäre es schön, Wege zu finden, damit sich auch abstraktes Lernen konkreter anfühlt
Es geht nicht um Produktivität, sondern um den Spaß, mit Spielzeug zu spielen