非エンジニアがエンジニアとのコミュニケーションで気をつけるべきこと

MONEYPLUS / 2019年4月19日 11時30分

写真

非エンジニアがエンジニアとのコミュニケーションで気をつけるべきこと

はじめまして、西出大介と申します。

今後の社会で日本に留まらない視座で活躍できる若手テクノロジー人材を育成するためするため、Awesome Ars Academiaというグローバルテックスクールをセブ島で運営しつつ、海外エンジニアと共に複数の開発プロジェクトを実施しています。

近年、あらゆる産業がデジタル化の波による事業変革を求められ、個人の生活だけでなく仕事という観点でも多くの変化が起こっています。

たとえば、少し古いですが、2014年にGoogleの創業者のラリー・ペイジが下記のように言っていました。

「人工知能の急速な発展によって、コンピュータやロボットが多くの仕事を代替するようになり、10 人中9人の人々が、現在とは異なる仕事をするようになるはずだ」と。
リンク参照

また、最近の話題だと、下記のように横浜市が実施したRPAの導入実験で、平均84.9%もの業務を省力化できる可能性がある、というニュースもありました。
横浜市における「RPAに関する共同実験」報告書公表

これらのような未来予測やニュースを見る中で、「自分自身もプログラミングを学んだ方が良いのではないか」「エンジニアリングの世界はどのような価値観で動いているのか」というような、漠然とした不安や焦りを感じている方が増えているように思います。

このような社会背景を鑑みつつ、エンジニア職ではない方や、プログラミングやIT業界について知りたいと思っている方へ、参考になるような情報や考え方、などについて紹介していければと思っています。


多くの非エンジニアがエンジニアとはどういう人かわからない

プログラミング教育事業を営んでいることもあり、社会人の方からよく受ける質問があります。

・エンジニアってどういうお仕事ですか?
・プログラミングは学んでおいた方が良いでしょうか?
・エンジニアとはどういう風に接するべきでしょう?
・エンジニアの仕事がわからないので、一緒に仕事をするとブラックボックスのように感じてしまう
・開発プロジェクトを円滑に回せるようにするために、自分もプログラミングを学んでみようと思った
・将来起業をしようと考えたときに、ものづくりを知っておくべきだと思うのですが...

というような内容です。これらに共通していることは、ざっくりとまとめてしまうと「開発者やエンジニア、ものづくりをするということがよくわからない」ということです。

これは、おそらく永遠の命題です。

なぜなら、エンジニアキャリアを5年以上持つ私自身も未だに、優秀なエンジニアの方であればあるほど「魔術師」のように見えることがよくあるからです。

「本当に優秀なエンジニア」というのは、今この瞬間に私たちが使っているこのインターネットという仕組み自体を構想し、作り出した人たちも入ります。もはやそれは、魔術や魔法の領域にしか見えない、というのは私も同じです。

ただし、エンジニアを「魔術師」として認識していると、いつまでもこれらの不安は解消できません。

そのためここでは一度、エンジニアと仕事をする現場の話にコンテクストを移し、エンジニアとのコミュニケーションにおいて気をつけるべき2つのことを紹介します。

エンジニアとのコミュニケーションで気をつけるべき2つのこと

エンジニアの「できる・できない」を2種類に分けて考える

実際に仕事をしている現場では、「これってできますか?」というざっくばらんな質問をされることがよくあります。答え方にいつも苦労するのですが、私の場合は常に2つの返答を意識しています。

それは、
・「技術的にできる・できない」という観点からの返答
・「現実的に(事業として)できる・できない」という観点からの返答
の2つです。

前者について、よほど突拍子もないオーダーでなければ、エンジニアはだいたいのことを技術的に実現できます。

そのため、前者への回答は通常「できます」となるのですが、多くの非エンジニアの方は「技術的にできる」という返答を、後者の観点で受け取めがちです。実際のところ、非エンジニアとエンジニアにおけるミスコミュニケーションの発生源の多くが、ここにあります。

実際の仕事の現場では、後者の観点から「現実的に(事業として)できる・できない」というところが重要になりますよね?上記ではあえて「現実的に」という曖昧なことばを用いたのですが、実際の現場においては、

・ビジネスとして費用対効果があるかどうか、という意味での「できる・できない」

について、相互理解を握れていないと、仕事としては良い結果が生まれません。

