新人エンジニアにこそ非同期コミュニケーションしてもらおうぜ!という話
目次[非表示]
はじめに
こちらの記事はDIVXアドベントカレンダー2022の19日目の記事です。
DIVXでプロジェクトマネージャーを務めております内田よりお届けいたします。
本日は「新人エンジニアにこそ積極的に非同期コミュニケーションをしてもらおうぜ!」というお話をさせていただきます。
なぜ新人エンジニアの話をするのか?
昨今、IT人材の不足が取り沙汰されることが多くなりました。2019年から需給ギャップは大きく広がりはじめ、2030年には41万人程度の人材不足が見込まれているそうです。DIVXはこのIT人材不足という社会問題の解決をミッションとしています。
引用:IT人材の最新動向と将来推計に関する調査結果
そんな状況の中、多くの企業は即戦力だけでなく経験の浅いエンジニアの採用をする機会が増えるでしょう。現場のエンジニアもその影響を強く受けることになります。
そこで新人エンジニアが一人前として成長できる環境をつくることは重要なテーマだと私は思い、取り上げることにしました。
現実的な課題
とはいえ、新人エンジニア育成はそう簡単な話ではないと思います。たとえば、下記のような経験はありませんか?
「新人が同じところで悩んだまま進んでない…気軽に聞いてくれればいいのに…」
「逆になんでもかんでも質問されるので大変! もう少し自分で考えてほしい!」
こういった状況を放置すると、新人エンジニアのパフォーマンス低下だけでなく、サポートするメンバーの負担が増加することに繋がります。
そこで、新人エンジニアの非同期コミュニケーション環境を改善することで、これらの課題が解決するということをお伝えしたいです。あくまで個人的な意見ではありますが、お聞きください。
非同期コミュニケーションとは?
非同期コミュニケーションとは、テキストを主体としたコミュニケーションのことです。具体的にはSlackやTeamsといったチャットツールを用いたり、BacklogやNotionといったツールにドキュメントを残して共有することを指します。
DIVXではこの非同期コミュニケーションを重要視しており、全社員が意識してやり取りを行っています。社員が生産性高く働く事を目的としたDIVXワークルールでも下記のように定めています。
Slackやメール等非同期通信によるコミュニケーションを主体としている
私も「これは本当に口頭で行うべきなのだろうか?テキストでやったほうがいいのではないだろうか?」と考えながらコミュニケーションを行っています。
もしDIVXワークルールに興味があれば下記の記事もぜひ読んでみてください。
非同期コミュニケーションのメリット
新人エンジニアに限らず、非同期コミュニケーションには多くのメリットがあります。そのうちのいくつかを紹介します。
1. コミュニケーションの履歴が資産として残る
例えばSlackでやり取りを行った場合、話した内容のログが残るため、後から参照することができます。
新しいチームメンバーが入ってきた場合にも、「エラーメッセージを検索したら他の人が同じ問題で悩んでた!それ見て解決した!」みたいな事が増えますね。
また、口頭では同席していたメンバーにしかやり取りの内容はわかりませんが、非同期コミュニケーションであれば全員に情報が行き渡ります。
2.テキスト化の過程で課題が構造化され、問題解決に役立つ
文章でわかりやすく相手に伝えるとなると、構造化が必須です。
「目的」「原因」「仮説」「根拠」が自然と整理されるため、自分にとっても現状が明確になります。
3. 解決すべき課題にフォーカスできる
口頭だと思ったことをそのまま口に出す場合が多いため、不要な情報が多く含まれます。要点からズレた話を長々としてしまうケースもあるでしょう。
文章であれば必要な情報に絞って伝えることになるため、最適化されたコミュニケーションになります。
もちろん、情報が削ぎ落とされてしまうのは良いことばかりではありませんが、最適化が生産性をあげるのに重要なのは間違いないと思います。
新人エンジニアにこそ非同期コミュニケーションを
このように、テキストベースでやり取りには様々なメリットがあります。
そして私は、新人エンジニアに積極的に非同期コミュニケーションをしてもらうことが本人の成長、ひいてはチーム全体のパフォーマンス向上につながると考えています。
理由をひとつひとつ説明していきます。
1. 新人が困る部分をテキスト化する費用対効果が大きい
新人にとって必要な知識というのはプロジェクトで必須の知識の可能性が高いです。一例としては環境構築で頻出のエラーの解決法やアプリケーションの基本的な仕様などが挙げられますね。
新人からの相談に関してはテキストで回答を行ったりドキュメント化しておきましょう。こういった情報が後から参照される確率は高いです。
本人が内容を見返すことができますし、新しいメンバーが増えた場合や既存のメンバーにとっても有用となります。
新人が残すテキストは資産としての価値が高いのです。
2.口頭でのやり取りは先輩エンジニアの負担が大きい
Zoomやハドルを用いたやり取りを実施する場合、先輩エンジニアへの負担は想像以上に大きいです。
作業に集中してる途中にいきなり頭を切り替えてサポートに移らなくてはいけない…というのは単純な作業時間以上のスイッチングコストがかかります。また、サポートの負荷も特定のエンジニアに集中しがちです。
作業の合間だったり、余裕のある人がサポートに入れる非同期コミュニケーションの方が「しんどくないサポート」ができます。
3. 新人エンジニアにとって罪悪感が少なくて済む
「先輩の時間を奪うのが耐えられず、駆け出しエンジニアが1年以内に辞めてしまう」という問題がTwitterで話題になっていました。
辞めるまでいくかは置いておいて、忙しそうにしている先輩に声をかけるのはなかなかハードルは高いですね。先輩に頼る機会が多い新人ほど罪悪感が強くなるのは確かでしょう。
プロジェクトに貢献できていない状態でTakeだけ続けることには人は耐えられません。そういった悩みがある状態ではたして業務に集中できるでしょうか?
非同期コミュニケーションであれば罪悪感は少なくて済みます。
新人エンジニアに非同期コミュニケーションをしてもらうには
ここまで非同期コミュニケーションを実施するメリットを挙げてきましたが、実際に口頭でのやり取りからシフトしていこうとすると、多くの課題に直面します。
「テキストでのやり取りだと時間がかかりすぎてしまう…」「アウトプットが出せてないように見える…」といった問題は私も頭を悩ませました。
新人エンジニアは横について丁寧にサポートしなきゃダメだ、と思う気持ちもわかります。実際に口頭ベースの方が最適になる場面もあるでしょう。
しかし実際に仕組みを整備していくと、工夫次第で解決できる問題も多いことに気付きます。
そこで、非同期コミュニケーション環境を改善するためにとくに効果的だと思った取り組みを紹介します。
それは「質問しないと解決できない環境を変える」です。
質問するって難しい
新人エンジニアが課題に悩んでいるとき、どのように解決すべきでしょうか?自分で解決できないケースでは「先輩に質問して解決する」というアプローチが一番に思い浮かぶと思います。
しかし、このアプローチは万能ではありません。
それが質問するべき問題なのか、それとも自分で考えて解決すべき問題なのかの判断を行うのは難しいケースが多いからです。
実際にはその間に「質問するべきか微妙なラインの問題」「業務上支障はないけど、気になっている問題」といったグレーゾーンの問題が多くあります。
いくら「気軽になんでも質問してね」といっても、頭に浮かんだことを片っ端から質問する人は少数派です。先輩のことを慮って、質問するべき問題だと確信できたもの以外は自分で解決しようとするのは自然なことです。その結果、判断の難しいグレーゾーンの問題に苦しむことになります。
先輩側から声をかけづらい非同期コミュニケーションにおいて、これは致命的な問題です。
逆のケースもあります。「判断できない問題は全て質問する」というスタンスを取った場合、先輩エンジニアの負担が大きくなりすぎる場合です。
ゆえに、「質問する」というアプローチに依存しすぎるのはリスクになります。
ではどうするか
「質問する」アプローチへの依存する必要のない環境を作ることができれば、上記のような問題を解消できます。
質問へ依存しないようにする具体的な方法として、下記が挙げられます。
1. 作業プロセスと思考プロセスを全てSlack上に書いてもらう。
「これから○○に着手する」
「○○というエラーが発生した、○○が原因な気がする」
といった具合に、全てのアクションを書くことを新人エンジニアにも徹底してもらいます。質問するというプロセスが経なくとも、それを見て他のメンバーがアドバイスをすることができるようになります。
質問するべきか悩まなくて済むため、エンジニアが本当に考えるべきことに集中できます。
minutesやtimesといった本人用の分報チャンネルを用意すると記入ハードルが下がって効果的です。
2. タスク着手前にアウトラインを書く
アウトラインとは、「課題」「解決方法」「実装方針」などをまとめたドキュメントです。このドキュメントをレビューすることで、タスクへの理解度や実装方針がわかるようになります。
完成したコードに対してのレビューだけでなく、実装前に考え方に対してレビューを行うフローを組み込むことになり、質問しなくても自然と疑問点が解消できる体制になります。
上記はあくまで一例ですが、非同期に適したやり取りにシフトすることで、対面より快適で負担の少ない環境を作ることができます。
また、話すべきことが明確になることで、非同期コミュニケーションで時間がかかりすぎることを防げます。
非同期コミュニケーション中心の世界
ここまで非同期コミュニケーションについてお話させていただきました。
私が思うに、非同期コミュニケーションを中心の環境とは、
「外部要因でパフォーマンスが下がることが少なく」
「本当に必要なことに集中でき」
「負荷が分散されている」
そういった環境だと考えています。
環境を見直した結果、今まで活躍できなかった人、とくに新人エンジニアが大活躍できるようになった…そんなこともありえるでしょう。そんな人がこれから少しでも増えたら嬉しいな、と私は思います。
この記事が少しでもみなさんの役に立ったようであれば幸いです。
おわりに
DIVXでは非同期コミュニケーションを中心としている会社です。
懇親会やランチなどの業務外での同期コミュニケーションは活発ですが、仕事中は生産性を上げるために非同期コミュニケーションを活用する場面が多くあります。
興味があるかたはぜひ採用ページを御覧ください。
一緒に働ける仲間を募集しています。