Findy Engineer Lab

次世代のエンジニアのキャリアを考える

リモートワークで成果を出す「リモート開発におけるエンジニア組織の弊害と乗り越え方」ウェビナーレポート

f:id:findy-lab:20200918164856j:plain

こんにちわ。FindyでBtoBマーケティングを担当しております松岡と申します。 2020年4月30日、Zoomにてウェビナー「リモート開発におけるエンジニア組織の弊害と乗り越え方」が開催されました。

現在、新型コロナウイルス感染症拡大の影響により、不慣れなリモートワーク体制での開発を進めている企業が多くなっています。そこで今回、リモートワークを活用して開発を進めている方をお招きして、リモート体制でもうまく開発を回せるコツや工夫などをテーマとしたウェビナーを実施しました。

「リモート時のコミュニケーションはどうしてる?」「リモート開発に必要なツールは?」といった質問のほか、Zoomのチャットに書き込まれる参加者からの質問にも随時応えながら進行するなど、ウェビナーならではの内容となったトークをお届けします。

■登壇者プロフィール

土屋 貴裕(ころちゃん) https://twitter.com/corocn

f:id:findy-lab:20200918165203p:plain

名古屋工業大学大学院卒業後、デンソーにてカーナビゲーションシステムの開発に従事。専門は音声認識。その後SIer、クラウド請求書サービスの開発を経て、2019年にキャスターにジョイン。 エンジニアとしてbosyuの開発を支えながら、エンジニア採用や働き方などの発信を続けている。社会人としてのリモートワーク歴は3年。アルバイト時代も含めると7年ほど。

佐藤 将高(まさたん) https://twitter.com/ma3tk

f:id:findy-lab:20200918165206p:plain

東京大学 情報理工学系研究科 創造情報学専攻()卒業後、グリーに入社し、フルスタックエンジニアとして勤務する。2016年6月にファインディ立上げに伴い取締役CTO就任。 大学院では、稲葉真理研究室に所属。過去10年分の論文に対し論文間の類似度を、自然言語処理やデータマイニングにより内容の解析を定量的・定性的に行うことで算出する論文を執筆。

リモートを活用する登壇者2名の自己紹介からスタート

――まず最初に、お二人の自己紹介からお願いします。

佐藤: ファインディCTOの佐藤です。Twitterでは「筋肉CTO」という名前でやっています。2013年に新卒でグリーに入社して、バックエンドやフロントエンド、ゲーム開発、QAなどのエンジニアリングをしていました。2016年にファインディを立ち上げて、創業からCTOをしています。

もともと小学生の頃からWebサイトを作ったりするのが好きで、30~40個くらいWebサイトを作っていました。本日はぜひコメントしながら参加いただけると嬉しいです。

ころちゃん: bosyuのころちゃんです。今は株式会社bosyuと、株式会社キャスターという会社に所属しています。もともとbosyuというサービスをキャスターが運営していて、それをグロースするために子会社化したので、2つの会社に所属する形になっています。

前職は、クラウド請求書の会社にいまして、そこでフルリモートを始めました。なので、リモート歴でいうと3年ほど。昔アルバイトでプログラミングしていた時期も含めると、リモート歴としては7年くらいになります。

今チャットで質問いただきましたが、僕は岐阜に住んでいます。ベンチャーで働いていますが、実は一度も東京に住んだことがなくて。ずっと東海圏でWebの開発をしてきたので、その辺の働き方なんかも聞いていただけたらと思っています。

普段のコミュニケーションに、Slack上での「分報」を活用

f:id:findy-lab:20200918164846p:plain

――まずは、リモートでの普段のコミュニケーションについて聞いていきたいと思います。オフィスで働くのと同じ量のコミュニケーションが取れないことで悩んでいる方も多いかと思うのですが、いかがでしょうか?

佐藤: 基本的にファインディでは、「分報」をSlack上に作っています。分報というのは、社内Twitterのようなイメージ。希望者は全員そこに参加して、「今日も疲れた~」「お疲れ様です!」といった感じで、その人が今何を考えているのかをSlackへ自由にアウトプットしています。

エンジニアも営業サイドも分報チャンネルを作っていて、そこで普段のコミュニケーションを取っているのが1つ。それから、朝会と夕会でキャッチアップを図るようにしているというのがもう1つです。

