SansanでAndroidアプリのアーキテクト・マネジメントをしている山口です。
今回は最近SansanのAndroidチームで行っている技術研鑽の取り組みについて書こうと思います。
技術研鑽は業務外でやるべきか?
よくソフトウェアエンジニア界隈では議論になる話題かなと思います。
業務外で個人アプリを作ったり、OSSにコミットしたり、日々インプット・アウトプットを繰り返すことは素晴らしい取り組みであり、それに頼りたくなる気持ちはわかります。しかし実際にはそれぞれのプライベートや家庭の事情があり、みんな日々キャッチアップしているだろうからという前提に物事を進めるのは現実的ではありません。日々の業務内の開発の中で技術的に伸びていくものはもちろんありますが、新しい技術のキャッチアップやライブラリの深い理解といったものがメンバーによっては中々進まないという課題がありました。
業務内で技術力をあげていく
そういった課題感から業務内で毎週火曜日の午前中を技術研鑽タイムとしました。この時間は事情がない限りはメンバー各自が気になる技術のキャッチアップを行います。
- 毎週火曜日朝にbotからのポストがあるのでこれに対して今日キャッチアップするテーマを各自ポストして開始
- テーマは自由
- 各自Confluenceの個別ページにアウトプット
最近ではJetpack Composeをキャッチアップしているメンバーが多いですが、次の開発で使いそうなライブラリをキャッチアップしたり、Kotlin CoroutinesやDagger Hiltを調べたりと人それぞれです。Android以外の言語やアーキテクチャのことを調べるのももちろんOKです。
この時間はインプット時間を確保したいと考え、LT会などの時間は確保せず各自Confluenceに軽くアウトプットするのみに留めています。
メンバー間でそれぞれやったことを発表しあうのも一つのやり方かなとは思いますがインプット時間を重視してこのやり方になっています。もし他のメンバーのアウトプットが気になればConfluenceを見に行けばいいのである程度カバーはできているかなと思います。
やってみてどうだったか
この記事を執筆している時点でこの取り組みを始めて2ヶ月ほど経ちました。 メンバーからはなんとなくで使っていたライブラリの理解が深まった、新しい技術を学ぶ時間が増えた、一番落ち着く時間などいったポジティブな意見をもらっています。
課題感としては四半期末など開発が忙しくなってくるとこの時間に開発しますということが増えてきたことがあります。見積もり上は毎週火曜日午前分は引いていますが見積もり通りいうのは完璧に進むことは中々ありません。この辺りはなにか改善できないかは検討していきたいです。
またインプットを多くするためにチーム間での共有はなくしていましたが、月1くらいは共有の場を作ってもいいのではという意見もあります。チーム内で議論をすることで新たな視点や疑問点が解決されることもあるので毎回ではないにしろ実施するのもありな気がします。
おわりに
SansanではAndroidエンジニアを絶賛募集中です。技術力を向上させながら日々の開発を行える環境になっていますので興味のある方はぜひ話を聞きに来てください。お待ちしております!