CA MOBILE TECH BLOG

株式会社シーエー・モバイルのエンジニア・デザイナーの活動を綴るブログです

株式会社シーエー・モバイルの技術広報による、
技術に特化したブログです。
エンジニアとデザイナーの活動や思想を綴ってゆきます。

Android開発歴4ヶ月のエンジニアがDroidKaigiに行ってみた話。

f:id:cam-engineer:20180219135615p:plain

こんにちは〜。 シーエー・モバイルでAndroidエンジニアをしている髙木 淳吾です。

Android開発歴は4ヶ月でまだまだ初心者です🙇

先日行われたDroidKaigi 2018に参加してきましたので、Android開発初心者目線でどう感じたかを書いていこうと思います。

僕のAndroidスキルはこんな感じです。  qiita.com

f:id:cam-engineer:20180219111311j:plain
▲ 会場の様子。初めてのカンファレンスにドキドキ。



参加するにあたって準備

カンファレンス自体、初めての参加だったので、理解できるか心配でしたので、参加前にある程度の予習をし、心得をまとめていきました。


予習

  • DroidKaigi公式HPのタイムテーブルを見て、大まかな内容を把握して、全体感をイメージする。

  • DroidKaigiは、同じ時間帯に複数のセッションが行われるので、前日までに、傍聴するセッションを決める。カンファレンスアプリを使うと、スケジュールを立てやすかったです。

  • 当日になると、twitterなどでプレゼン資料が公開されていくので、プレゼン開始前に目を通す。


心得

* その1: プレゼン時によくわからないコードが出てきても、読まない。イメージで理解する。(必要なときはメモって後から配布される資料と照らし合わせる。)

* その2: リラックスして聴く。

* その3: パソコンでメモは取らない。知らない単語出てきたときだけググる程度。

この3つを意識しました。



カンファレンス当日

雰囲気

会場についた時、すでに沢山の方が来ていました。「こんなにAndroidエンジニアっているんだ」という印象でした。

今まで1人で開発する時間が多く、井の中の蛙だったのを実感(笑)。

しばらくすると会場が暗くなり、遂にDroidKaigiがスタート!! 音楽フェスさながらの盛り上がりで、すごくワクワクしました。

f:id:cam-engineer:20180219111315j:plain
▲ Androidの技術でこんなに盛り上がれるなんて…!


セッション

幾つか気になったセッションについてまとめたいと思います。

Kotlinアンチパターン

Kotlinアンチパターンでは、今まで僕は、本当にこれであっているのだろうかと悩みながら書いていたコードが多くありました。

  • lateinit
  • lazy
  • apply
  • also

Kotlinは同じような機能のものがあり、どちらを使うのがベストなのか、公式ドキュメントを読んでも、いまいちピンと来ない事が多くあります。

中でも上記4つとcustom getterなどは、躓いた経験があったので、頷きながら聞いていました。

アンチパターンに対して、何が良くないのか、それに対する解決策の例もすごくわかりやすく、何度も資料を読み返しました。

Kotlinは多機能な反面、チームでキメを作らないとわかりにくいコードにもなるので、これからチーム開発を行う上で自分たちも注意しなければいけない事だなと思いました。

www.slideshare.net



まだAPI定義管理で消耗しているの?〜Swaggerを用いた大規模アプリ時代のAPI定義管理とコードジェネレート〜

今回参加したかった大きな理由の1つが、このセッションです。 社内でもSwaggerを使用しており、まさにピンポイントで知りたい内容が詰まっていました!

swagger-codegenで自動生成されるコードについてや、MoshiからKotshiへのカスタマイズ方法などなど、すごく参考になりました。

登壇者の@magiepoohさんとも後のパーティーで話せてすごく勉強になりました。ありがとうございます。

speakerdeck.com by magiepooh



MVVMベストプラクティス

このセッションはMVVM初心者、Android初心者はとても参考になる内容だったと思います。

アーキテクチャの説明は簡単すぎても解らないし、あまり難しすぎても解らない、と自分は思っています。

そんな中、参照関係を取り上げた説明は、頭にスッと入ってくる感じで聞いていてハッとさせられました。(わかりにくい表現ですいません🙇) cheesesand101さんありがとうございました。

speakerdeck.com

by cheesesand101



開発者が知っておきたい通知の歴史

自分自身、Androidの歴史をよく知らなかったので、通知の歴史という切り口で学ぶことができたのはとても嬉しかったです。

歴史を知ることは、Androidを理解したり、バージョン対応させる上で重要なことだと思っているので、他の機能の歴史も勉強したいと思いました。

speakerdeck.com

by Keisuke Kobayashi



全体的な感想

まずは、参加してよかったです。関係者の皆様、ありがとうございました。

今までAndroid界隈の事情を知らなかったので、どこまで調べて書けばいいのかがわかりませんでした。

今回、DroidKaigiに参加して、AndroidのAPIレベルで対応する苦労や、マテリアルデザイン、各種ライブラリについて、MVVMアーキテクチャの知見を増やすことができたので、すごく面白かったです。



交流

1日目にアフターパーティーがありました。

登壇者の方や、他のAndroidエンジニアの方と交流する貴重な場で、色々なお話を聞くことができました。

f:id:cam-engineer:20180219111320j:plain
▲ ドロイドモチーフのお菓子。細かいところまで凝ってる!

自分からは、どういった経緯でAndroidエンジニアになったか、など、主にロールモデルの質問をしました。

自分はAndroidエンジニアとしては、まだスタートしたばかりなので、どういった道を歩んで行こうか、まだ漠然としたイメージしかなかったので、今回聞いた事は参考になりました。

本当に皆様ありがとうございました。

f:id:cam-engineer:20180219111324j:plain
▲ パーティー会場ではゲームなどもやっていました。


お昼

1日目、2日目のお昼ごはんの写真を載せておきます。 両方ともすごく美味しくいただきました。

1日目

f:id:cam-engineer:20180219111329j:plain
▲ 1日目は鶏そぼろ弁当をチョイス。

2日目

f:id:cam-engineer:20180219111334j:plain
▲ 2日目は、ダブルチーズハンバーガーをチョイス。



反省

今回、DroidKaigiには英語のセッションもあったのですが、自分は英語が苦手なので避けてしまいました。

結果的にすごく後悔しました。

一日目に行われた「Deep dive into LayoutManager for RecyclerView」や、二日目の「ConstraintLayout, now and future」は、内容的にすごく興味があり、後々のツイッターなどでRecyclerViewのViewPoolの話が話題になっており、聞けばよかったと思いました。

なので来年は日本語、英語問わず、自分の興味がある分野の話が聞ければと思います。



※ Android ロボットは、Google が作成および提供している作品から複製または変更したものであり、Creative Commons 3.0 Attribution ライセンスに記載された条件に従って使用しています。