エンジニアにとってコミュニケーション能力は必要でしょうか。この話題については、賛否両論あるでしょうし、そもそもコミュニケーション能力とは何かを考えなければいけないでしょう。

私たちの会社ソニックガーデンでは、プログラマの仕事を「ソフトウェアのエンジニアリングすべてに責任を持つ仕事」と定義しています。具体的には、お客さまと対話して要件を引き出すことから、データ構造から画面までの設計を行ったものをソースコードで表現し、クラウドでの運用まで面倒をみるという、ソフトウェアを作って動かす全てを行います。

そう話すと、よく聞かれる質問があって「コミュニケーションが苦手なエンジニアはどうすれば良いでしょうか?」というものです。もし本当に誰とも話をしたくないし出来ないというのであれば、残念ながら、と言うしかありません。しかし、コミュニケーションと一括りにしてしまっていて誤解があるのかもしれません。

そこで今回の記事では、エンジニアにとってのコミュニケーション能力とは何かを考えてみます。

SuitSuit / RobotSkirts

なぜコミュニケーション能力が必要なのか

エンジニアは、モノ作りをする人ですね。私たちの会社では、ソフトウェアをつくるプログラマは職人だと考えています。職人が仕事で何かを作るというのは「誰かのため」という前提があって、その誰かと話をしないとモノ作りはできません。

例えばプログラマであれば、初めてプログラムを作ったとき、そして初めてプログラミングが楽しいと思ったときは、身近にいる困っている誰かを助けるプログラムを作ったり、驚かせたり喜ばせたりするプログラムをつくって、その反応をもらったときではなかったですか。

誰かからフィードバックをもらって、初めて作る喜びを得ることが出来るし、それこそがエンジニアにとって一番の感動ではなかったでしょうか。そのためにも、誰かのために作るという気持ちが大切で、その誰かと話をしなければ求めるモノは作ることができません。

ドキュメントに書かれた仕様を指示を受けた通りに作ることが楽しい訳がありません。モノ作りの楽しさは、作るモノの向こう側にいる人に届けることができてこそです。だからこそ、エンジニアとして仕事を楽しむためにもコミュニケーション能力は必要なんだと考えています。

そして、もう1点。モノ作りにおいて、もっとも生産性が高い状態というのは、何も作らないことです。もし手を動かさずに、問題を解決することができるのであれば、それが一番無駄がありません。そのためには、コミュニケーションが必要になります。話し合うことを早々に諦めて手を動かしてしまうというのは、むしろ楽なことです。

話し合うことで無駄なことはせずに、最小の労力で、本当に価値のあるものをつくることが出来るというのが、本当のプロフェッショナルでしょう。

コミュニケーションと社交性は別のもの

モノ作りのためには、コミュニケーション能力が必要だといっても、ここで言うコミュニケーションは、相手に自分の考えを伝えること、相手が伝えようとしていることを汲み取ること、そしてお互いの認識をあわせること、です。

コミュニケーション能力が必要だからといって決して、お喋りが上手でなければいけないとか、どんな話題にもついていかなければいけないとか、いわゆる社交性が必要かというと、そんなことはありません。

コミュニケーション能力があることと、社交性があることは別物だと私は思います。

私は、大勢の人の前や重要な会議でプレゼンもしますし、ビジネスや技術をテーマにしてのディスカッションも嫌いではないですし、お客さまの難しい課題について皆で話し合って解決しようとすることも好きです。それにはコミュニケーション能力が必要です。

しかし、そういう私も、なんでもないような雑談は苦手です。近況報告なんかは話せますが、本当になんでもないような話をするのが得意ではないです。なので、立食パーティーなんかだと割と浮いてます。よほど難しいテーマでディスカッションする方が気が楽です。

つまり私の場合、コミュニケーション能力はあっても、社交性は低いと言って良いんじゃないかと思います。しかし、それでも十分、仕事は出来るんです。エンジニアだって一緒だと思います。

もし、コミュニケーションが苦手と言ってるのが、社交性のことを指しているなら、それはさして問題にはなりません。コミュニケーションの伝え方が苦手だと言うならば、それは努力と工夫でなんとかなります。エンジニアとしての喜びを得るためにコミュニケーション能力を高めるにはどうすれば良いか、考えてみましょう。

求められるコミュニケーション能力のために

エンジニアの採用の際に、コミュニケーション能力か、技術的な素養かで決めるとしたら、どちらでしょうか。そんなの考えるまでもなく、技術的な素養に決まってますね。もしコミュニケーション能力の方を重視してるとしたら、その会社はエンジニアを求めてはいないのでしょう。

逆に考えて、コミュニケーション能力なんてのは、すべてのビジネスパーソンにとって当たり前のことなんです。一人きりでは仕事になりません。少なくともビジネスをするならお客さまはいます。社内だったら上司もいるでしょう。コミュニケーションしか出来ない人の方が不安です。

仕事の上で、お互いの認識をうまく伝えあうためにはどうすれば良いでしょうか。新聞を読んで教養を増やしたり、空気を読めるようになったり、そんなのは社交性です。あれば良いかもしれませんが、なくたって困りません。

大切なのは想像力だと思っています。相手にあわせて話をすること、独りよがりな説明をしないこと、相手の話そうとしていることを汲み取ること、どれも、話す相手がどう感じて、どう考えているかを想像すれば出来ると思います。相手に自分がどう思われてるかではなく、どうすれば伝わるかを考えます。

コミュニケーションは、お互いに理解しあうことが目的です。難しいのですが、あまり自分の体裁は気にせずに、飾らずに正直に、自分の考えを伝えて、相手の考えを伝えてもらうようにすれば、相手も理解しようとしてくれるはずです。

前提となるのはお互いの相手への敬意でしょうか。それがなければ、どんなにコミュニケーション能力があってもわかりあうのは無理でしょう。

言葉のやりとりでコミュニケーションを続けたところで、本当のところまでは簡単にはわかりあえないのが現実です。しかし、エンジニアならば、そこで話した内容を、モノとして表現してアウトプットすることが出来るのです。実は話し合うだけよりも、その方がよほど、お互いのことがわかりあえるのではないでしょうか。そう考えるとエンジニアの方がコミュニケーション能力は高いのかもしれませんね。