September 5, 2011 By Galen Gruman | InfoWorld
A Comment to the comment "programmers have tunnel vision"...
"The developer personality" unsettling to you?
What unsettles us the most about others are usually traits we worry about in ourselves.
The authoritarian, aggressive fanatics running our congress make my head explode daily. Probably because I've struggled all my life to control my own authoritarian, aggressive (though very liberal) tendencies.
For all their abilities, computers are incredibly stupid.
The level of minutia required to be a programmer is incomprehensible to most "normally adjusted" people. It takes an introvert or
Asperger's sufferer to excel at software development.
Good human interaction depends on countless assumptions of intent, context, and definition.
Computer languages and environments have entirely different characteristics. Even though they're based on English, they are so different from it, and different from each other, that "being fluent" in any of them uses up most of the person's thinking capacity. If you can speak English and program in BASIC, you are truly "bilingual".
Thus, a person who "communicates well in the real world" and then tries programming, seldom masters it. They may gain competency in one or more languages, but they're never fully comfortable. They often eventually move into documentation, QA, or management and provide the vital link between developers and everyone else.
Think about all those "team of misfits" stories though...
Almost all of the world's activity is built upon the great achievements of misfits. Be they individual geniuses like Edison and Einstein or teams where each member excels in some needed skill but may be quite deficient in other ways.
The great leaders of these teams have been good communicators, secure in their own strengths and un-threatened by their team members' superior abilities in other areas. They excel in their ingenuity in assembling these misfits to actually "fit" together in unique ways that create a team more capable than the norm.
So when you get frustrated with a developer's pendantic arrogance and cluelessness of how what their saying affects others, put them on your next team!
You have the ability to learn to communicate with them because you understand human interaction in ways they cannot. In turn, they have the ability to make computers do things you can only dream of... so tell them your dreams. Chances are, the coding will be trivial.
Now that ridiculously simple feature you want? That will probably tax their talents to the limit... which they'll love! Why will it be so hard? That's another story.Labels: aspergers, programming, teams