ころちゃん: キャスター本体はチャットワークを使っていて、部署によってSlackなんですけど、bosyuはSlackメインなので同じく分報を使っています。ただ、チャットでも書かれている方がいるように、うちでも”分報チャンネル多すぎ問題”が若干発生しつつあって。

分報に15人くらいが入っているんですけど、全部を見ていると無限に時間が吸われていくんですよね。なので、全員分の分報が流れてくる「current all」みたいなチャンネルを1つ作っておいて、必要なチームメンバーの分報だけに入るとか、意図的に情報量は絞った方がいいかなと。

ちなみに、うちはプレフィックスで「current」というのを分報として運用しています。ファインディさんはどうですか?

佐藤: うちは「times_」でやってます。アルファベット順に並んで、一番要らない情報に近いものなので、先頭に「Z」を付けるという会社さんもありますね。

――チャットで「新人エンジニアとのコミュニケーションが難しいです」とコメントいただいていますが、いかがでしょうか。

佐藤: 新人エンジニアとのコミュニケーションは、たしかにめちゃくちゃ難しくて。今はうちでバリバリ活躍してくれているんですけど、当初はエンジニア経験がなかったメンバーが、花粉症がつらくて沖縄にリモートしに行っていた時があるんですよ。

その時はZoomで常時接続しておいて、話しかければすぐにコミュニケーションが取れるようにしていました。それがなかったら最初の段階は難しかったんじゃないかなと、振り返って思いますね。

ころちゃん: bosyuでも、新人に限らず開発チームはZoom繋ぎっぱなしにしています。ただ、ビデオを常にオンにしておくと監視されているような感覚に陥るので、状況によってはビデオをオフにして。音声通話で「ちょっといいですか」と話しかけたらすぐに反応できて、そこから画面共有してやり取りする、みたいな流れが作れるようにしています。

音声メインならDiscordとかもいいですよね。もともとオンラインゲーム向けのツールなんですが、Discordだと最初に部屋を作っておけるんですよ。例えば「雑談ルーム」みたいな部屋を作っておいて、そこに今誰が入っているかわかるので、そこに溜まって雑談するとか。

佐藤: いいですね。Slackと違って誰が滞在しているかわかるから、「ころちゃんいるから雑談しに行こ」みたいな感じにできるんですね。

ころちゃん: あと、Discordは基本音声なので軽い。Zoomより軽いです。

佐藤: たしかにZoomしながら開発してるメンバーから、「開発環境が立ち上がらないのでZoom落としました」って言われたりとか(笑)。軽さを追求した方がいいなというのは、最近思うところですね。

リモートでのミーティングの頻度や方法は?

f:id:findy-lab:20200918164841p:plain

――続いての質問は、ミーティングの頻度や方法についてです。同期的なコミュニケーションをどれくらい持つべきかというところに関して、いかがでしょうか?

佐藤: うちのケースだと、朝会と夕会をやっているので、週5日に2回ずつで週に10回ミーティングをしていることになります。分報なども駆使してコミュニケーションは取っているんですけど、口頭で話してお互いの安心感を得るためにもやっていたりします。

ころちゃん: 僕のミーティング頻度をメモってきたので貼りますね。

  • Daily Standup 5〜10分
  • 全体の週次定例: 30分
  • チームの週次定例: 15分
  • 開発チームの雑談タイム: 30〜60分(週1)
  • 毎週のランダム1on1: 10分

こういう感じで、特に開発チームの雑談タイムを少し長めにとっていて、「最近こんな技術の話題があるよ」とか「こんなガジェット買った」とか、そういったところでコミュニケーションを取ったりもしています。

意外とミーティング自体は少ないと思います。これはリモートに限った話ではないですが、むやみに定例を増やしてしまうと、”定例でしか進捗報告しないマン”が出てくるんですよ(笑)。なので、とにかく日々Slackでコミュニケーションを取る形がいいと思っています。

あとは、リモートだと定例の時間が長くなりがちなので、Googleカレンダーの設定でデフォルトを20分とかにして時間を短く切っていたりしますね。

佐藤: オフィスだと会議室で「次の人来ちゃったから終わります」みたいな場面もありますけど、オンラインだと無限に話せちゃうんですよね。

