STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

STORES社内でAndroidエンジニアが取り組んでいる勉強会

こんにちは、STORESの @tomorrowkey です。 STORESのモバイルチームでは社外向けに ebisu.mobile などの勉強会を主催していますが、社内においても盛んに勉強会がおこなわれる文化があります。 この記事ではSTORES社内でAndroidエンジニアが取り組んでいる勉強会を紹介します。

hey.connpass.com

課題に感じること

STORESには複数のプロダクトがあり、普段の業務はプロダクトに向き合うので、他のプロダクトに関わっている人との関係性を築きにくいです。*1 また、現在STORESではリモートワークが中心となっており、出社しているときと比較してライトなコミュニケーションがとりにくいというのも理由の1つとなっています。

www.st.inc

勉強会を開催しよう

せっかく同じ技術を扱っているのだから、お互いに技術を補完しあったり、関係性を作っておくことで、いざ困ったときに助け合えるようなことができたらいいよねってことで、勉強会を開催しようと考えました。 改めて課題から目的を考え、次のような目的を定義しました。

技術の底上げ

技術の勉強会なので、素直に個々人の技術の底上げが狙いとなります。 「基本を復習する」と「新しい技術を学習する」の2つのアプローチで技術の底上げをしていきます。

関係性の構築

ただ学ぶだけでなく、コミュニケーションも発生するので、普段のプロダクト開発でかかわらない人とのコミュニケーションを経て関係性を構築していきます。 困ったときに「面識がない人にお願いする」のと、「話したことがある人にお願いする」では天と地ほどの差があります。

開催している2つの勉強会

これらの目的から、STORESでは「ドキュメント読み合わせ」と「STORES.apk」という2つの勉強会を定期的に実施しています。 それぞれご紹介します。

ドキュメント読み合わせ

毎週木曜日に実施しています。 Android Developersのドキュメントを輪読会形式で読んでいます。 気になったこと、疑問点があれば適宜声をだしてみんなで議論したり質問に回答したりします。 これまでコルーチンやテストなどのドキュメントを読みました。

読んだことがあるドキュメントのはずですが、みんなで読むとまた新しい発見があったりしてなかなかおもしろいです。 参加者にアンケートを取ったので、そのフィードバックをここで紹介します。

  • Android15の変更点を読んでいて、自分が担当しているアプリに影響がありそうな変更に気がつくことができました。
  • Androidの新しいOSバージョンの変更点読み合わせなどは実務にいかせていると思います。あとはDagger勉強会(ドキュメント読み合わせ会でやっていた)は、やったとはいえ完全に身についたわけではないし全然まだわからない部分はいっぱいありますが、実務でDaggerと向き合うときに「こいつ全然わからないが見たことはある・・」という状態になってDaggerくんに対する恐怖心が薄れた気がします。
  • 既存実装の中から読み取って覚えたコード的な所作が、公式ドキュメントで改めてwhyから説明されるので納得感を持って使えるようになった。
  • まだ業務では直接活かせていないのですが、コルーチンについて学んだことで、今まで何も考えずにviewodelScope.launchしていたところを、これはどういうことなんだっけ、と立ち止まって考えるようになりました。
  • KotlinコルーチンについてのCodelabsの読み合わせに参加したことが、業務に活きています。特に、ジョブやエラーの伝播・ディスパッチャーなどの仕組みについて細部まで理解することで、コルーチンを「ただなんとなく」使える状態から「自信を持って」使える状態に変わったと感じます。
  • 普段はドキュメントの中から必要そうなところだけ掻い摘んで読んでいるので、全てをじっくり読むのはとても貴重な時間です。また、◯◯さんや◯◯さんのようなベテランの方がコメントしてくださるので、深く理解できたり、知らなかったことを知れたりするので、とてもありがたいです。
  • 技術力の高い先輩や同僚と一緒だからこそ、難易度の高いドキュメントの読み込みにもトライできています!特にOSやハードウェア、ライブラリの深い部分の話は一人だとなかなかハードルが高いですが、「ドキュメント読み合わせ」は技術に対する疑問点を解消する良い機会になっていると思います。

STORES.apk

隔週火曜日に実施しています。 Android Dagashi からネタをピックアップして深掘ります。新しい技術のキャッチアップができる時間になっています。 最近深ぼった記事としてはKotlin 2.0のOverviewや、ComposeでのDependency Injectionについての記事があります。最近はGoogle I/OやKotlin Confなどの大きなカンファレンスが多かったこともあり、ネタには事欠きません。

こちらも参加者にアンケートを取ったので、そのフィードバックをここで紹介します。

  • ViewModelに関する記事を読んでいて「もしかしたら、自分が担当しているアプリのViewModel実装イケてないかも......?」と、よりよい実装を考えるキッカケになりました。
  • 別のチームで仕事をしている同僚と、この会で話して意見交換できるので、何気ないコミュニケーションも相まって関係値が作れるのが良い。
  • こちらもまだ直接活かせてはいないのですが、、、Composeのパフォーマンスについての記事を読んだ回があったので、現状パフォーマンスについて悩んでいるので活かせると嬉しいなと思っています。
  • 新しい技術であったり、自分ではあまり積極的に読まないような記事も取り上げられるので、視野が広がる感じがあってよい時間になっています。
  • STORES.apkでAndroid Dagashiを読むために前日に自分でAndroidDagashiをあらかじめさっと読んでおくという、勉強会駆動学習をしていて、それがとても良い習慣になっていると思っています。たまに業務の方で集中力が尽きてしまい、勉強会の時に集中力や体力が残っていない時があるので、それをどうにかしたいです。どうすればいいんだろう。
  • Androidの最新なニュースを学べるのでとても助かります。AndroidDagashiは一人で読むのは難しかったり、理解できなくて悲しくなったりするので、解説していただきながら読めるのはとても嬉しいです。時間が限られており、かつ2週分ということで、読める記事に限りがあるのが残念です。。あとは前◯◯さんがやっていたみたいに、読んだ記事で思ったことをコメントつけてみるのやろうかなと思いました。

継続することを重視した設計

勉強会を運営したことがある人からすれば気になるポイントが「準備の大変さ」です。 これは企画するときに重要なポイントだと考えました。私たちの今の組織規模では勉強会の運営にコストがかかってしまうと、その負担から開催されなくなってしまうのは目に見えていたので、準備に時間がかからないことは必須要件だと考えました。 「ドキュメント読み合わせ」では何を読むのか決めるだけですし、「STORES.apk」ではAndroid Dagashiからどれを深ぼるか決めるだけです*2。いずれも準備に時間がかからないので、中心となって運営しているメンバーに大きな負担はかかっておらず、楽しくやっています。

まだある課題

当初の目的であった「技術の底上げ」と「関係値の構築」には一定の成果を収められましたが、さらに大きな効果をもたらすためには、いまのやり方だけではよくないなと思っています。限られている時間のなかで大きな効果をもたらすために、どんなやり方ができるかは、勉強会を運営しながら考えています。

おわりに

今回はSTORES社内でおこなわれているAndroid 勉強会を紹介しました。STORESではこれ以外にも勉強会や輪読会が盛んにおこなわれており、誰でも自由に参加できます。このブログ記事だけでは紹介しきれないので、気になる方はぜひカジュアル面談でご紹介させてください。

jobs.st.inc

*1:特に仲が悪いとか、コミュニケーションにハードルがあるわけではなく、一緒に働く人じゃないとコミュニケーション発生しないよねって話です。

*2:前日に投票で決めています