My wife and I had a discussion last night as we walked home from a screening of the extended edition of Lord of the Rings: Fellowship of the Ring.
Being a nerd, engineer, computer scientist, programmer, coder, web developer, or any other such title that you can lump us into, is hard. The increasing complexity of technologies and languages mean that we have to constantly keep learning, otherwise our abilities will languish and fall behind.
As hard as that is, it can be even more difficult for nerds because of the way their brains are wired. The biggest difficulty for some is actually around interpersonal relationship skills. We nerds find others behavior to be strange and alien; We don’t always understand. We marvel at how easily it can come to some, but at the same time we find that behavior baffling, because we don’t think the same way. We see the world through monochrome tinted glasses; A world of boolean logic, in which something either is, or it isn’t. This polarizing conviction is the same thing that drives a lot of deep seated views, holy wars about technologies, which editor to use, whether to put the braces on the same line or a new line, etc. We’re also very critical of those things which are not tidied, tied off, cleaned up, made parallel, and understood.
When you confront someone with a different view from their own, and that view is firmly seated in their mind, something psychologically interesting happens. They actually end up sticking to what they know more adamantly than before. This is known in the psychology community as the ‘backfire effect‘. My wife postulated that this might actually be the cause of many of the world’s big problems (religious wars, government stances on moral issues, etc).
Nerd psychology is a vast, complex topic. The personality of the ‘alpha geek’ is so pervasive in the industry of software engineering, that you can often times learn how to deal with anyone of the type just by observing one. The know-it-all arrogant attitudes are like a poison, a poison which threatens to turn our programmers world of creation into a cesspool of bickering. It’s easy to dismiss someone as not being as intelligent, but it’s a lot harder to discover where your intelligence has holes. The value of other perspectives in software engineering cannot be overstated, and is too often a blind spot for otherwise gifted developers.