ころちゃん: そうなんですよ。雑談タイムも無限にしゃべれてしまうので、定例の前に1on1の雑談タイムを持ってきて、強制的に時間が切れる感じにしていたりします。

アラートを感じたら、すぐにオンライン通話へ移行

f:id:findy-lab:20200918164836p:plain

――リモートでは、メンバーの不満や困りごとが見えづらいという難しさがあると思います。タスク進捗管理やつまづきに気づくために工夫されていることはありますか?

佐藤: 特に今、新規事業で「Findy Teams」というサービスを作っているんですけど、それを進めていく中では、アラートかなと思った瞬間に、速攻でオンライン通話に移行するようにしています。

テキストでのコミュニケーションにエンジニアは慣れていると言っても、やっぱり話した方が早いんですよね。何で悩んでいるのかの背景まで含めて、ちゃんと口頭で聞き取った上でで「なるほど、じゃあこうしていきましょう」と。そうやって口頭で話して意思決定したものだけを、Slackにまとめるようにしていたりします。

オンライン通話に移行した時は、早めに気づけてよかったなということがほとんどですね。Slack上だと「そこ議論しなくてもいいんじゃないかな」っていうところで、ずっと議論していたりとか。それくらいリモートの難しさがあるなと感じる一方で、話せば解決するっていうことも感じています。

ころちゃん: bosyuでは、つまづくことがあれば分報にバンバンに投げているんで大丈夫なんですけど、そういう困りごとを簡単に発信できる文化を作ることが大事かなとは思いますね。

結構いろんな会社のSlackに入っていたことあるんですが、仕事の話しかしないようなSlackに入ると、どのレベルの話をしていいか考えてしまうんですよ。チャンネルがかっちり区切られていて、聞きたいことがあるんだけど「これどこで聞けばいいんだろう……」みたいな。

なので、「どこでもなんでも話していいよ」という文化にしておくと、困りごとは表に出てきやすいですね。うちはメインのチャンネルでも雑談したりしていて、雑談をきっちり分け出すと良くないかなと。あと、bosyuとは別の会社なんですが、「Ask Anything」という、その名の通り「困ったら何でも聞いていいですよ」というチャンネルを作っておく例もありました。

1on1のコミュニケーションと、「雑談してもいい」空気づくり

f:id:findy-lab:20200918164831p:plain

――リモートになってからアウトプットが弱い、あるいはコミュニケーションが取りづらいメンバーが出てきた場合、お二方はどうされていますか?

佐藤: これに関しては、ファインディのエンジニア優秀なんで、みんなリモートでも強いんですよね(笑)。でも過去に、リモートに切り替えて成果が出せないメンバーは確かにいました。

その時は、僕が期待していることを明確に伝えつつ、それが何故できていないのか、といったことについて、僕なりにその人と1on1を重ねるようにしていましたね。

f:id:findy-lab:20200918164825p:plain

――ちょうど次の質問内容が1on1に関してなのですが、リモート時の1on1で気をつけているポイントについて、合わせていかがでしょうか。

ころちゃん: そもそもコミュニケーションが取りづらくても、成果が出ていたらいいとは思うんですけど、もし成果が出ていないのだとしたら、1on1をする機会をもっと増やすといいんじゃないかなと思いますね。

ちなみに、bosyuの1on1は、ほぼ雑談しかしていなくて(笑)。雑談ってグラデーションになっているんですよ。本当にプライベートの話から、プライベートと仕事の境目の話まであって、Slackを見ていてもその境界の話が多い。ということは、雑談って大事なんだなって。

佐藤: 根が真面目なのかわかんないですけど、どこかで「雑談しちゃいけない」みたいな、昔でいう先生に怒られるみたいな感覚があったりして。そういう感覚ってないですか?

ころちゃん: ないですね。みんなTwitterやってるし大丈夫かなって(笑)。それに、僕もどうでもいい話を振り返りでしたりするんですよ。「今週は頭が痛かったからダメだ」みたいな(笑)。でも、そういうことを僕がしていると、それよりまともなことだったら何でも書いていいんだってなるんですよね。

佐藤: 今チャットにも書いてくださった方がいますけど、「上司が雑談しているとしやすい」みたいな、そういう空気はやっぱりありますよね。

