I am reading this wonderful book called "Coders at Work: Reflections on the Craft of Programming" by Peter Seibel and I am at part wherein the conversation is with Joshua Bloch and I found this answer which is an important point for a programmer. The paragraph, goes something like this.
There's this problem, which is, programming is so much of an intellectual meritocracy and often these people are the smartest people in the organization; therefore they figure they should be allowed to make all the decisions. But merely the fact they are the smartest people in the organization does not mean that they should be making all the decisions, because intelligence is not a scalar quantity; it's a vector quantity.
Here at the last sentence, I fail to get the insight which is he trying to share. Can someone explain it in a little further as what he means by a vector quantity, possibly trying to present the same insight.
Further down, I get the point that he is not taking about having an organization where non-technical people (sometimes clueless) can be managers of the technical people for some reason that they can spend more time to write emails well, because the very next statement following the above paragraph was.
And if you lack empathy or emotional intelligence, then you shouldn't be designing APIs or GUIs or languages.
I understand that he is saying that in Software engineering, programmers should know how the users will see their product and design for them.
I felt the above paragraph was very interesting.