blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2022.07.14 カルチャー・環境

「ワクワクする開発体験を醸成する」モバイル基盤チームの立ち上げ

by Kenji Abe

#android #ios #flutter

技術統括部技術開発室の すたぜろ です。
最近は積みゲーが増えてどうしたものかと悩んでいます。 正直、仕事してる場合ではないです。

今回ぼくからは、2022年4月にDeNAでモバイル基盤チームを立ち上げたのでその話について簡単に書きます。

ぼくがAndroidをメインに見ているので、そちらの話が中心となります。

きっかけ

立ち上げたきっかけとしては、入社したときからプロジェクト間での共有が薄いなと感じていました。

DeNAには様々なプロジェクトがありますが、それらの知見があまり共有されずプロジェクト内で閉じていて、せっかくの知見が他に共有されないのはもったいないなぁと感じていました。他にも最新情報の共有だったり、技術的な相談を受けたり、そういったことをやるチームがあるといいなぁとも思っていました。

ぼくの前職ではモバイル基盤部があり、前職で働いてたときは色々とお世話になって助けられたことも多かったです。
そういう経験があり、こういったチームをDeNAでも作れたらと思ってCTOの nekokak さんには以前より話をしていました。そうして、なんやかんやあって、4月から立ち上げることになりました。

目標

DeNA社員にとって DeNAでのモバイルアプリ開発がワクワクするような体験を醸成 っていうのが目標になっています。これはnekokakさんが決めた目標なんですが、ぼくも良い目標だなと感じています。

各プロジェクトはユーザーに価値を届けることが重要ですが、モバイル基盤チームとしては社内のモバイル開発者に価値を届けることが重要だと考えます。

今は勉強会などの社内コミュニティを盛り上げたり、最新情報の発信を行ったりしています。

メンバー

現時点でぼくを含めて3人でやっています。

それぞれ得意領域を担当してる感じで、ぼくはAndroidをメインに見ています。
他にはiOSとFlutterがあります。(Flutterはまだ採用事例は少ないですが)

やってきたこと

立ち上げて3ヶ月ですが、ぼくメインで担当してるAndroidに関してやってきたことを紹介します。

社内プロジェクトのヒアリング

そもそも各モバイルアプリのプロジェクトがどういったものがあるのか状況を知らなかったので、各プロジェクトに話を聞きました。今まで知らなかったことが色々聞くことができました。

各プロジェクトではそれぞれ課題がありますが、単純なものはあまり無く、やはりプロジェクトにしっかり入らないと解決が難しいものがありました。ドメイン知識が必要だったり、歴史的な積み重ねによる問題だったりと。

また、他にも社内コミュニティなどの意見についても聞くことができ、今後の参考になりました。

社内LT会

4月から月1回でAndroidメンバーでゆるいLT会を開催しています。

LT会はだいぶゆるい感じで、Androidに関することであれば何でも良く資料についても用意しなくても大丈夫な会にしています。

技術的な内容とは他に、それぞれが担当にしているアプリの紹介なんかもやってもらっていました。意外と実際に関わってないプロジェクトだと知らないことが多いので、お互いのプロジェクトについて知る機会にもなって、面白い話を聞くことが出来ました。

ただ、ちょっと月1回だとネタすぐ無くなっちゃうことが判明したので、次回からは2ヶ月に1回になる予定です。

技術的な相談

技術的な相談をSlackでいつでも受け付けてます。

みなさん優秀なので、そこまで頻繁に相談があるわけではないのですが、何かあればすぐに反応するようにしています。

最新情報共有

AndroidやKotlinに関する最新情報をまとめて共有しています。最近ぼくはここを重点的にやっていました。

最近はGoogle I/Oだったり、Android 13もリリースが近づいていたり、Kotlin 1.7がリリースされたりしたので、そのあたりの情報をまとめて共有しました。

Google I/O共有会

Google I/Oの情報については、ぼくのほうである程度動画の内容をまとめて簡単に共有する会を行いました。

動画を見るのは時間がかかりますし大変なので、こういうのはざっくりとどんなものかを知るだけでも違ってくるのかなと思います。

Android 13変更点確認会

Android 13については変更点や対応しなければならなそうな内容を資料にまとめつつ、共有する会を行いました。

毎年のことですが、OSアップデートでは何かしら対応が必要となります。これまでは個々が確認する必要があったので、対応が必要なものの確認になれば良いなと思い共有会を開催しました。

結構しっかりまとめたので、ぼく個人としても勉強になることがたくさんありました。

Kotlin 1.7変更内容まとめ

Kotlin 1.7については、簡単に変更内容をまとめた資料を作って共有しました。今回はそこまで大きく言語機能は変わってないので、資料だけ作ってまとめておきました。Kotlinのアップデートがあるたびにまとめようなかなと思っています。

その他

その他にも毎月、その月の注目すべきアップデート情報などをまとめたり、都度何かあればSlack等で共有するようにしています。

社内限定?

これらの情報を外部向けに公開しようかなって考えたのですが、そうなると体裁とか色々気にすることが多くなかなか厳しいなとは思っています。社内限定なので結構ラフに共有できるのでなんとかなってる感じです。
なので、こういう情報が見たい人は入社すると良いと思います。

設計ガイド作成

Androidには 公式の設計ガイド が公開されていますが、それだけでは実装する際にどういう風に実装すれば良いのか判断が難しかったり悩んだりします。そのような箇所を簡単に社内用にまとめたものを作成しています。

これはまだ草案レベルで、どこかのタイミングでAndroidメンバーに意見を聞こうかなと思っています。

色々お手伝い

他には各プロジェクトの改善や調査などを手伝ったりしています。多くのプロジェクトで見かけるのですが、いつか直すと思いつつもいつまでたっても直すことができないことがあります。そういったリファクタリングなどを手伝っています。

新規プロジェクト対応

まだチームを立ち上げてからは無いのですが、新規プロジェクトが出てきた場合は初期実装のサポートや実装自体をする予定です。

プロジェクトの最初の実装は当たり前ですが基盤にあたる部分から必要になります。この最初の実装がおかしくなってしまうと、あとから修正も困難になり効率や品質に影響が出る可能性があります。こういったことを減らすために初期実装から対応する予定です。

今後やりたいこと

最近オフラインイベントも見かけるようになってきましたが、Androidメンバーともそろそろオフラインイベントをやりたいねっていう話が出てきています。 まだ、詳細は全然考えてないですが、状況を見つつオフラインイベントを開催したいなと思っています。

あと、まだ誰にも言ってないですが、新しい技術を好き勝手試せるようなプロジェクトを社内で立ち上げて技術検証に使える場として用意したいなと考えています。これは勝手に考えてるだけで何も決まってないですが…

他にも色々と楽しく開発できるようなことをやっていきたいなと考えています。

最後に

正直、できたばかりのチームなので結構フワフワしてる感じで、何をやるのかがそこまで明確化できてなく手探りな感じです。 とはいえ、知見や最新情報の共有は重要なものだと思いますし、このあたりを取りまとめるのも重要なことだと思っています。

まだまだ未熟なチームですが、社内のモバイルメンバーと一緒に面白いことをやっていきたいと思っています。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。