#9:優れたコミュニケーションスキル
「コミュニケーションスキル」といっても、「完璧な国語を話す」という意味ではない。これは「考えを正確に、かつ効率良く伝えることができる」ということを意味しているのである。図面や音声、ジェスチャーはすべてコミュニケーションスキルを構成するものである。自らの言いたいことを相手に伝える、あるいは理解してもらうことが苦手なプログラマーは、長い目で見れば効率的に仕事をこなせないということなのである。これは、電話による面接では的確に評価することが難しい能力であるのものの、対面の面接でうまくコミュニケーションができなければ、仕事でも苦戦することになるのは間違いないはずだ。
#10:上司をたてられるか?
プログラマーは、自立心のある人間として知られている。実際のところ、私はそれが彼らの強みであると思っており、技術的なプロジェクトで働く人々を細かくマネジメントしなくても済むというのは素晴らしいことだと考えている。しかし、プログラマーの中には、「上司は私であり、あなたではない」という考えになじめない人も多いのである。これが専制君主的に聞こえるということは判っているし、実際そうである。マネージャーはしばしば、技術とは関係ない観点から決断を下す必要があり、そういった理由(機密事項や社内の政治問題、時間的な制約など)をチームに説明することができない場合もあるのだ。
私は、少しばかりの抵抗であれば(特にまずい判断に対してのものであれば)、奨励し、全面的に支持する。上司がまずい判断であることを認識しておらず、そのフィードバックが適切に行われている場合にはなおさらである。しかし、上司が「技術的な観点から見た場合、これがまずい考えであることは判っている。しかし、そうする必要があるのだ」と言ったのであれば、それが最終的な判断となるのだ。とは言うものの、ある種の「不良プログラマー」が上司の指示を無視し、自らの判断で行動するということがあまりにも多いのである。さらに悪いことに、そういったプログラマーは、上司がいかに愚かであるかや、プログラミングについて理解していないか(この主張は正しいこともあれば、正しくないこともある)といったことを誰彼構わず吹聴してまわる傾向にある。こういった行動はプロジェクトを失敗に導き、反感を呼び起こしてチームの士気を低下させることになるのである。
こういった精神構造は面接時に、特に過去の経験について尋ねた時にしばしば明らかになる。不良プログラマーは、面接のような場であったとしても、かつての上司のことについて「邪悪で、愚かで、漫画『Dilbert』に出てくるような、部下を奴隷のようにこき使う上司」だと語りたがるのである。これに対して、精神的に成熟したプログラマーであれば、「上司の判断には技術的な面で同意できないところもありましたが、そういった判断は技術とは関係ない観点を考慮に入れたうえでのことだと理解しています」といったことを述べるのだ。
この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