そのため、エンジニアとの会話において、特定の機能ができるかできないか、をきちんと議論する際には、「ビジネスのゴールがどこにあるのか、そのためなぜそれが必要なのか」という観点をきちんとエンジニアに伝え、エンジニア側に「技術的なできる」ではなく「現実的に事業としてできる・できない」の視座に立って話せる前提条件を提供することが大切です。

多くの非エンジニアの人が、このあたりのビジネス的な目的の話を抜いてエンジニアに話をしてしまいがちです。また、日本の場合特にですが、エンジニア自身もそのあたりのヒアリングがあまり上手ではありません。

エンジニアの話が「現実的な事業としてできる・できない」の視座からの話となっているのか、を常に意識し、エンジニアが事業的観点から話すための充分な情報共有を行うことで、議論のレイヤーをあわせておくことが大切です。

エンジニアの「職人的エゴ」を理解しよう

また、エンジニアは「魔術師」というよりは「職人」という気質を持っていく職業であることを理解しておきましょう。
優秀なエンジニアほど、自身が作り上げるプロダクトの細部へのこだわりを捨てません。それはビール工場の職人や鍛冶屋の職人と同様なのです。
そして、職人気質が強いエンジニアは、優秀であるがゆえにこそある種の技術的なこだわりをきちんと持っています。ときには学術的な、哲学的な、歴史的な深みを持った思想を持って仕事をするようなエンジニアも居ます。

しかし、状況次第では、職人的なこだわりはビジネスの現場において非効率な余剰タスク・余剰コストとなることが充分にあり得ます。
たとえば、エンジニアの「職人的なエゴ」の事例をあげると、

・ユニットテストのテストカバレッジを○○%以上にキープしたい
・現状でユーザ観点ではシステムは動いているが、✗✗な理由でどうしてもリファクタリングを「今」しておきたい
・開発フローを、もっと理想的なTDD(Test Driven Development)で進めたい

などですが……専門用語ばかりでよくわからないですよね(苦笑)。ここではひとつひとつの意味を深く追求しなくても大丈夫です。

実際にエンジニアと仕事を行うと「そのこだわりは必要なの?」と思うシーンもあるでしょう。そして、一見ムダにも思えるエンジニアの職人的なこだわりは、長期的観点から有用になるが、短期的観点からはコストになる、という判断に難しいものであることがよくあります。
エンジニア自身が「職人的エゴに拘らない落とし所」を理解・提案できるように、エンジニアに対して「ビジネスとして現在満たしたいゴール」をきちんと伝えるようにして見て頂けると良いな、と思います。

他方で、エンジニア側にビジネスマインドが足りない場合には、ビジネスサイド側から少しエンジニアの言語を理解し、彼らのこだわりが何で、そこになぜこだわっているのかを聞いてあげることも大切です。
そうすることで、エンジニアサイドの考え方や世界観を知ることができますし、そこで生まれた「一歩踏み込んだコミュニケーション」が信頼関係を深め、次の仕事でのコミュニケーションをよりよいものにできるかと思います。

興味を持ってエンジニアと接することが大切

「エンジニアのできる・できないへの理解」「エンジニアの職人的なエゴへの理解」という2点に触れ、エンジニアとの関わり方への補助線を提示させていただきました。

総じて言うならば、「一握りの興味」を持ってエンジニアと接するだけで、実のところ多くの問題が解決します。
最近は多くの人がスクールに行くことを検討するほどに、社会全体がテクノロジーへの理解に対して、必要性を感じてくれています。

エンジニア職の人たちの多くは、論理的で理解力が高いので、コミュニケーションを通じて相互理解を作りやすい人たちです。
同時に、彼らは職人的な気質なので、興味を持って聞いてくれる人に対して話をする、ということは嫌いじゃない人が多いです。むしろ聞いてほしい、という、実は子どもっぽい性格をしている人の方が多いかもしれません(笑)。

そうした場合、「一握りの興味」を持って接してくれることが、コミュニケーションの総量を増やし、より良い関係性での円滑な仕事に繋がることはもちろん、みなさん自身のエンジニアリングに関する知識を広げるきっかけにもなると思います。

(構成:稲垣飛カ里)

(西出大介)

この記事に関連するニュース

トピックスRSS

ランキング