The other day, a coworker echoed the oft-repeated notion that a certain degree of OCD is important for developers. I can see what he meant, but it set me thinking about my own experiences with compulsion.
Let me tell you a story.
When I was a kid, my elementary school had a large asphalt area with four equidistant, elevated buckets. Each bucket had four exits. When you'd toss a dodgeball into one, it would roll randomly out one of the sides.
Recess was chaos. Kids would run around, hoping the ball would come out their side so that they could shoot the next basket. It never occurred to me that this was a desirable property of the system.
Instead, I suffered intense anxiety. Four baskets. Four numbered(!) exits each. Clearly there were some rules. Either these kids were playing wrong, or they knew something I didn't. I was embarrassed by my ignorance, so I didn't ask. Instead, I'd try different patterns. I would try to throw the ball in such a way that it would use the next exit in sequence, or I would assign numbers to baskets and run to a different basket based on which exit the ball came out. The more difficult the problem and the more cleanly it incorporated all the elements of the problem space, the more satisfying the ruleset was. Surely I'd find the Right Way™.
There was also a climbable geodesic half-sphere on the playground. I would construct rules for how I would be allowed to navigate it. Whenever someone interfered with my careful graph walk, it was deeply upsetting.
Why didn't they understand?
Some people have what's called "a failure to compartmentalize." To some extent, almost everyone feels the need to make things line up. For some people, though, everything has to line up with everything else.
Consider Richard Feynman's account of a failing physics program:
"The students had memorized everything, but they didn't know what anything meant. When they heard 'light that is reflected from a medium with an index', they didn't know that it meant a material such as water. They didn't know that the 'direction of the light' is the direction in which you see something when you're looking at it, and so on. Everything was entirely memorized, yet nothing had been translated into meaningful words. So if I asked, 'What is Brewster's Angle?' I'm going into the computer with the right keywords. But if I say, 'Look at the water,' nothing happens - they don't have anything under 'Look at the water'!"
The students had placed their physical studies and their experience of physical reality in separate compartments. The term "compartmentalization" is often used with negative connotations to refer to people who use the scientific method effectively in their work but who also, for example, believe in homeopathy. Compartmentalization is not a purely negative thing, though. It also refers to the ability to frame radically different issues in a different emotional context. Staying on the right side of the road while driving is fundamentally different from, say, crunching autumn leaves under each of your feet in equal proportion.
My horses, let me show you them.
For someone raised in a strong, evangelical tradition, a failure to compartmentalize has its perks. Central to the tenets of that tradition is the idea that God is at the center of everything in your life. And for me, God was. I was among an elite cadre of God-fearing youths who would tussle over how best to reconcile various pieces of scripture to create a cohesive, comprehensive, and uncompromising vision of God's will. We'd debate fiercely both inside and outside bible study, and sometimes we'd even lead those studies.
It was as if we had each been given a shelf, and we had covered it in toy horses. There was a rhyme and a reason to the color, the sizes, the nose shapes, the sequence, and everything else about the horses on our shelves. If someone had a set of horses that didn't clash, we'd condescend to help them improve their collection. If someone had something other than a horse up there, we'd either browbeat them into submission or openly denigrate their heresy. Non-biblical sources of inspiration were deemed worldly; we'd been inoculated against anything but horses. At the center of it all, I had the conviction that my compulsion about my horse collection was, in fact, divine inspiration.
At some point, I became increasingly transfixed by the idea that there must exist Indian Buddhists – I had an evangelist's grasp on world religions at the time – who were as adamant about the collections on their shelves as I was about mine. They were as careful in their curation as I was, and they shared my sense of deep and abiding significance. What a dreadful challenge! Was this deep sense of significance merely a feeling shared across cultural and ideological boundaries, capable of inflecting certainty over a range of mutually conflicting ideas? If so, I would be able to invoke it in neutral contexts. Long story short, either I was right, or I'd somehow managed to convert my Ford Contour's steering wheel into a profound holy artifact.
I withered.
In college, I had a passionate affair with Libertarianism. Here was a framework that was broadly permissive (by my standards), yet still allowed me to exercise my compulsion in critiquing the world in terms of broader principles. Ah, I've found my voice again. But I soon found myself dismissing the genuine, human concerns of others for no other reason than that it failed to align with my rigid framework.
One of my college requirements involved writing a humanities paper. The paper, called a Sufficiency, takes the place of a full course. The student picks a professor. The two decide on a topic. The professor recommends reading material and incrementally reviews then grades the student's work. Before our meeting, I drafted an outline that intimated at the use of libertarianism as a launching point for the critical study and analysis of – what, European polity? New England literature? I don't recall. He suggested postmodernism.
Postmodernism? Okay.
I immediately became obsessed with the idea of narrative. The framing of a multitude of individual human experiences under a large analytical framework was termed "meta-narrative." To my disingenuous surprise, my compulsion to frame everything monolithically wasn't particularly novel or interesting; it was painfully common. And it was, I would quickly realize, a problem.
I figured that maybe instead of focusing on self-consistent frameworks directly, I could enumerate the sphere of human concerns, human narratives. I would hunt and collect them, like Pokémon. This took me into an exploration of privilege. I would quickly learn that some narratives were normative and others were not. This distinction first seemed reasonable, then arbitrary, then malicious, then, having spent time enumerating the narratives that resulted in narratives being normalized, I could no longer reduce the problem, but I could still see it as problematic. Early on, I fell into that foolish trap of going into feminist spaces, seeing that the normative view wasn't well-represented, and imagining that I had something to contribute by representing it. Quite the contrary, the value of these spaces is that other views are allowed to flourish in the hard-fought absence of the normative perspective. It was a hard-learned lesson, and I have nothing but admiration for those who left their teeth marks on my flesh.
And so, I'm a compulsive collector of pokéballs, obsessing more over what's missing than what's there. Over time, I've come to focus less on their self-consistency and more on their human authenticity. When people make naked assertions, be they social, technological, political, or culinary, I generally have to suppress the impulse to trot out my collection and demonstrate the concerns or possibilities they've neglected or antagonized; it generally doesn't make for good dinner party conversation, and if you're going to invalidate someone else, it should be for a good reason. The challenge, then, is not to exercise my compulsion to collect for its own sake, but to leverage its capacity in enabling technological progress and social change, ideally in tandem.
So. Does my compulsion make me a better developer? Ask me in a few years. I'm just hitting my stride.