Home | Archive | Courses | Talks | YouTube | EmacsCast | Bookshelf | Twitter | RSS
User is dead. User remains dead. And we have killed him. How shall we comfort ourselves, the developers, the designers, the growth hackers? What was holiest and the final judge of all that the world has yet owned has bled to death under our a/b-tests and new features. Who will wipe this blood off us? What garbage collector is there for us to clean ourselves? What conference of atonement, what disruptive technology, what sacred meeting shall we have to invent? Is not the greatness of this deed too great for us? Must we ourselves not become users simply to appear worthy of it?
By saying “God is dead” Friedrich Nietzsche tried to express the fear that the decline of religion and the rise of nihilism would plunge the world into chaos.
Whether you believe that people require an external source of morality, or you accept the numerous philosophical and scientific arguments for intrinsic morality in behavior of complex animals, the fear remains relevant. The fear is not necessarily about God or religion, but about a moral compass, or lack thereof.
My arguably tasteless rewrite of Nietzsche’s passage expresses another fear, which, I sincerely hope many software developers share. For a long time, we had an external source of morality in software development. User. Simultaneously ephemeral stick figure of UML diagrams and a very real human, a friend, a colleague. The goal, the point, the final judge of success. Your product either satisfied the user or failed. Your software may occasionally have charmed User, but don’t be fooled, you are but a servant.
“Move fast and break things”, “disruption” and “growth” have killed User. No more do we try to offer invisible quality. Instead of software that blends into background by virtue of its non-obtrusive robustness and simplicity, we aspire to create The Product Experience. The first pleases User. The latter pleases Shareholder.
The Holy Texts are forgotten or, worse, perverted. Apple’s famous Human Interface Guidelines ironically describe the many ways in which modern Apple products do not behave. The Agile manifesto became The Certified Agile Coach Training Program and a cargo cult. The very first principle of the Agile Manifesto states:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
How many of us feel this during another a/b-test-driven, metric-based sprint?
The 7th principle is:
Working software is the primary measure of progress.
An honest, but naive assumption that we all share a similar criterion for “working”. Turns out, the height of the bar is inversely proportional to the proximity of another funding round. By the 90s standards, a lot of today’s software is just defunct.
When User dies, only Beta Tester remains. Beta Tester is not human. It’s an expendable tool, a lab rat, a database record.
What can we do as developers? Honestly, I don’t know. Coming up with a manifesto, a set of principles, another guideline — it all seems futile now. The problem isn’t that we forgot about User. We just collectively adapted to the new definition of normal. Breaking changes are normal. Updates for the sake of updates are normal. The house is on fire, but this is normal.
What can we do?.. “Must we ourselves not become users?”