Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android開発以外のAndroid開発経験の活かしどころ

konifar
September 13, 2024

 Android開発以外のAndroid開発経験の活かしどころ

DroidKaigi 2024
https://2024.droidkaigi.jp/timetable/693873/

わかる!ドメイン駆動設計 ~もちこちゃんの大冒険〜
https://booth.pm/ja/items/392260

JUnit実践入門
https://www.amazon.co.jp/dp/477415377X

メルカリ社員100人に聞いたGoLandの使い方
https://speakerdeck.com/vvakame/jetbrains-night-tokyo-2018

Cursor
https://www.cursor.com/

天下一「AndroidのORM」武道会(2019: FINAL)
https://p-side.net/qiita/2019-01-21-03e6256b404c75f5974b/

TECH SCHOOL の Backend Master Class
https://www.youtube.com/playlist?list=PLy_6D98if3ULEtXtNSY_2qN21VCKgoQAE

エンジニアリングマネージャーのしごと
https://www.amazon.co.jp/dp/4873119944

エンジニアリングマネジャー入門
https://www.amazon.co.jp/dp/4800592410

エレガントパズル
https://www.amazon.co.jp/dp/4296070916

HIGH OUTPUT MANAGEMENT
https://www.amazon.co.jp/dp/4822255018

EM.FM
https://podcasters.spotify.com/pod/show/em-fm

EMゆるミートアップ
https://em-yuru-meetup.connpass.com/

EM Oasis
https://emoasis.connpass.com/

Engineering Manager Meetup
https://engineering-manager-meetup.connpass.com/

EMConf JP 2025
https://2025.emconf.jp/

konifar

September 13, 2024
Tweet

More Decks by konifar

Other Decks in Programming

