You're confused about how the dickhead non-dickhead spectrum works.
From the viewpoint of a dickhead, an honest and intelligent person is a dickhead. The honest and intelligent person has the potential to expose the dickhead as a dickhead, so the dickhead will do everything he can to convince everyone else that the honest and intelligent person is a dickhead.
A dickhead would see an honest and intelligent person as a dickhead, and be able to lie convincingly enough to establish it as fact in the eyes of others.
In fact, a highly skilled dickhead can convince an honest person that "standing up for yourself" is a dickhead behavior.
I have no way of telling if the OP is a dickhead or not, because I haven't met him. My guess is "not a dickhead, he was just convinced by dickheads the he actually was the dickhead".
So, he learned to act in a manner least likely to offend dickheads. I don't want to work with dickheads, so I don't bother with that skill.
On the one hand, I've been in situations where dickheads would undermine me behind my back to management, tell me other people were undermining me, act like I was I a dickhead if I responded to a direct question from management directly instead of clearing it through them.
On the other hand, the dickhead always thinks he's a non-dickhead.
If everyone you meet is a dickhead, you're the dickhead.
So be kind to everybody, dickhead or non-dickhead.
seeing as how there are, in this very thead, people that consider OP to have been a dickhead, i think i'm going to go with the primary source on this one.
Considering how the OP is the mythical 10x-100x programmer, I'd lean towards him not being a dickhead. He singlehandedly implemented several key features for FaceBook.
If FaceBook had an average employee instead of the OP, they might not have been as successful.
It's possible to be highly skilled in one area and very weak in another, and the median is almost always more important to the long-term success of a business. Look at it from the perspective of a CEO: is a hot-shot programmer nobody wants to work with more or less likely to be productive than a well-integrated team with a dozen people? Would you want to bet your company on that one person staying healthy, employed by you, never making a mistake, etc. or do you want to bet on a long-term model more sustainable than “Make sure this person never leaves”?
This is why the 10x mythologizing is so annoying. There are a few people who are 10x in specific areas or who might have periods of intense productivity but it's never true across the board for significant periods of time, and it's used to excuse a lot of bad behaviour by 1.2x programmers — not to mention the larger mistake of assuming that the limiting factor on projects is rarely absolute programming ability. In most cases, you see far better results from someone who might be maligned as a .8x programmer who communicates well with the team & users and relies on solid tools and practice rather than assuming sheer skill will save the day.
From the viewpoint of a dickhead, an honest and intelligent person is a dickhead. The honest and intelligent person has the potential to expose the dickhead as a dickhead, so the dickhead will do everything he can to convince everyone else that the honest and intelligent person is a dickhead.
A dickhead would see an honest and intelligent person as a dickhead, and be able to lie convincingly enough to establish it as fact in the eyes of others.
In fact, a highly skilled dickhead can convince an honest person that "standing up for yourself" is a dickhead behavior.
I have no way of telling if the OP is a dickhead or not, because I haven't met him. My guess is "not a dickhead, he was just convinced by dickheads the he actually was the dickhead".
So, he learned to act in a manner least likely to offend dickheads. I don't want to work with dickheads, so I don't bother with that skill.