キーワードは「心理的安全性」。タクシーアプリ『GO』 Andoroid エンジニアが安心して開発に打ち込める理由
「2022年4月で事業統合から2年が経ち、チームとして成熟してきた今が一番ワクワクしています」
そう話すのはタクシーアプリ「GO」Android版ユーザーアプリを開発するチームのリーダーを務める高柳とテックリードの諏訪村。
多くのAndroidエンジニアが在籍しているMobility Technologies(以下、MoT)はこの2年でどのような変化を遂げてきたのでしょうか。2022年7月に入社したばかりのドーマン・ザッカリー(通称ザック)を交えて、AndroidエンジニアとしてMoTで働く醍醐味、そして今後に向けた課題について話しました。
エンジニアには、心理的安全性が必要
ー本題に入る前に、それぞれの仕事内容から教えてください。
高柳:タクシーアプリ「GO」Android版ユーザーアプリを開発するチームのリーダーです。以前はDeNAにて「GO」の前身である「MOV」のAndroidアプリの開発を担当していました。気がついたら、Androidエンジニアとしてのキャリアは10年以上になりますね。
諏訪村:私は「GO」Android版ユーザーアプリのテックリードです。高柳と同じく、元DeNAで「MOV」のさらに前身である「タクベル」にもAndroidエンジニアとして関わっていました。
ザック:私は「GO」Android版ユーザーアプリの開発に携わっています。前職では、受託開発を手がける会社にてAndroidエンジニアとして働いていました。2022年7月に入社したばかりです。
ー「チームとして成熟してきた」というお話がありました。そのあたりを詳しく教えてください。
高柳:今年で私自身もチームリーダーを担うようになって2年目なのですが、これまではメンバー間の心理的安全性を確保することに力を注いできました。
特に2020年の統合当初はコロナ流行のタイミングと重なり、DeNA出身者とJapanTaxi出身者が相互理解できないままリモートワークに突入したので、全社的に心理的安全性が低い状態に陥ってしまっていました。
しかし、「自分は攻撃されない」という安心感がないとパフォーマンスは落ちてしまうんですよね。会社として社内コミュニケーションを円滑にするために新入社員と既存社員のシャッフルで構成される6名程度のチームで約1時間交流する「シャッフルグリーティング」や部門・職種を超えた横断型コミュニケーションの活性化を目的とした「日帰りワーケーション」なども実施してきましたが、チーム内でも心理的安全性を確保するためにあえて雑談の時間を設けるようにしています。
2週間に1回、振り返りを実施し、良かったことや改善点を書き出しているのですが、その中のひとつとして「雑談」という枠を設けて、業務とは関係のない個人的なことを話せる場を用意しています。
最近は自発的に意見を発信されたり、雑談の時間以外でもコミュニケーションが増えたりしたことで開発が円滑に行なわれるようになりました。とても地道な取り組みでしたが、少しずつ実を結んできた感覚があります。
ー諏訪村さんはコミュニケーションという点ではいかがですか?
諏訪村:私も以前新しく入社したエンジニアのメンターを担当した際は、特に予定がなくても1日30分雑談する機会を設けていました。1〜2ヶ月は続けたので、心理的安全性は担保できたような気がしています。そのエンジニアが今はザックさんのメンターなので、似たような形でザックさんとはコミュニケーションをとっているのではないでしょうか。
ザック:そうですね。こまめにコミュニケーションをとってもらっているので不安は感じませんし、発言もしやすいです。
ーMoT歴の浅いザックさんはコミュニケーションという点で前職との違いを感じることはありますか?
ザック:入社当初はカレンダーを見てミーティングの多さに驚きました。正直「開発の時間が減ってしまうのでは?」と不安に感じた部分もあったほどです。
しかし、少し慣れてくるとミーティングが多い割にできることが増えていって、かつ時間の使い方も上手になっていくんですよね。一見非効率的に感じるかもしれませんが、本当は最も効率的な方法なのかもしれません。
諏訪村:エンジニアが嫌なのはミーティングではなく、ミーティングとミーティングの間の空き時間なんですよ。時間が細切れで開発に集中できないので。
そこで、ミーティングの時間を早い時間帯や遅い時間帯に寄せて、まとまった開発時間を捻出できるように整理してみたところ、なかなか好評でした。工夫次第で、ミーティングの時間と開発の時間は両立できるんですよね。
エンジニアはミーハーなぐらいがちょうどいい?
ー非常に働きやすそうなチームであることは感じたのですが、他に魅力はありますか?
諏訪村:新しい技術の習得に積極的な点です。最近だとAndroidはJetpack Composeというライブラリがトレンドで、画面の作り方を大きく変えるパラダイムシフトが起こっています。ただ、まるっとやり方が変わるので、導入には結構覚悟がいるんですよね。反対意見が出てもおかしくないというか。
ところが、MoTではすんなりと、むしろみんな「やりたい!」とかなり前のめりだったので、スムーズに導入できました。新しい技術が導入できないと新しいもの好きなエンジニアは採用できませんし、入社しても「いつまでこんな古いやり方でやっているの?」と思われてしまいますからね。「すんなりと新しい流れに乗れるチームで良かった」と感じました。
ーそういうチームとしてのムードみたいなものはどのように醸成していったのですか。
高柳:チーム内の方針として「安定版が出たらプロダクトに導入しよう」という大きな方針があります。
スマートフォンが世に出て使われるようになって、まだ10年程度。その間にもAndroidの技術はどんどん進化し、最初の頃の知識や知見は通用しなくなっています。だから新しい技術を取り入れることに抵抗はないし、むしろ自然なことだと捉えています。
とはいえ、アルファ版では安定しないので、ある程度のバージョンを待って導入します。導入の際も最初は影響の少ない小さな機能から試して、問題がないか確認して……少しずつ大きい機能や新しい機能に適応していきます。
案件開発も進めつつ、新しい技術を取り入れていくわけですから、一気にリプレイスするリソースもないので、できることから少しずつ。新しい技術に関しては我々にも知見がないので、それこそ日々のコミュニケーションや、週に1時間開催しているテクニカル面に関するミーティングで相談しながら。
ーAndroidの公式ドキュメントの読み合わせ会も企画されていると聞きました。
諏訪村:実はMoTにはAndroidエンジニアが多く在籍しています。我々はユーザーアプリを開発していますが、タクシーに載せる端末の開発環境もAndroidなので。
ただ、車載器側のAndroidエンジニアとはコミュニケーションの機会がなかなかつくれていないので、社内交流も兼ねて勉強会の一環としてAndroidの公式ドキュメントの読み合わせ会を開催しました。「ここはちょっと意味がわからないよね」や「ここはこう書いてあるけど、実際には使いにくいかな」といったコミュニケーションを通じて、相互理解を深めるきっかけにしています。
おもしろいことに同じAndroidアプリをつくっているエンジニアなのに、求められる技術が全然違うんですよね。たとえば、ユーザーアプリチームはトレンドを追いかける傾向にありますが、車載器チームはBluetoothやシリアル通信といったIoTならではの技術や工夫が求められます。
だから今後はユーザーアプリ側から「最近こういうトレンドがあって……」と情報共有していきたいですし、逆に車載器ならではの情報を共有してもらい、刺激を受けたいですね。
高柳:刺激といえば、週に1回DeNAとの技術交流会も開催しています。統合前に実施していた取り組みなのですが、みんなの希望もあって統合後も継続できるように取締役の惠良が調整してくれて、今も継続して実施できています。DeNAにGoogle Developer Expertsのエンジニアが在籍しており、その方が「来週はこれのドキュメントを読みましょう」と主体性を持って取り組んでくれているので、非常に勉強になります。
やりたいことは山ほどある
ー最後に今後の課題について教えてください。
高柳:大きく分けて2つあります。1つ目は採用です。iOSエンジニアと比較してAndroidエンジニアの採用はそこまで順調ではなくて……ひとりでも多くのAndroidエンジニアに「GO」に興味を持ってもらいたいと思います。
もう1つは、リファクタリングです。リソース不足の話とも関連しますが機能開発がかなり先まで埋まっている状態なのでリファクタリングに時間を使えていません。ただ、リファクタリングできないと今後新たな機能を追加する際のコストも雪だるま式に大きくなってしまうので、早めに手をつけたい部分ではあります。
諏訪村:2020年頃にマルチモジュール化したのですが、まだまだ手をつけられていない部分がありますからね。発案者としては舵取りしていかなくてはいけないと感じています。
ーちなみに、リライトは視野に入れていますか?
高柳:どうなんだろう……確かに場合によっては古いものをちまちまとリファクタリングするよりも、ドーンとつくり直した方が早いパターンもあると思いますが、判断はすごく難しいですね。期間もすごくかかるので、あまり現実的な手段ではないような気がします。
諏訪村:“リライトあるある”なのですが、最初は「リライトした方がいい」と思っていたのに、やってみたら全然うまくいかないことが多いんですよね。今までの仕様を完璧に把握しなければいけないから、結局時間が足りなくなって、リライトしたはずなのに品質が落ちることは割とよくある話で。やるなら、潤沢な期間が確保できていないと難しいですね。
ー諏訪村さんは今後の課題についてはいかがでしょう。
諏訪村:またGoogleから新しいドキュメントがリリースされたので、チームにインプットしていきたいです。
もう少し視野の広い話だと、ユーザーアプリチームと車載器チームとの交流をもっと増やし、社内のAndroidエンジニアが一丸となってチャレンジしていきたい。そのために、いろいろ仕込みをしているところです。
ーザックさんはいかがでしょう?
ザック:やりたいことはたくさんあります。MoTではいろんなことにチャレンジしている人がいるし、エンジニアリングに関してインプットできる環境なので、私自身もどんどん取り組んでいきたい。たとえば、iOSやFlutterなどにもチャレンジしていきたいですね。
ー高柳さんはチームリーダーとしてどのような施策を考えていますか?
高柳:今後はAndroidチーム以外への発信にも力を入れていきたいです。
以前「私たちはこうやって普段仕事しています」と作業の様子を社内で生中継したことがあったのですが、そのとき別のチームのメンバーから「思ったより大変なんですね」や「修正にかかる時間がほとんどだと思っていたが、GitHubでPull Requestをつくる時間も結構かかるんですね」と言われたことがあって、意外とイメージされていないことがわかりました。
より円滑に仕事を進めていくためにも、相互理解をより深めていきたいと思います。幸いなことにMoTのエンジニアは別メンバーの仕事に関心が強いんですよね。「自分の仕事さえしていればいい」という雰囲気ではないので、興味を持ってもらえると思います。
これからMoTのAndroidチームは一層おもしろくなっていくはずです。仲間入りするには最高のタイミングだと思うので、ぜひ興味を持っていただけたら嬉しいです。
採用情報
Mobility Technologiesでは、共に働くエンジニアを積極的に採用しています。