February 3, 2020
Scratch Other People’s Itchesachieve more meaning and feel less alone
This post is part of a series, Obvious Heresies.
“Every good work of software starts by scratching a developer’s personal itch.” Quoth Eric Raymond in his much-quoted essay. And he may have been right.
But only for very small values of “good”. Values that developers, and only developers, can be expected to appreciate. Values that largely dismiss the pleas of other kinds of people, who need and want very different kinds of programs than hackers do. The kinds of people who aren’t involved in the scratching work.
Elevating the pursuit of “good” by and for hackers to the status of paradigmatic virtue has limited what hackers and hackerdom can do, be, and achieve. It has reinforced and exacerbated its status as an insular subculture seeking primarily to be left alone with its computer, rather than as a viable counterculture poised to affect society beyond its own weal. It has led many of us to leave that culture, to question or even to turn on it, as churning out the next hot dev tool, framework, library, or infrastructure patch fails to bestow the satisfaction 2000s-era hype loudly promised.
True enough, scratching a personal itch guarantees an innate sense of the problem to be solved, as well as access to a ready source of feedback and validation. Substituting ourselves for all the other people in the equation to solve contributes to an experience of enlightened simplicity, low friction, and immediate feedback. In so many words, self-service is The Fast Path, the way we got addicted to programming in the first place, the road that ever beckons with promise of the next good coding high. Hackers discovered itch scratching, got hooked, and reinforced the practice long before ESR gave doing what we want and only what we want the pomp and posture of the broadly acclaimed, written word. It was latent in the natural human fascination with interactive computing from long before our time.
All at terrible cost. Shortcuts that allow us to work around, rather than with, other kinds of people atrophy the most challenging, important, and rewarding skills we can develop: how to collaborate with, understand, and serve the needs of people who don’t code. Self-service, which is what itch scratching is from anyone else’s point of view, short-circuits nearly all the processes that connect hackers to the non-hacker world. From idea validation to problem statement to preliminary feedback, validation, revision, and evolution, self-service obviates need, and snuffs out opportunity, for intimate non-hacker involvement.
Cathedral-style development was often a drag. But at least the architects were typically users, or directly accountable to users. The necessary evolution was “agile”, which came to mean nearly anything, but at least ongoing user accountability. Not leaving hackers to please themselves by their own devices and hoping some of those devices will prove useful to someone else.
Insidiously, itch scratching also fairly well guarantees that, over the run of projects, when we do see outside feedback, it will come from deep within our queer tribe, not from outside it. Solving a hacker problem, even a widely confronted hacker problem, tends to fill our work and social lives with still more hackers. More than that: with hackers from our own niche, style, and pattern of development. Hackers who run our operating system. Hackers who write our languages. Hackers who share our tools. Hackers who go to our conferences. A tight, effective feedback loop, reinforcing itself.
If self-styled hacking feels like a monoculture now, imagine it twenty years ago. I don’t mean to blame or guilt-burden anyone else for reinforcing the stereotypical demography of budding software hackers at the end of the last century. But given that hackerdom as it arose tended well-off, white, English-speaking, young, and male, and that we well-off, white, English-speaking, young males and our equally talented but differently described compatriots had every means to notice: Which tools and platforms did we adopt? Which values did we celebrate? Which assumptions did we bake into the collective, unexamined unconscious? Tools by hackers and for hackers, inscrutable to newcomers and the outside world. Platforms of our own making, where the laity fears to tread, featuring social features now widely remarked in the general population for their abuse potential. Memes like virtuous itch scratching, which filtered out the diversity we had and reinforced the insular monoculture we were becoming, kept us looking back on, and out for, ourselves.
The antidote to that tendency, and the vulnerability that monoculture entails, is affirmative, intentional, self-conscious promiscuity. Replace the “kernel envy” of operating system, compiler, and other deep-systems programming with public and private esteem for applications people, especially nontechnical applications people, who need and command a broader range of technical, nontechnical, and paratechnical skills. Reapply the self-conscious drive for feedback that we cultivate in the technical domain to measuring and validating the good we hope to achieve by our efforts, rather than settling for glittering generalities and the occasional note of random thanks. Transition from self-celebration of hackers as idiosyncratic polyglots to a proudly hyphenated programmingdom. Musician-programmer, not programmer who separately plays music. Activist-programmer, not programmer who separately participates in politics. Equal, not separate.
Broadening the horizons of the kind of “good” software we want to make to what people as unlike us as possible need us to make, and focusing on how best to go about making that software, gives us back what insularity takes away: a taller, broader, rapidly shifting skill tree worth climbing. It gives us back resistance to overcome, ever a prerequisite for satisfaction, regardless of our stage of technical development. It compels us to range broadly, and learn a bit of what other specialties know and find, rather than to find a deep, dark technical well and sink inside it.
In short, scratching other people’s itches, rather than our own, opens us back up to the rest of the world, ever-giving font of the new and surprising. As much personal confirmation, achievement, and fulfillment as you can earn the hard way.
Your thoughts and feedback are always welcome by e-mail.
back to top — edit on GitHub — revision history