Transcript

  1. 自己紹介 - ヒト
 - 小西 裕介(こにし ゆうすけ)です - 社内外ともに『こにふぁー』と呼ばれています -

    株式会社Kyashで、VP of Engineering という役割で開発組織全体のマネジメント をしています - Android / Kotlin が一番好きですが、最近は Go を書くことが多いです
  2. 自己紹介 - DroidKaigiとわたし
 2014年 小さなモクモク会で帰り道一緒になった人に「Android のデカいイベントが企画されているらしい」と教 えてもらう。教えてくれたのは takahirom さんだった。 2015年

    初参加。@mhidaka さんと初めて話す。 2016年 登壇。サンプルとしてカンファレンスアプリをOSSで作る。 2017年 登壇。前年が楽しかったのでまたカンファレンスアプリをOSSで作る。 2018年 登壇。カンファレンスアプリのオーナーを takahirom さんにお願いする。 2019年 登壇。2016年の Droidkaigi で知り合った @pluulove にも誘われ、韓国の DroidKnights にもプロ ポーザルを出し登壇。 2020~22年 コロナ禍 & Android 以外の仕事が多くなり、参加せず。 2023年 @mhidaka さんに誘ってもらって最終日のパネルトークとキャリア相談会に参加。 2024年 登壇。同僚の @tfandkusu のやっていきに感化されてプロポーザルを出した。
  3. 自己紹介 - DroidKaigiとわたし
 2019年 登壇。2016年の Droidkaigi で知り合った @pluulove にも誘われ、韓国の DroidKnights

    にもプロ ポーザルを出し登壇。 https://konifar.hatenablog.com/entry/2019/04/06/032956
  4. 自己紹介 - DroidKaigiとわたし
 2020~22年 コロナ禍 & Android 以外の仕事が多くなり、参加せず。 2023年 @mhidaka

    さんに誘ってもらって最終日のパネルトークとキャリア相談会に参加。 2024年 登壇。同僚の @tfandkusu のやっていきに感化されてプロポーザルを出した。 https://x.com/tfandkusu/status/1801477691352432728
  5. 自己紹介 - Kyashとわたし
 - 株式会社Kyashで6年8ヶ月プロダクトを作っています - [1年半] Android - [半年]

    iOS、Serverside - [1年半] Engineering Manager - [半年] QA - [2年] VP of Engineering - [8ヶ月] 執行役員 VP of Engineering
  6. 自己紹介 - Kyashとわたし
 - 株式会社Kyashで6年8ヶ月プロダクトを作っています - [1年半] Android - [半年]

    iOS、Serverside - [1年半] Engineering Manager - [半年] QA - [2年] VP of Engineering - [8ヶ月] 執行役員 VP of Engineering Android開発時の経験も活きている
  7. 活きたこと① 設計の知識
 - 当時 Android も iOS も MVVM で作られていた

    - ViewModel や UseCase、Repository などの命名を見れば、なんとなくどこに何を 書けばいいかもわかるし過去のコードを追っていくこともできた - Android で学んでいた設計の知識と経験は、iOS のコードベースのキャッチアップ に大いに役立った
  8. Android 開発ではわりと設計の話題が活発
 - Google のリポジトリでも DroidKaigi のセッションでも、設計についてよく話されて いる - テスタブルな設計や、レイヤー分離、DI

    の仕組みまでひととおり学べる - サーバーサイドでも DDD やオニオンアーキテクチャの話題はしばしば上がるが、 Android開発での 知識や経験は応用できる - DDDで言うと、はじめの一歩としては わかる!ドメイン駆動設計 ~もちこちゃんの 大冒険〜 がとっつきやすくてオススメ https://booth.pm/ja/items/392260
  9. 活きたこと② ユニットテストのベースの考え方
 - ロジック部分のユニットテストの考え方は、根っこの部分は何も変わらない - iOS Swift でも Go でも、JUnit実践入門で学んだ考え方がそのまま活きた

    - もちろんOS依存の部分やモックやスタブの方法は違うが、考え方を知っていれば 「Androidでのアレはどうやるのかな」という発想ができる https://www.amazon.co.jp/dp/477415377X
  10. 活きたこと③ 『Androidでいうアレ』という基準
 - iOS開発ではUI部分の実装の違いは大きく、キャッチアップが必要だった - 当時は Swift UI はなく ViewController

    だったこともあり取っつきにくかった - 調べたり同僚に聞いたりする際、「Androidではこうやるやつってどうするのか」とい う取っ掛かりがあったのは非常に役立った - ひとつ得意領域があると、それを基準として差異をキャッチアップすることができる ので早い
  11. 活きたこと④ IntelliJ系 IDEの操作
 - Goland を使ってみると、あまりにスッと適応できて驚いた - ファイル探すときは Shift 2回叩くし、エラーが出てたら

    Option+Enter 押して直した - “体が覚えてら。何百万本もうってきたショートカットだ ” って感じだった - Android Studio を手足のように扱ってきた経験は他の領域にも活きる - IntelliJ は最高 - それをベースに他言語の便利なショートカットキーを肉付けしていく - 例: メルカリ社員100人に聞いたGoLandの使い方 https://speakerdeck.com/vvakame/jetbrains-night-tokyo-2018
  12. Cursor を使うときにも活きる
 - 最近 Go のコードを書く時は Cursor を使っている - ベースは

    VSCode だが、デフォルトで IntelliJ のキーバインドという設定があり移 行はとても楽 https://www.cursor.com/
  13. 活きたこと⑤ ORMライブラリの選定経験
 - Android では今は Room が使われることが多いが、Realm や Orma など色々な

    アプローチでのライブラリがあり選定をしてきた - 天下一「AndroidのORM」武道会(2019: FINAL) - Room 登場以後、やはりクエリをコードに自動生成するアプローチが筋がよいので はないかと思うようになった - Go でもデータベースアクセス部分には sqlc というクエリからのコード自動生成のアプローチをとっ ているライブラリもある - Kyashでは gorm を使っているが、新サービスを作るとしたら sqlc を採用すると思う https://p-side.net/qiita/2019-01-21-03e6256b404c75f5974b/
  14. 活きたこと⑥ Codelabsによるキャッチアップ経験
 - Google の充実した Codelabs でたくさんキャッチアップをしてきて、結局手を動か しながら作ってみるのが一番早いというのが身にしみていた - AWS

    や Docker などひととおり触って作れる教材をやってみることにした - 自分がやってよかったのは、 TECH SCHOOL の Backend Master Class (今は有料) - ただ「Goのコードを書きましょう」ではなく、 DockerやPostgres、GitHub Actions、DBのモックやテス ト、AWSへのデプロイなども含めてひととおりハンズオンで経験できる https://www.youtube.com/playlist?list=PLy_6D98if3ULEtXtNSY_2qN21VCKgoQAE
  15. 他分野を広く浅くやっておくとよい
 - 「Android開発メインでやっていていいのか」と不安になるのは、他をやったことがな くてわからないからという要因が大きい - 時間をとって少し他分野に触れてみるのがオススメ - Cousera や Udemy

    にもよい教材はたくさんあるし、 AWS 認定試験などもよい - 仕事で簡単なタスクがあればやってみるのもオススメ - 広く浅く触っておくと必ずつながってくるし、不安も小さくなる - Android開発にもきっとよい影響が出る - ちょっとしたツールなどは Go でシュッと書くようになった
  16. 活きたこと⑧ 開発リードとしての意思決定経験
 - Android開発固有の話ではないが、Androidエンジニアとしてチームをリードして、 プロダクト開発フローや技術面の意思決定を担ってきたことはマネジメントにも活か せた - マネジメントはチームの成果の最大化のために日々さまざまな意思決定をする必 要がある -

    小さいことでもよいので、意思決定の数を増やして決定慣れしておくとよい - たとえばPull Requestのレビューコメントに prefix をつけるルールを作ってみるとか - Droidkaigi で得たすぐできる改善を取り入れてみるとか - 意思決定の数だけ強くなれる
  17. 活きたこと⑨ コミュニティとの関わり方
 - DroidKaigi を経験していたので、コミュニティで人と話す楽しさやキャッチアップへ の効果を知っていた - iOS をやるときも QA

    をやるときも、コミュニティに入っていく発想を持てたのは DroidKaigi のおかげ - 先人の皆さんのおかげで、日本国内はコミュニティ活動がとても活発
  18. おかげで他のコミュニティにも突っ込んで学んでいけた
 iOSDC iOS のカンファレンス。 - 2017年 20分レギュラートーク登壇 - 2018年 5分LT登壇

    - 2021年 5分LT登壇 - 2024年 5分LT登壇 pmconf プロダクトマネージャーカンファレンス。 - 2016年 初参加 - 2020年 PM Meetup LT登壇 STAR ソフトウェアテスト自動化カンファレンス。 - 2021年 30分セッション登壇 EMゆるミートアップ @ar_tamaさん主催のミートアップ。 - 2024年 3月LT登壇 EM Oasis 月一開催のミートアップ。 - 2024年4月LT登壇