「エンジニアと非エンジニアのコミュニケーションは難しい」
――とはよく聞きますが、そうした課題感を持っているのにも関わらず、それを「難しいよね」で終わらせてしまうのは非常にもったいない話です。
さて今回は、「エンジニアの知識に乏しいライターがエンジニアイベントに参加した結果、普段接しているエンジニアの話が分からず驚愕した」というお話をさせてください。
本稿で伝えたいメッセージは、「エンジニアと非エンジニアのコミュニケーションは、両者の歩み寄りにより成立する」ということ。非エンジニアならではの視点から、まとめてました。
非エンジニアがエンジニアイベントに参加してみた結果
初めまして、マイナビの田中です! 普段は『マイナビニュース』にてライティング/編集業務を行っています。
そんな業務内容から垣間見える通り、私は「非エンジニア」です。とはいえ私は、知識がないなりにも、エンジニアがどんな業務をしているか、というのはなんとなくわかっているつもりでいたんですが、
そんな自信はある夜をキッカケに、消え失せました。
エンジニアが話している言葉が、講演の内容が、ほとんどわからなかったんです。それは、「今度、エンジニア向けのイベントやるからレポートを書いてくれない? 」と頼まれていた、11月20日開催の「マイナビTechNight」に参加した時のこと――。
マイナビTechNightとは?
以下、イベント告知ページより一部抜粋です。
マイナビTechNightとは、マイナビの様々なエンジニアが日々の取り組みで得た知見や経験を共有し、交流するミートアップイベントです。
この度、第3弾となる「マイナビTechNight#3」では、「マイナビで働くエンジニアがホンネで語る」をテーマに、弊社の中でも、『マイナビニュース』『マイナビ学生の窓口』など、生活に関わる情報を発信する「ライフスタイルメディア」のプロダクト開発にフォーカスした内容をより詳しくお話しします。
要するに、「マイナビのエンジニアが赤裸々に色々と話しますよ〜」という会ですね。会場には、お酒やちょっとした軽食なんかも用意されていて、非常に気軽に参加できそうな雰囲気でした。
色々と軽食を取りつつ、気楽に参加できるイベントでした
参加者の皆さんは、お酒やソフトドリンクを飲みつつ、弊社エンジニアの話を聞いていました
トレロで毎日見る、1枚のカード
「エンジニアと非エンジニアのコミュニケーションは難しい」
これは常日頃考えていたことでした。例えば、
田中「こんな機能が欲しいんですけど、どうですかね」
エンジニア「あぁ、それは実は〇〇が△△で××だから、難しいんだよねぇ」
田中「え、今なんて……? 」
みたいなことがあったり。
それに何よりこの問題を考える上で象徴的なものが、弊社のトレロ(タスク管理サービス)に貼ってある、「エンジニアと非エンジニアのコミュニケーションについて」というカード。それは「エンジニアと非エンジニアでは、見えているものが違う」ということを端的に示したツイートを貼ったものでした。
私の所属している「ニュースメディア事業部」のトレロ。ファーストビューのいい位置に置いてあるカードが……
こちら
こちらは、ソフトウェアエンジニアの広木大地さんのツイートを元にしてつくられたカードでして。このカードは、社内のトレロの最重要ポジションに位置し続けており、これが毎日のように目に留まるワケです。
つまりは、「エンジニアはCTスキャンを通すようにシステムの問題を見えているのに対して、非エンジニアは肉眼で表面的にしかシステムのことを見れていない」ということですね。
「共通語」を知らないと、エンジニアの課題感を理解できない
話は戻り、マイナビTechNightでは、エンジニアの岡部が登壇。今年の1月にジョインした彼が「マイナビニュースがチーム開発をするためにやってきたこと」という内容で講演を行いました。
岡部恭平:Webエンジニア。SIerの業務系SE、事業会社のWebエンジニアを経て2019年1月にマイナビにジョイン。Webアプリケーションエンジニアとしてマイナビニュースの開発に従事。現在はサーバーサイド(Ruby)やAWS周りに取り組んでいる。最近ハマっていることはSlack Bot開発。Twitter: @okabeeeat
「マイナビニュースは、2017年11月にシステムリニューアルをしました。その際に完全ベンダーコントロールからの脱却を目指し、現在は半内製で開発しています」と語る岡部。しかし、彼がマイナビにジョインしたのは、それから1年以上が経ったタイミングでした。
「私がマイナビにジョインした当初、前職と比べて、色々と開発環境が整っていませんでした。プルリクエストの情報がGiHub上に無い、誰が今どの環境でデプロイしているのかがわからない等、さまざまな課題がありました。こうした課題をひとつずつ解決していき、徐々に『チーム開発』ができる環境を整えてきました」(岡部)
――この話、後の懇親会にて参加者から「実際の経験を元に話されていたので、非常に参考になった」と好評だったのですが、当の私というと、まずは知らない単語の多さに驚き、同時に「何の話をしているのだろう」と唖然としていました。
頭の中は、「『プルリクエスト』って何? 『Vue.js』って何? 『GitHub』と『GitLab』って何が違うの? 」といった疑問ばかり。「エンジニアと非エンジニアは見ている世界だけではなく、そもそも話す「言語」が違うのだ」と感じた瞬間でした。
同時に、まずはエンジニアの共通言語を理解しないことには、彼らが課題に感じていることや、それを解決するための具体的なアプローチなども見えないのだな、とも。
※当日のスライドはこちら。エンジニアの方はすぐに理解できる内容かと思います! ↓
「非エンジニア」への説明は、翻訳コストがかかる
この講演を聞いたのちに、「内容を理解できていないのにレポートなんて書けない! 」と悩んだ私は、当日の資料を元に、恥を忍んで同僚に話を聞いてみることに。すると、ちょっとした解説を聞いただけで、講演の概要を理解できました。
要約すると、
・当初、チーム開発ができる環境が整っていなかった
・そこで、開発フローを整備。誰が何をしているのか、というのが見えるようにしたり、チームでプロダクトのレビューを見れるようにして、全員がそれに対してフィードバックできるようにするなど、関係者全員が働きやすいように環境を整えた
・そうした動きを開発ベンダー間ともつなげることによって、会社のエンジニアチームとベンダー間の関係性が「ベンダーと発注者」ではなく「開発チーム」という雰囲気でプロジェクトを進められるようにした
というシンプルな話でした。(話を理解すると、なぜあの場では理解できなかったのか? と疑問に思うほどに)
この時に聞いたのは、当日私が理解できなかった基本的な単語と、スライドの図の解説程度。そこまで長い時間はかかりませんでした。では、なぜ当日の講演ではそこまでに理解が追い付かなかったのでしょうか?
これは単純に、その説明が「エンジニア向け」か「非エンジニア向け」だったかの違いでしょう。後者の場合には、「あ、この言葉わからないよね、例えるなら~」といった説明を付け加えて理解を促すのに対し、前者の場合には、そもそもそういった説明が必要ないために、事象を説明するだけでよいのです。
つまりは、エンジニアと非エンジニアのコミュニケーションには「翻訳コスト」がかかってしまうのですね。今回のイベントでは、「対エンジニア」のコミュニケーションであったために、非エンジニアの私は理解しづらかった、というワケです。
マイナビのエンジニアが今後やっていきたいこと
さて、講演の最後に岡部は「色々と開発環境を整えてきたが、まだまだできることはたくさんありますし、やりたいことも多く残っています」と語っていました。
両者の円滑なコミュニケーションを実現するために
岡部が挙げた「今後やっていくこと」の一部には、「CMS(コンテンツマネジメントシステム)の改修」といった、我々のような非エンジニアがメインで使うシステムの改修も要項として入っていました。
そうなると生まれるのが、「エンジニアと非エンジニアのコミュニケーション」。ここをどれだけ円滑に回せるか、というのが大事になるでしょう。しかし、エンジニアと非エンジニアは見えているものが違う――という前提に立ち返ると、コミュニケーションエラーが起き、スムーズに改修が進まない! といった問題も出てきそうなもの。
では、どうすればそういった事態を避けられるのか? というと、それは、エンジニアは非エンジニアが、非エンジニアはエンジニアが、「何を見えていて、何を見えていないのか」を理解することではないでしょうか。また、それを理解したうえでの両者の歩み寄りもまた重要になりそうです。
こう考えてみて改めて気づいたのは、「マイナビのエンジニアって、歩み寄ってくれる人が多い」ということ。私がエンジニアの業務内容を理解している“つもり”でいられたのは、彼らがしっかりと言語を翻訳してくれていたからなのでしょう。
しかし、非エンジニアはそれに頼ってばかりではいられません。例えば、エンジニアの説明でわからない点があった際に、恥じらいを捨てて「これってどういう意味?」と質問する等、「エンジニアの視点」を理解する努力も大事なのでしょう。そうした質問は、エンジニアにとっても「あ、ここまでは見えていて、ここからは見えていないのか」という気づきを与える機会にもなります。
こうした地道なコミュニケーションの繰り返しによって、まずは両者が互いの視点を知り、その視点を高めることが、両者の円滑なコミュニケーションを実現させるためのはじめの一歩。それが、ひいてはマイナビのサービス成長にもつながっていくのでは――??
非エンジニアがエンジニアイベントに参加してみた結果、そんなことを考えました。
イベントの最後は、登壇者と参加者で乾杯! エンジニア同士のコミュニケーションの場となりました
「チーム」で事業グロースに挑戦したい人、WANTED!
さて、そんなマイナビでは現在、エンジニアを積極募集中です!
岡部の言葉を借りるなら、弊社のエンジニアチームでは「まだまだできることはたくさんありますし、やりたいことも多く残っています」。我々と「チーム」で、マイナビのサービスを、もっとより世の中に影響を与えられるようなものにしていきませんか?
少しでも興味を持っていただけた方は、是非話を聞きに来てくださいね!
今回のイベントで語られた内容はコチラから
マイナビTech Night #3の詳細レポートはこちらから。岡部が語った内容に加えて、他2名のマイナビエンジニアの講演内容がまとまっています。
これまでのイベントレポートはコチラ!