オンラインホワイトボード「miro」がブレストに使える

――リモートへ移行するにあたって、必要なツールがあれば教えていただけますか?

ころちゃん: 少し前からbosyuで使い始めて、かなりいいなと思っているツールがmiroですね。オンラインホワイトボードツールなんですけど、ブレストする時とかにめちゃくちゃ便利です。

オンラインホワイトボードサービス「miro」:https://miro.com/

佐藤: どういう風に使うツールなんですか?

ころちゃん: ホワイトボードの画面が、全部リアルタイムで反映されるんですよ。カーソルがどこにあるかも全部わかるので、これでブレストしながら会議を進めたり。最近は議事録もここに書いていて、テキストボックスに議事録をまとめて、後でesaにペタッと貼るとか。

miroは有料だから使えないという場合は、Googleスライドで付箋っぽい図形を置いて、似た使い方をする方法もあるかもしれないですね。あとは、チャットはSlackだし、ビデオはZoomだし、この3つでだいたい仕事終わってると思います。

佐藤: 僕は今、Zoom専用のPCかiPadがあった方がいいなと思ってます。というのも、いくらZoomは軽いと言っても、開発していると影響してきたり、動きが遅くて意図しないコマンドを打ってしまうようなケースが多発していて。

古いPCやiPadを使って、1つはZoom専用として置いておいた方が、効率が良くなるなと。実際にリモートで稼働している中で、横に置いたiPadでコミュニケーションを取って、開発のPCには影響が出ないようにしているメンバーもいて。僕もこれからトライしようと思っています。

昨今の状況下での採用、リモート面接の工夫は?

f:id:findy-lab:20200918164819p:plain

――コロナの影響下で、なかなか正社員の応募が来ないとお悩みの企業も多いかと思います。採用について工夫されていることはありますか?

佐藤: ちょうど今から3時間前くらいの話なんですけど、完全リモートの正社員を採用するということが決まりました。もともとリモートに対してそこまでネガティブではなかったんですが、スタートアップで開発するにあたって、やっぱり口頭でコミュニケーションできた方が早い場面ってあるんですよね。

ただ、今この状況でみんなリモートになっているので、地域を絞らず日本全国に採用対象を広げてみようと。これまで東京近辺の人しか採用対象にならなかったのが、一気に全国に広がるので「ワクワクしますね!」という感じで、先ほどミーティングが終わったところです(笑)。

ころちゃん: bosyuでは、コロナの影響が出る前に充足して、採用はクローズしてしまっているんですけど、他のベンチャーを見ていると今採用を絞っているところが多いですよね。

だから、この状況で採用しようとしているだけで魅力的な気がしますし、動いている人も結構いるので、ちゃんとスカウト文面を直したりしていけば、応募は来るんじゃないかなと。ただ、オンライン面接になるので、そのスキルを身に付ける必要はあると思います。

――リモート面接だとお互いの距離を近づけにくいなどの難しさもあると思いますが、これに関してはどのようなことを意識されていますか?

ころちゃん: bosyuでは、面談で雑談しかしないスタイルを取っていて。結構オンラインで話すことに慣れていない人もいたりするので、とにかくアイスブレイクをきちんとした方がいいと思いますね。

採用面接って営業と同じテクニックが使えて、ラポール構築と言ったりもしますが、最初に信頼関係をいかに結ぶかが大事なので、そこを意識すべきかなと思います。

佐藤: アイスブレイクが苦手なんですけど、どんなアイスブレイクをしていますか?

ころちゃん: 僕の場合は、事前に相手のプロフィールを見てネタを考えておくので、事前準備が90%くらいだと思います。

佐藤: たしかに、Findyでスカウトを送る時も、わりと細かいところまで、例えば載せてあるポートフォリオの内容まで見て、スカウトの文面でもそれに触れたり、面接でも聞いたりしてますね。

ころちゃん: そうですよね。興味を持ってスカウトを送っているわけなので、興味の対象があるはずなんですよ。

――対面での面接とリモートでの面接で、何か変えていることはありますか?

佐藤: 基本は変えてないですね。リモートでも対面でも工夫していたのは、事前に資料を送っておくこと。事前に読んでもらっておくことで、たくさん質問してもらいやすくなるので。

