はじめに:エンジニアのコミュ力を高めるには
「エンジニアにはコミュニケーション力が必要」とは良く言われます。
一方で、「コミュニケーション力」と聞くと、友達と「ウェーイ!!☆」と盛り上がる能力だったり、そんな風に思ってしまいがちです。
今回は、そんな「エンジニアに必要なコミュニケーション力」について、自分の思う能力を3つ、記載していきたいと思っております。
一般的に言われる「顧客のニーズを引き出すヒアリング力」のようなものはあえてここでは割愛して、エンジニア歴11年半、独立歴5年半の自分が、自分の実体験をもとに書いていきます。
(1)ネゴる・背景を共有する能力
例えば、「この仕事、今日までに出来ますか?」と他の社員に伝えると、「は!?無理に決まってるだろそんなん!!」と反発されてしまいがちです。
それは基本的に、相手が悪いわけではありません。「いきなり」仕事を振ると、どうしたってそうなります。
なのでどうすればいいかというと、『事前にネゴること』です。仕事を振る可能性が少しでも出てきたタイミングで、他の社員に共有します。振ることが確定していなくても、です。
「今後、もしかするとこういう仕事を振ることになるかもしれない」「なぜ、そういう仕事が必要なのか」「どれくらい掛かりそうか」「いつまでにお願いすればいいか」「その際に気を付けた方が良いことはあるか」といったことです。
このようなことを事前に共有・ヒアリングすることで、相手は心の準備が出来ます。
もし仕事が無くなったら、それはそれでOK。実際に振ることになっても、相手の心持ちが全然違います。
先を見通す力が必要になるので、かなり高度な知識と経験が必要になりますが、使いこなせれば、エンジニアとしての能力が一気に高まります。
(2)前提を共有・擦り合わせる能力
例えばミーティングや打ち合わせで、相手との話が、まったく噛み合っていないことが起きます。お互いの主張が延々と繰り返され、いつまでも話が終わらない。といったことです。
この時、90%の確率で起きていることは、「前提が合っていない」ということです。 前提が合っていないと、話は噛み合うことは決してありません。
例えば、製品販売戦略の打ち合わせをする時。自分は、「良いプロダクトを仕上げる」ことをゴールとしています。
一方で、いつもバチバチしている同じチームの営業の先輩は、「売れるプロダクトを作る」ことをゴールとしているかもしれません。
「良い物」と「売れる物」は、同じようで実は結構違います。その微妙なズレがある限りは、噛み合うことは決してありません。
では、どうすればいいかというと、2つの手段があります。理想である1つ目は、「一番最初に前提を共有して同意を取ること」です。
「今回の打ち合わせのゴールは、『売れるプロダクトを作る』という点について話したい」と、何をゴールとするかを最初に明確にすることです。
同じ会議の同じテーマでも、ゴールが異なることは結構あります。なので、最初の前提を共有するのです。
最初に前提を共有しておらず、「なんかこの話噛み合わないな」と思ったら、2つ目の方法です。それは、「噛み合ってないと気付いたその場で、前提を共有・確認すること」です。
「ごめんなさい、ちょっと確認したいんですけど、今回の打ち合わせの目的って、自分は『良いプロダクトを仕上げる』だと思ってますが、もしかして『売れるプロダクトを作る』だと思ってます?」的に聞いちゃうことです。
これもパッと見だと難しく見えてしまいそうですが、「なんか前提ズレてく気がする」ということを意識して聞いていると、相手が何を気にしているか、意外と分かったりします。
ちなみに、ありがちな「前提の違い」は、以下のようなものです。
- 情報の過不足(自分は知ってるけど、実は相手は知らない情報がある)
- 立場の違い(自分はエンジニア、相手は営業)
- 目的の違い(上司である自分は、働く目的を「出世して稼ぐこと」。部下である相手は、働く目的を「定時で帰って最低限の生活で生きていくこと」。この状況での上司部下ミーティング)
- 思い込み(同じ資料を読んだ結果、各メンバーで別の捉え方をしていた)
(3)「心地良い返事」よりも「事実を伝える」能力
クライアントとミーティングであったり、メールのやり取りであったり。手段は色々とありますが、「若干、都合の悪いこと」を伝える必要があるタイミングがあります。
例として、「スケジュール、オンスケですか?」「あの件、大丈夫?」といった質問です。
その時に、エンジニアは2つの選択を取ります。
1つ目は、「心地良い返事をする」。都合の悪いことは隠したり、誤魔化したり。正直、ありがちです。怒られたくないので、大体のエンジニアがこちらを取ってしまいがちです。
なので、「順調です!」「大丈夫です!」「分かりました!」のような返事を取ってしまいがちです。あとは、「分かったフリ」もしてしまいがちですね。
あとから裏で、全力でリカバリー出来るのであれば、それでいいです。でも、十中八九、後で火を吹きます。怒られます。後伸ばしにすればするほど、その炎は燃え上がります。
なので、理想の2つ目は、「事実を伝える」。一見、都合の悪いことでも、ちゃんとその場で話す必要があります。
スケジュールが間に合っていないこと。あの件の検討が遅れていること。実は分かっていないこと。その辺りを、ちゃんと伝える必要があります。
もちろん、すべてをバカ正直に、どストレートに伝える必要は無いです。伝え方は考える必要はあります。
例えば「スケジュールは間に合っていない」のであれば、どのようにリカバリーするのか?という点も一緒に説明する必要はあります。
「相手の説明が理解出来なかった」というのであれば、「すみません、今のお話、ちょっとこの部分が理解出来なかったです。勉強不足で申し訳ないのですが、ここ部分、もう少し詳しく教えていただけないでしょうか?」といった感じです。
その瞬間は、若干怒られたり、嫌な思いをさせることもあるかもしれません。ですが、私の経験上、後から発覚するよりは、早いこと共有した方が100倍マシだったりします。
いかにして、都合の悪いことを早い段階で相手に共有できるか?それは、一般的にイメージする「コミュニケーション力」が「陽」だとしたら、この能力は「陰のコミュニケーション力」かもしれませんね。
さいごに:これってエンジニアのコミュ力なの?
最後に。この記事を読んだ方は、もしかすると以下のように思った方もいらっしゃるかもしれません。
「これってエンジニアのコミュニケーション力なの?」
「エンジニア関係なくない?」
「プログラミングの話一切ないじゃん!」
と。まさに、それが最後のキーです。それは、「エンジニアのコミュニケーション力の本質は、プログラミングの関係ない所にある」という点です。
もちろん、プログラミングのスキルは超大事ですし、エンジニア特有のコミュ力の方向性もきっとあるはずです。
ですが、コミュニケーション力の本質的な所って、エンジニアに限らず、どんな職種業種、もっと言えば国籍や年齢や性別といった条件を超え、多くの場合に共通するに違いない。自分はそう思います。
エンジニアとしてのキャリアが長くなるにつれて、より多くの方々とコミュニケーションを取っていく必要があります。そこには、「エンジニアとしての」という枕詞は入りません。
対相手とコミュニケーションを取る時、自分がエンジニアであるかないかなんて、あまり関係ありません。
特に就職活動の時、「エンジニアはコミュニケーション力が重要」なんて聞いたりしました。「エンジニアは」という枕詞にどうしてもフォーカスが当たってしまい、それ特有のものと勘違いしてしまいがちですが、それは違います。
「エンジニアに必要なコミュニケーション力」は、どんな業種業界でも必要で、そして極めればどんな業種業界でも通用するような能力です。
今回挙げた3つは、自分の実体験をもとに書いています。なので、巷でも良く言われている内容なのか、それとも掘り出し物なのか、正直分かっていません。ですが、これらの内容を意識すれば、必ず!あなたのコミュ力は高まっていくはずです。
自分もまだまだ未熟者です。少しずつ、進歩していきます。一緒に頑張っていきましょうね。