I believe a lot of this comes from frustration of the environment. Fellow employees/students that simply do not agree with you, nor understand what you do and who you are. A lot (maybe most) of SMART people are horribly introverted and poor communicators. Have you ever had to give tech support and got more and more angry as the conversation continued? Have you ever had to explain yourself rather than just saying, "I'm right. Go look it up." A lot of people simply give up, go in their corner and code/develop/engineer.
You appear to be one step ahead in that you are already self-aware. Not everybody is built the same. Try not to get frustrated and realize that not everybody has the same genetic makeup and education as you do. But that doesn't make you better. It just means you are talented in your area of expertise. Make sure that reflects respect and not contempt.