それから、リモートか対面かという選択肢があった時は、熱量が命だと思うので「リモートでも対面でもいいから、あなたと話せる最速の日程をください」というコミュニケーションを取ったりしていました。

「リモートだったら昼でも大丈夫です」という人がいたら、リモートでやりましょうと。それで、最後に一度会っておいた方がいいなと思えば、直接会って面接するという流れで過去はやっていました。

ころちゃん: 前の質問に戻りますが、採用を改善していくという面では、長期的な改善と短期的な改善があると思っていて。長期的な改善に関しては、そもそも事業に魅力がないとか、発信している記事が溜まっていないとか、何ヶ月も掛けてじわじわ積み重ねていかなければなりません。

一方で、短期的な改善だと、求人票やスカウト文面を見直すといった方法があります。例えば、求人票のJavaScriptの大文字・小文字が間違っているのを直すとか(笑)。実際、別の会社でPythonとかの綴りがめちゃくちゃだったのを直したら、応募が来るようになったなんて話もあったりしたので(笑)。

あとは佐藤さんが言っていたように、面談日までを最速で組む。特に今はリモートで仕事をしているから、ランチタイムとか出社前とか、リモート面談を受けやすいはずなんですよ。 例えば、スカウトの返事が来たらすぐ「今日話しましょう」みたいなこととか、やってみたいですね。

佐藤: 僕、それやったことあります。

ころちゃん: それくらいのスピード感で進めていった方がいいかなと思います。日程調整するのって結構大変なので。返事を返してくれる時間があるなら、その文章を書く時間で15分くらい話しませんか、みたいな。そういう体制が作れるといいですよね。

新たなメンバーを迎え入れる時、リモートではどうする?

f:id:findy-lab:20200918164804p:plain

――最後の質問は、リモートでの入社時オンボーディングはどうするのか、そして新しいメンバーをどうやってチームに馴染ませていくのか、という2つについてです。このあたり何かご経験ありますか?

ころちゃん: まずは基本的なところですが、オンボード資料をちゃんと作りましょうというのが1つ。それからbosyuの場合は、最初にオンボーディングチャンネルを作ったりしています。しばらくはそれを使って、1ヶ月くらい経ったら分報チャンネルにリネームするとか。

あとは、Slackのチャンネルが多いので、オンボーディング時にどのチャンネルで何の話題が話されているかを説明したり。あとは、新しく来られた方とすべてのメンバーが早めに話せるように、雑談1on1を組んだりもします。

入社するとよく、自己紹介タイムがあったりしますよね。あれって元からいる人が新しく来た人のことを知るには役に立つんですが、逆の立場から見た時、新入社員が会社にどんな人がいるのかを知るのには役立っていないわけです。そういう意味で、新入社員の人が社内の人を知って話しやすくする環境を作るのは大事かなと思います。

ウェビナー参加者からの質問に答える、質疑応答タイムへ

参加者: ある程度自走できるレベルのインターン生がいて、Discordを繋ぎっぱなしにしているのですが、顔が見えていないのでコミュニケーションのズレが生じてしまうことがあります。インターン生とは、どのようにコミュニケーションされていますか?

佐藤: うちも直近までインターン生がいたんですが、コロナの影響で直接教えられなくなってしまったので、一旦休止してもらっている状況です。

ただ、もしリモートで続けるとなった場合、カメラはONにしてもらいますね。音声だけだと目からの情報がなくなってしまうので、画面も音声も付けて情報量を増やしていったほうがいいかなと。特に自走が難しいインターン生であれば、なるべくやったほうがいいと思います。

参加者: 先ほど、アラートを感じたらすぐに通話へ移行するというお話がありましたが、アラートはどのように拾っていますか?

佐藤: Slack内で一定時間あたりのレスポンス数が増えたなと感じたら、すぐに「口頭で話してください」と伝えています。

Slackで議論し始めると止まらなくなってしまうのと、テキストの情報って絵文字を付けないと厳しい文章に見えてしまうんですよね。ストレートに言った方が伝わりやすいけど、その分キツく見えてしまうので、それを回避するためにはニュアンスも伝わる口頭で補足した方がいいかなと思っています。

――以上で、本ウェビナーは終了となります。皆さま、本日はご参加ありがとうございました!