エンジニア・データサイエンティストが見落としがちな「伝える」ことの重要性




エンジニアやデータサイエンティストという職業は専門職ということもあり、職人気質な人が多いです。僕もそうなのですが、ついついエンジニアは良いサービスをつくることが仕事だ、データサイエンティストはデータを正確に分析することが仕事だ、と意識しすぎてしまいます。

しかし、世の中に価値を生むとか、会社の事業を促進させるという視点で考えたときにそれだけじゃダメだと感じました。例えば、日本の現場では予想した結果にならなかった場合に説明責任というものが問われます。

例えばお客さんから受注をもらえるかどうかという事に対して、人力で予測を行う場合は一定の量の材料(根拠)を揃えて予測を行うので、もし外れたとしても材料が足りなかったのか、それとも想定外なことが起きたのか理由をを判別しやすいです。

しかしディープラーニングで予測を行った場合、外れた理由を説明することが難しいのです。もちろん、学習経過を可視化するツールなど、理由説明するためのツールは徐々につくられてきていますが、それでもブラックボックスになってしまう部分はあります。

そのため、人間より少し良い精度が出ている程度だと、現場では活用されにくいという現状があるのです。このように、より良いサービスをつくったり、良い予測モデルをつくったとしてもビジネスで生かされない可能性は常に潜んでいます。

エンジニアでもデータサイエンスでも、つくったものが使われてこそはじめて価値を発揮するので、そのためには技術以外のことも気をつける必要があります。そこでこの記事では、僕が普段業務を行う上で気をつけていることについて紹介しようと思います。

ビジネスにおけるゴールを意識する

意外と見落としがちなのが、ゴールの設定です。つまり、どうすれば「成功」と言えるのかということです。エンジニアとして何かをつくるにせよ、データを分析して予測モデルをつくるにせよ、人件費をはじめとした諸費用がかかっています。いわば、投資です。

そのため、プロジェクトのはじまりで費用対効果を検証することはもちろん、成功の定義も決めておかなければいけません。例えば、ある作業にかかる時間を従来の90%に削減するとか、人間の受注予測よりも精度を10%上げるといったものです。

そしてゴールを設定する際には、望んだ結果が出たときにどのくらいのインパクトを事業に生むかをイメージ出来る人を巻き込まなければいけません。結果は出たけど、事業にインパクトが出なかった、利益につながらなかった、ということでは本末転倒なので慎重にゴール設定をすべきです。

専門用語を使うときには気をつける

また、エンジニアやデータサイエンス界隈は専門用語が非常に多いのが特徴です。そのため、つくったものや分析結果などを経営者や事業部に報告する際に専門用語をそのまま使ってしまうことがよくあるようです。

そうすると、いかに凄いものを作ったとしても「何が凄いのかよくわからない」「現場でどのように使えば良いのかイメージが出来ない」と思われてしまい、結局意思決定に役立たなかったり、現場で活用されずにお蔵入りということになってしまいます。

もちろん、経営や事業部の人も最低限のIT知識は学習しなければいけませんが、専門的なところまで網羅的に理解するのは現実的にかなり難しいのです。だからこそ、「ajax」とか「API」とか「決定係数」というような専門用語を使うときには、必ず説明を入れて、聞く相手が理解しやすいようにしなければいけません。

しかし、僕も分かるのですが、説明を簡略化しすぎると相手が間違った解釈をする可能性があります。そのため、発表の際の言葉選びやストーリー作りは高い言語能力がなければいけません。これは技術者の悩みのポイントだと思います。

ただ、いくら高度な言語能力を持っている人でも、エンジニアリングの知識がない人はシステムを深く理解できないので、うまく翻訳をすることが出来ません。高度な専門の話を正確に・かつ分かりやすく行える可能性があるのはエンジニアだけなのです。だからこそ、コミュニケーション能力(ここでは相手に合わせて適切な話し方をする能力)が高いエンジニアは希少で高い価値を持ちます。

ビジュアルにこだわる

ビジュアルというのは、服装や髪型…の話ではありません。ウェブではUIと言われるもの、データサイエンスではグラフや報告資料と呼ばれるものです。

上にも書きましたが、ウェブシステムなどを作る場合は「使ってみたい」と思われることや「使うイメージが湧く」ことが非常に重要です。これがないと、実際に活用されずにお蔵入りになってしまうからです。

また、データサイエンスについては「分かりやすい」「信頼性がある」と思われることが重要です。時にデータサイエンスは大きな意思決定をする材料になることがあるからです。

僕は理系出身(それも、真理を追求する理学部)なので、「機能こそが本質的である」「正しいことや高い精度が出ることが本質的である」という発想にとらわれてしまいがちです。学問の世界ではこの発想も大事ですが、ビジネスの場では比率を下げるべきでしょう。

より大事になっていくのは「相手を動かす」ことです。そして、相手を動かすには分かりやすく伝えつつ、感情に訴えることが重要になります。すべてのことを理解できる人はいないので(ましてや相手が専門家でないのなら)、最終的な意思決定はイメージや印象というものが大きなファクターになります。

そのため、実は分析結果そのものよりも、分析結果をどう伝えるかのほうが重要だったりします。もちろん、より良い結果を目指して動くのはプロとして当たり前ですが、どう伝えるかも重要だということです。

そのため、精度が高いものの発表がわかりにくくで現場で使われなかったデータ分析結果と、精度はそこそこだが発表が分かりやすく、現場で生かされているデータ分析結果では後者のほうが高い評価を得られるでしょう。

決してウェブシステムやデータ分析に手を抜いても良いというわけではありません。ただ、それだけを意識しているだけだとなかなか評価を得にくいし実績も価値提供にもつながりにくいということを言いたいのです。

さいごに

ただ専門分野を極めていけばいい、という時代ではなく、さまざまな素養が必要になってくる辛い世の中だなぁと日々感じています。サーバーサイドエンジニアでも、フロントエンドの知識(UIとかデザインとか)がある・ないとでは提案の幅が変わってきます。そもそも、フロント側での仕様変更を見越した設計が出来ないと後で苦労します。

逆に言えば、好奇心が高い人はエンジニア・データサイエンティストに向いていると思うのです。デザインを勉強しても、プレゼンを勉強しても、数学を勉強しても、エンジニアリングを勉強しても仕事に活きてくるのです。自分が興味あることが仕事に生きてくる可能性が高いのは一つのメリットと言えると思います。

僕もまだまだひよっこですが、幅広く学びつつ専門性を深めて希少性が高いプロエンジニア/データサイエンティストになりたいと日々奮闘中です。