プログラマーに必要なコミュニケーション能力とは

IT業界では、「エンジニアにはコミュニケーション能力が重要」と言われて久しい。だが、これはビジネスパーソン全般に言える話だ。「コミュニケーション能力」を因数分解すれば、プログラマーに必要なものが見えてくるのかもしれない。

Attribute=51:レス:全力でプログラマーを「人気の職業」に押し上げたい

自分もそう思います。やっぱりコミュニケーション能力はとても大事です。

ただ、プログラマーというとすぐに「コミュニケーション能力が大事」と言われるので、ちょっと反論的に書いちゃいました。

だって、コミュニケーション能力なんてどんな仕事だって必要じゃん、

プログラマーなんだからプログラミング能力の方が大事だろって聞くたびに思うのです。

コミュニケーション能力には、以下の読み・書き・聞く・話すの4つの視点がある。すなわち、相手があってこその能力なのである。

・読み:仕様書から相手の意図や目的を正しく理解する
・書き:わかりやすい文章を書き、相手へ正確に伝える
・聞く:相手の話を聞き取って、趣旨を正しく理解する
・話す:自分の仕事の成果を説明し、相手を納得させる

プログラマー」には、2種類が存在するのではないだろうか。一つは、提示された仕様書どおりに作成するプログラマー。もう一つは、新たな価値を提供するために新サービスの構想を練り、試行錯誤で作り上げるプログラマーだ。

前者の場合は、提示された仕様書を読みこんでコーディングし、できあがったプログラムをテストで検証する能力があれば良い。この場合、コミュニケーション能力よりもまずプログラミング能力。コミュニケーションの中でもインプットにあたる「読み」と「聞く」が必要になるだろう。

また、後者の場合は、パソコンと向き合ってコーディングに入る前の仕事がとにかく重いのだ。たとえば、サービスを企画したり他人とのコラボレーションによって進めることが欠かせず、インプットの「読み」「書く」に加えて、アウトプットにあたる「書き」と「話す」も大切になる。

最近、IT業界では、中国などへのオフショアが積極的に取り組まれている。前者のようなソースコードを書くだけのプログラマーは、次第に国外へ流出していくにちがいない。実際、インドへのオフショアで先行するアメリカでは、プログラマーが、毎年10%近く減少しているそうだ。

ただ、私自身、オフショアに関っていると、言葉が伝わりにくい外国人だからこそ、言葉に頼らないコミュニケーションが必要になってきていると感じる。つまり、ペアプログラミングよろしく、いっしょにパソコンに向かってソースを見たりテストをしたり、食事をともにしたりといったように。なにしろ、日ごろ使う言葉は違っていても、CやJavaなどのプログラミング言語は世界共通なのだから。