This week I found myself at yet another dinner party that mysteriously contained only two people who were not involved with the tech industry in some way.

As I looked around and realized for the hundredth time that I was surrounded by people exactly like me, something inside me snapped. I downloaded the latest American Community Survey microdata, fired up R and started calculating feverishly.

It turns out that among people who

  • are under 35
  • live in San Francisco, Berkeley or Oakland
  • and have at least a bachelor’s degree

about 10% have a computer-related occupation. An additional 5% are employed in some other capacity by a strongly computer-related industry.

That’s not nearly large enough to explain how saturated with coders my social groups are. I have plenty of social circles that are (at least nominally) totally different from my work: contra dancers, people interested in effective altruism, folk musicians, friends from college, and so on. And yet I keep finding myself in the middle of a programmer monoculture. Why?

As Randall Munroe recently suggested, suggests, maybe taking up a sport would help expose me to a broader range of people. But which one? Obviously not football, since I’m barely 150 pounds and don’t like traumatic brain injuries. Preferably a more elegant sport that doesn’t require a bunch of awkward equipment. Maybe Ultimate or rock climbing–

Wait, crap.

Part of the problem is that my taste in hobbies is influenced by class lines and subculture in ways that I hadn’t realized before. It turns out that even when it’s totally up to me, most of the things I’m interested in are strongly associated with a very particular band of socioeconomic status—a much smaller band than the set of “all bachelor’s degree holders” in my ACS analysis.

This stronger selection sneaks in when I try to pick a sport based on things like “elegance,” instead of “size of community” or “what I’ve been playing since I was five years old” or whatever other things people might pick sports for. In fact, just the fact that I’m interested in doing sports for leisure is associated with class, since it’s not something that would be so easy for, say, manual laborers or shift workers.

But I don’t think socioeconomic selection explains all of it. My parents’ friends were similarly selected, but they didn’t all have literally the same job, and the ones that did were usually coworkers—not people they had met socially who bizarrely all happened to work on the same stuff. My friends in other occupations with similar base rates—say, school teachers—don’t wonder where all the non-teachers are at social events. And I don’t even feel like I’m from a similar subculture to many programmers. What else could be going on?

  • Maybe that crackpot-sounding stuff about the “programmer’s brain” actually has something to it. Maybe programmers are all drawn to the same activities because those activities are friendly to the programmer’s innately logical, systematizing and abstract habits of thought.

  • Programmers could talk about programming too much, or smell bad, or something, so people from other professions are less likely to put up with them at social events.

  • Perhaps the various subcultures of programmers are closer together, and more distinct from other subcultures, than I perceive. Maybe “programmer culture” is less analogous to other single professions and more analogous to “academic culture” or “hippie culture,” where it would be more reasonable to have that be your entire social group.

  • Maybe I miscalculated from the ACS data and there are actually way more programmers than the 10% number suggests.

Unless I’ve miscalculated pretty badly, though, it’s clear that these social bubble effects are way stronger and more tenacious than I would have expected. And this is just one of the axes where it’s obvious that all the variance is being selected out. I wonder what more subtle facts are being selected for this strongly in my social groups?