こんにちは、株式会社アイキューブドシステムズでモバイルアプリを担当しているKajihara-3です。私は2023年に新卒で入社し、現在はAndroidチームで開発を行っています。
今回、09/14~9/16に開催されたDroidKaigi 2023に参加してきました。私はAndroid開発を始めてからまだ間もないですが、それでも得るものはたくさんありました。Androidエンジニアとの交流やモダンな技術についてのセッションにより、多大な刺激を受けて開発のモチベーションとなりました。このブログでは、カンファレンスに参加し、セッションの聴講などをする中で得られたことについて紹介します。
DroidKaigi 2023の概要
DroidKaigi 2023は、09/14~09/16の3日間、ベルサール渋谷ガーデンにて開催されました。DroidKaigiは、エンジニアが主役のAndroidカンファレンスで、Android技術情報の共有とコミュニケーションを目的として様々なセッションや交流の場が用意されています。
1日目、2日目はセッションの聴講、スポンサーブースの出展が主になります。セッションではAndroidや開発に関するテーマが幅広く扱われており、興味のある内容のセッションを自由に選択して聴講することができます。
3日目は、Android開発を進めるための自己学習型コンテンツであるコードラボを進めながら、キャリア・パネルトークに参加したり、キャリア相談会やMeet Upに参加したりと、自由な雰囲気で会場を回ることができます。
カンファレンス全体を通して交流に重きが置かれており、スポンサーブースやMeet Up、アフターパーティなど様々な場面で参加者同士で交流を深めることができます。
印象に残ったセッションをピックアップ
今回参加してきたセッションは、弊社が取り組んでいるようなAndroid Enterpriseに関するものから、Jetpack Compose、 Material design3(以降、Material 3)など、Androidに関する幅広いセッションがありました。 今回は数あるセッションの中でも、印象に残ったセッションをピックアップして、簡単に内容をまとめてみます。
「ビジネス向けアプリを開発するときに知っておくべきAndroid Enterpriseの世界まとめ」
Android Enterpriseは、Androidプラットフォームのビジネス利用を支えるために、Googleが主導している取り組みのことです。 弊社のプロダクトであるCLOMO MDMは、企業や組織におけるモバイルデバイス運用をより効率的かつ安全にするためのサービスですが、AndroidにおけるMDMの実装や機能セットは、Android Enterpriseとして標準化されています。 そんなMDMで使える特別な機能に、Managed ConfigurationsとConnected Appsがあります。
これらの機能を使うと、アプリにリモートで設定を配布したり、アプリが仕事用プロファイルと個人用プロファイルの間で通信を行ったりできます。 カンファレンス後、個人的にManaged Configurationsを実装してみて、面白い機能だと感じました。
Jetpack Compose の Side-effect を使いこなす
Side-effectとは、関数や操作などが結果を返すなどの、主となる効果以外の効果のことです(副作用の例:グローバル変数の変更や、I/O操作など)。Jetpack ComposeにおけるSide-effectとは、コンポーズ可能な関数の範囲外で発生するアプリの状態の変化を指します。このセッションでは、Side-effectをうまく扱うためのAPIの紹介がされました。
Side-effectによってテストやデバッグに影響が出るため、Composable関数は副作用がないようにするのが理想です。しかし、副作用が必要になる場面もあります。そのため、状況に応じて各APIを使いこなせるようになるのが重要なポイントでした。
Material 3 やめました
Material 3のDesign Tokensには、Reference Token, System Token, およびComponent Tokenという3つのTokenがあります。Design Tokensは色やフォントといったスタイルの値を定義するためのもので、この中のSystem Tokenで色を扱うのが辛いため、独自のシステムを作ろうといった話でした。
実際には、Material 3のメカニズムは利用しつつ、一部Token内の設定をカスタムしたり削ったりしてデザインシステムとコンポーネントを実装して独自にシステムを作っており、Tokenのおすすめの初期設定を共有されていました。このセッションはかなり人気で、会場がほぼ満席となっていました。
他にもAndroid開発に関わることが幅広くセッションで紹介されていました。感想としては、まだまだ使い慣れていない技術やあまり知らない技術もあり、知識を得るだけでなく使えるようにする必要があると感じました。
アフターパーティやMeet Up
ここからは交流の場についてです。
1日目の終わりにはアフターパーティが開催されました。ここでは広い会場を自由に回りながら、一般参加者だけでなくスピーカー、スポンサーの方とも好きに交流することができます。自分の知らない意外な業界にもAndroidが使用されていたり、他社の職場の雰囲気や取り組みについて知ることができたりと、エンジニアとの会話では新たな発見がたくさんありました。
他にも、昼食やおやつの時間にはMeet Upが開催され、いろんな方とお話する機会があります。Meet Upでは、新人エンジニア、キャリアプラン、子育てと仕事、マネジメント・チーム開発といった様々なテーマをもとに集まって話をすることができます。このMeet Upのおかげで、意気投合して仲良くなった人もできました。特に、(社内など)自分の所属するコミュニティ外にいる、異なるバックグラウンドや観点を持つ人との話はかなり新鮮で、参考になることがたくさんありました。
参加して良かったこと
現地でエンジニアと交流できる
先ほども述べたように、Meet Upやアフターパーティでは他の方と話をする機会がありました。特定のテーマについて集まったメンバーの中でグループを作り、食事をしながら会話ができるためアイスブレイクもしやすかったです。若手エンジニアだけでなく、さまざまなキャリアを持った方や外国籍の方など多様性のある参加者の中から交流を行ったため、多大な刺激を受けることができました。
オフィスアワーにより、質疑応答や会話ができる
セッション終了後はオフィスアワーという時間があり、この間にセッションのスピーカーに直接質問をぶつけたり感想を伝えたりすることができます。セッション中の厳かな雰囲気で手を挙げるような形式ではなかったため、気軽に質問やそれに関連した話をすることができました。質問がなくとも会話をしてセッションの理解を深められるオフィスアワーは、オフラインでのみ参加できます。
翻訳レシーバーがある
英語を日本語に、日本語を英語に翻訳してくれるレシーバーが会場で配布されており、これを利用すれば言語を気にすることなくリアルタイムにセッションを聴講することができます。ただし、スライドは翻訳に対応していないので注意が必要です。
課題に感じたところ
セッション時間だけで内容の理解を完結できない
セッションによってはスライドが詰め込まれており、一度に全てを理解するのは難しいと感じることがありました。コードの解説をスライドで行っているセッションもあるため、現地では大まかな概要を理解し、詳細は後で確認する方が良いと感じました。私はAndroid開発に携わって半年も経っておらず、勉強不足な部分もあると痛感したため、もっとAndroid開発に打ち込みたいと感じました。
学んだことを会社に活かしていく方法
様々な技術についてセッションがありましたが、そういった内容全てを開発現場に還元し、活かせるわけではありません。とはいえ、活かせる部分を探し、どうしたら活かせるかを試行錯誤して学んだことを身に付けていくのは重要だと考えました。
まとめ
今回のことは、現地に参加する意義のあるカンファレンス出張だったと確信しています。ただ参加して終わりではなく、業務や開発に活かせるよう取り組んでいきたいです。
最後に、弊社では採用活動を実施しています。興味のある方はご応募ください。