DroidKaigi 2019 に参加した

Androidのことはほぼ何もわからない状態でDroidKaigiに参加しました。とても楽しかったです。なので、なんで楽しかったのか考えてみた記事です。

おそらく(スポンサーブースの非エンジニアの方を除けば)会場で最もAndroidの知識が少ない人間が私だったかもしれません。なんでそんな状態でDroidKaigiに参加したかというと、"Server-side Kotlin for Frontend" というタイトルでのトークをしたからです。これは1日目のお昼すぎのセッションだったので、それ以降は解放感に満ち溢れながら他のセッションを聞きまわっていました。(自分のセッションについてはまた別記事で。)

ほぼ全ての話が新鮮で、学びが多い

当たり前ですが、知らないことだらけなので、何を聴いても新鮮です。

本当にAndroidの中のニッチなトークだと何もわからなずに終わるかもしれないのですが、(セッションが6並列とかで開催されているので)ある程度接点があるか理解できそうな話題を選ぶと、程よく知らない話題がたくさん出てくるという状態になります。

例えば、2日目の朝は "Not Just Rotation: Configuration Changes on Android" というセッションを聴きました。端末の向きとか、フォントサイズとか、そういういろんな設定が変わった時にどう対応するかみたいな話だったと思うんですが、これはサーバーサイドしかやってなかったら一生考えもしないテーマだと思います。あ、クライアントの開発ってこういうことも考えなきゃなんだな、奥が深いな、っていう新しい気づきの瞬間ですね。

他にも例えば "All About Test of Flutter" というセッションを聴きました。Flutterは書いたこともコードを読んだこともありませんが、テスト駆動開発についての知識はあります。そんな状態でお邪魔しましたが、役に立つ学びが色々ありました。

自分で能動的にそれらの知識を得ることは可能です。でも、特になにか目的がない限りなかなかやらないのですよね。でも、カンファレンスに出てその1日はセッションを斜め歩きするだけで、新しい発見がいろいろある。全てマスターするわけではないけど、一回は見聞きしたことある、っていう状態になれる。

僕はけっこう、色々な情報を斜め歩きして仕入れて、エンジニアリングに活かす、という学び方が好きなので、特に合っているのかもしれません。

サーバーサイドエンジニアとして、クライアントのためにすべきことを考えるきっかけになる

ハマった時に役立つ通信系デバッグの話 というセッションを聴きました。モチベーションは以下のツイートの通りだったのですが、

やり方を知ってれば普通にアドバイスできるし、アプリの通信デバッグにはちょっとしたハードルがあることを知ったり、サーバー側としてこういうのをやっておいたらクライアントは楽なんだな、っていうのを感じたりすることができました。

それから、唯一明確な目的を持って聞きに行ったセッションが multi-module Androidアプリケーション です。僕は microservices を推し進めてきているのですが、サーバーサイドだけmicroservices化しても、ユーザーへの価値提供の高速化ができなくて、アプリまでひっくるめて考えていかなければいけない課題だと思っています。そんな中アプリチームでもモジュール化を進めていく動きもあり、タイムリーな話題でした。

実際に聴いてみると、ビルド時間短縮という別の観点とか、垂直分割をしたときにUI層で相互依存が出てくるという課題だったり、とにかく自分があまり考えてなかったポイントがたくさんありました。この話を持ち帰って、具体に踏み込んでクライアントエンジニアと議論していきたいなと思いました。これは聴いておいて本当に良かった。

トークの完成度が平均的に高い

他にも色々なセッションを聴かせていただきました。DroidKaigiはセッションの数がかなり多いのですよね。なので正直ある程度当たり外れあるかなと思ってたんですが、どのトークも驚くほど完成されていました。よくまとまっていたり、聴き手のことを考えて構成されたセッションばかりでした。すごい。


自分のトーク終わるまでは余裕なかったけど、そこからの2日間は目一杯楽しみました。スタッフの皆さんには頭が上がらないですね・・・。良いトークをしてくださったスピーカーの皆さんもありがとうございました!!!

noteの通貨流通量を増やしていきたい!!