リモートワークでのエンジニアの育て方

今年は4月と5月にエンジニアが1名ずつ入社した。1年前にも、その頃入社したエンジニアに教えたこととして日報記事を書いたが、今年は新型コロナウイルスの影響で2人とも初日からリモートワークという状況だ。入社していきなりリモートワークで、どのようにエンジニアの仕事を教えていくのか、今回は1ヶ月間試行錯誤した中でよかったと思えたことを紹介する。

入社したエンジニアは2人ともHTML・CSSの基本スキルを持っていて、まずはじめの目標は「ベイジのコーディングルールに沿ったHTML・CSSが書けるようになる」ことを設定した。

チャットはつなげっぱなしに

まず、リモートワークなので横について直接教えたりといったサポートができない。その代わりになるのがビデオチャットだ。今回はDiscordを使用し、詳しい説明が必要なところなどは画面共有をしてもらってサポートを行った。

また、通話を繋ぐといった作業が地味に時間がかかってもったいなかったので基本的には常に繋ぎっぱなしにして、お互いミュートで無音状態にしておく。必要に応じて話しかける運用にすることでお互いの作業を邪魔することなくサポートすることができた。

チャットツールは通話機能と、画面共有さえあればDiscordでなくても問題ないと思う。ただ、Discordのよいところを挙げるのであれば、「部屋」のようなシステムになっていることだ。例えば「エンジニアの部屋にいますね~」といった待ち合わせのような使い方ができ、その部屋に参加すればすぐチャットを開始できて便利だ。

やることは文章化

Discordですぐに聞ける環境はつくったものの、現実ほどスムーズにはいかないのでなるべく口頭の説明には頼らないほうがよい。初日に行うソフトウェアのインストールやアカウント作成などは対面のときはついつい口頭でつきっきりになって説明しがちだったが、今回からはダウンロード先やインストール方法を書いたTodoリスト的なものを準備して1人で取り組んでもらった。

最初こそ説明は必要だが、あとはサクサクと1人で進められる。ちなみに私自身は横につきっきりで張り付かれると、作業に集中できない人間なのでこの方が良いと思っている。

コーディングの設計書を作る

本題のコーディングルールを教える、という点ではやはり苦労した。対面と違って図を使ったり、画面に指差しで教えるというのが難しく、細かなニュアンスが上手く伝わらない。また、本人曰くパーツの共通化の判断基準であったり、クラス名の付け方が難しい、とのことだった。

そこで、コーディングの設計書的なものを作り、それに沿ってコーディングしてもらうことにした。この設計書は、デザインデータにパーツの区切り方や命名を赤ペンで書き込んだ簡単なものである。設計書に沿ってコーディング→コードレビューして修正、という流れで進めることにした。

コードレビューはVSCodeのLive Share機能(リモートで1つのエディタに参加して、共同編集できる)を使って、より理解が深まるように、教える側である私が直接コードを目の前で解説しながら修正していった。これの副産物として、作業風景を見せるのでショートカットなどの小技も伝授できる。これは対面のときにはなかった効果だ。

このような代替手段を採ってから、感覚ではあるがだいぶスムーズに理解が進むようになったんじゃないかと感じている。また、これはリモートに限らず、慣れている人にはどのようにデザインが目に写っているのかを伝えることができるよい方法だと思っている。ぜひ今後も有効活用していきたいと考えている。

まとめ

今回のリモートワークは、いいように考えると、これまでの教育体制を見直すよい機会にもなったと感じている。どうしたら対面のときと同じように教えることができるだろう?とあれこれ試した結果、リモートに限らず対面時にも逆輸入したい、そんな方法も生まれた。いずれまた会社に行く日は来るだろうが、リモートと対面、双方のいいとこ取りで、教育体制を整えていきたいと思う。