Slide 1

Slide 1 text

Androidエンジニア少ない?
 絶対おかしい!
 なんで!どうしたらいい!
 Android開発に関わる我々は何をすべきなのかというモヤモヤと、
 今後(個人的に)やっていきたいこと


Slide 2

Slide 2 text

自己紹介
 ● 大西 泰司(@taiji_cOnigashima)
 ● FiNC Technologies株式会社
 ● SwE/Android開発4年生
 ○ SEとしてキャリアを初めて以降、Android開発に従事してきた 
 ○ 入り口から今までAndroid開発でピュア・ネイティブな存在 


Slide 3

Slide 3 text

背景
 ● 社内でAndroidエンジニア一人になったらどうしたらいいんですか
 ○ DroiKaigi 2021
 ■ Androirdエンジニアが一人という不安と向き合う 
 
 ● Androidエンジニアって少ない?よく言われるけど
 
 ● 採用動いても見つからない
 ○ Androidエンジニアは今や売り手市場? 
 ○ オファー飛んでる感想 
 ■ どこもかしこも「We're hiring!」 
 ■ ソフトウェアエンジニアだとモバイルアプリに限らないが 
 ■ でもカンファレンスとか勉強会いったらAndroidの人いっぱいいる 


Slide 4

Slide 4 text

Android開発に関わる我々は、何をすべきなのかというモヤモヤ
 と、
 今後(個人的に)やっていきたいこと 


Slide 5

Slide 5 text

目次
 ● 背景・自己紹介
 
 ● Android開発の需要とエンジニアの供給
 ○ ネイティブ開発とマルチプラットフォーム 
 
 ● Android開発の昨今


Slide 6

Slide 6 text

Android開発の需要はあるか?
 
 ● 求人は他の分野と大差ない
 ○ Androidエンジニアの需要|将来性や仕事内容、年収、求人・案件数を紹介 
 
 ● OS別のシェアはどうか
 ○ ※ 一旦日本に限ります 


Slide 7

Slide 7 text

日本のスマホOS別シェア
 ばらつきはあれど、シェア的に差があるわけではなさそう。 
 引用 https://mmdlabo.jp/investigation/detail_2012.html https://101010.fun/posts/world-ios-android-share-2021. html#jp https://bitwave.showcase-tv.com/iphone強すぎ|ガラパ ゴス化した日本のスマホ市場シ / https://simchange.jp/post-164095/ 


Slide 8

Slide 8 text

Androidエンジニアの供給はあるか?
 ● Android開発を選択する割合
 ○ まずはiOS開発を選択する? 
 ○ マルチプラットフォーム開発を選択する? ■ ReactNative/Flutter / PWA(Progressive Web Apps) ○ ネイティブ開発は割に合わない? 


Slide 9

Slide 9 text

引用 ;https://medium.com/neoxia/pwa-vs-flutter-vs-react-native-vs-native-dc06a17ebf1a


Slide 10

Slide 10 text

ネイティブ開発は割に合わない?
 ● ReactNative/Flutter/PWAとの比較表
 ○ ネイティブ開発は、開発・運用コストは高いものの、パフォーマ ンスも含めて優れている部分もある 
 ■ 消費電力
 ■ サポートと安定性
 引用 ;https://medium.com/neoxia/pwa-vs-flutter-vs-react-native-vs-native-dc06a17ebf1a


Slide 11

Slide 11 text

Androidエンジニアの供給はあるか?
 ● Android開発を選択する割合
 ○ まずはiOS開発を選択する? 
 ○ マルチプラットフォーム開発を選択する? ■ ReactNative/Flutter / PWA(Progressive Web Apps) ○ ネイティブ開発は割に合わない? 理由は分からない!! 仮説ベースでしかないのと、目の前の問題に対してどうするか?

Slide 12

Slide 12 text

採用できないならどうしたらいい?
 やりたいこと:ネイティブ開発の人口を増やす
 ● 0(初学)から育成する
 ○ 新人から / 中途から 
 ○ 日本以外での採用を検討する 
 ■ 英語での運用
 ■ 日本語開発者ってどれくらいいる? 
 
 ● 他分野の開発者をコンバージョンをする ← 現実的
 ○ iOS ⇆ Android
 ○ ServerSide -> Android 
 ○ フロントエンド -> Android 
 


Slide 13

Slide 13 text

Android開発への転換にはどんな障壁があるのか?
 ● Android開発は敷居が高い??
 ○ redditでの議論 :
 ■ Is it just me or is Android development hard AF to learn? 
 ■ 作ってみるしかない
 
 ● Android開発のために何を知って貰えば良いのか
 ○ The 2022 Android Developer Roadmap 
 ○ AndroidフレームワークにおけるUIやライフサイクル 
 ■ ActivityやらFragment 
 ○ xmlファイルによるレイアウト組み 
 ○ MVVMといったアーキテクチャ 
 ■ FiNCのような大規模コード開発だとむしろ必要 
 ○ 毎年来るOSアップデートへの対応やら 
 ○ え、JetPackのライブラリ多すぎ・・・? 


Slide 14

Slide 14 text

Android開発の昨今 : JetPackCompose
 ● 宣言型UI
 ○ 最近主流のパラダイム 
 ■ ステートレスなコンポーネント化 
 ■ 状態管理からの解放 
 ○ Reactと比べて
 ■ React書いていたServerの人は「すごい書きやすい」と仰せ 
 
 ● Java to Kotlinぐらいのムーヴメントと言われている
 ○ 長期的にはxmlが置き換えられていくのでは 
 ■ 議論
 ● Will Jetpack Compose Take Over XML? : r/androiddev 


Slide 15

Slide 15 text

最近考えていること
 ● JetPackCompose導入して、フロントエンドからネイティブモバイル開発に持ってくる のがスムーズなのでは!!??(フロントエンドしらんけど)
 ○ Viewだけで切り出す 
 ○ Reactライクに書ける 
 ■ SwiftUI
 
 ● Androidの魅力を伝える
 ○ なんでモバイルアプリ開発? 
 ○ なんでAndroid開発をやるのか? 
 ■ Androidの価値を個人的に答えを持っておきたい 
 ○ 技術のなかで一つの選択肢 


Slide 16

Slide 16 text

やっている(いきたい)こと
 ● Android開発コミュニティへの参加・貢献
 ○ 自分のためとそもそもの人口を増やすため 
 ■ 結構大事なんじゃないかなぁという最近のお気持ち 
 
 ● 間口の広げ
 ○ 社内のAndroid_Exampleを作る 
 ■ JetPackライブラリを使ったAndroid例 
 ○ 社内のtech共有会(主にAndroid開発者以外とのペアプロ・モブプロ)をしていく 
 ○ 止まりがち🥺
 
 ● 他の分野を知る
 ○ iOS / Server / Front / MultiPlatform 


Slide 17

Slide 17 text

END