Sunday, January 20, 2019

Snowflake Sociology

"Snowflake" isn't a term I enjoy using: it's derogatory, demeaning, and can be used as a dismissive approach to ideas we don't like. Until you're snowflaked, it's an easy thing to not like.

I was finally snowflaked awhile back. I sat on it for some time, but given today's general political and conversational climate, I wanted to discuss the experience. Someone asked a Stack Overflow question I thought was very clear in its intent, roughly:
I can't seem to wrap my head around the logic for writing a function that looks something like eight(times(five)) in JavaScript.
 They want a math DSL, and they provided examples:
  • eight(times(five)) should return 40
  • three(plus(two)) should return 5
I mean... this is obvious. To me. Not to Ryan and Amy. They asked for clarification, I told them both it seemed very straight-forward what was being asked. Their hangup (at first)? "Eight isn't a verb, so it can't have behavior."

What? Are all method names verbs? (No.) Are all method names in a DSL verbs? Most assuredly not (attr_accessor is not a verb, it's a declarative assertion of intent). To me, it was crystal clear what was being asked (and apparently it was equally clear to the two people that answered it).

I was accused of being condescending and misogynistic. Many people have accused me of being condescending; when you're far enough along on the spectrum to be diagnosable, it happens. Not proud of it, but it happens. Misogynistic?! To anybody that actually knows me the idea is laughable. I was insulted, and badly. It hurt. It was embarrassing.

Could I have expressed my opinion that I thought the question was obvious in a better way? Possibly (and probably, but honestly, it wouldn't even register with most people). Could I have said something like "It seems like they're asking for a DSL; given the provided examples I think the intention is to treat the function names like mathematical operators." I could have just said that and let it be.

I didn't: I said it was "obvious" what was being asked. That was the mistake. Why? Because when something isn't "obvious" to someone, and it is to someone else, it can make the other person feel stupid. This can escalate quickly (as it did).

I have a different view of things: if something is obvious to someone else, and not to me, it means I have a knowledge gap. I don't like knowledge gaps. I might feel shame: one of my traits is that I know things. It partially defines who I am. When I don't know something, it diminishes who I am in some way. It's a non-functional emotional behavior (that I'm working on).

That I didn't know something doesn't trigger an external redirection of that shame, however: I don't take out my (perceived) shortcomings on the person that brought it up, at least not in a public forum. And I certainly don't accuse other people of being biased in any way (if they're being a jerk I'll call them on that, though).

Here's the thing: nobody likes to be wrong. People like to be told they're wrong even less. Some people lash out when they're told they're wrong, or that something might be obvious to somebody else.

There's always a balance. Online intent is very easy to mis-judge. The word "obvious" can be a trigger.

Lesson learned.

No comments: