見出し画像

iOSDCに登壇しました。LayerXに入社しました。Flutterはじめました。

こんにちは!
モバイルアプリ開発をよくやっているエンジニアのたまねぎです🧅
直近iOSDCに登壇してLayerXに入社してFlutterを始めたのでブログ書きました!(モノリシックBlogです)

「LayerXのモバイルエンジニアはこんな事やってるんだ〜」ぐらいの軽い気持ちで読んでもらえると嬉しいです!


iOSDCに登壇しました

iOSDCは国内最大級のIOSエンジニアの祭典です。個人としては今年が3回目の連続登壇となりました!今回はオフライン・オンライン合わせて1400人弱ほどの参加者だったようです。

Day1の様子

今年はプロポーザルを出すタイミングが丁度前職を辞めた直後で、業務に関わるトークが出せなく諦めようかなーとも考えていたのですが、ザッピングしていたWWDC動画の中で意外と音声関連の技術が面白いことに気づき、全く業務で活用してないトピックでお話しさせてもらいました。

要素技術の深い言及などはできなかったですが、現状のiOSが実現できる全体感をお伝え出来ていれば嬉しく思います。(そこそこウケも取れた気がするので個人的には満足です。)
資料は下記のリンクから参照できますので、よければご参照ください。

参加は家庭の事情でDay1だけとなってしまいましたが、前職や前々職の同僚などにも会えて楽しかったです。改めてスタッフの皆様、スピーカーの皆様、スポンサーの皆様、参加者の皆様、ありがとうございました!追っかけ再生しつつ、来年も楽しみにしています!

LayerXに入社しました

今年の6月、3年ほど勤めたSTORESを退社してLayerXに入社しました。
以前、カジュアル面談の機会があり、爆速開発ができる環境やカルチャーの確立された社風などに魅力は感じていたのですが、当時はモバイルアプリに注力していなかったので特にアクションはしていませんでした。
それが直近流れが変わり、モバイルチーム立ち上げが決まったと聞いて入社に至った形となります。

採用フローとしては大まかに、面接、技術課題選考(課題に沿ったアプリの開発)、トライアル入社選考(業務のガチ議論)といったコンテンツがあり、比較的重めのものでした。ただ、この重厚な選考フローは個人的にはとても良かったと思っています。
※ トライアルの内容は応募したポジションなどにより、いくつかパターンがあるそうです。

理由は、入社後のイメージがつきやすくミスマッチが起きづらいためで、その要因としては「自身を真摯に評価してもらっている感覚が強く不安が少ない」というのと、「一緒に働く人達や環境を入社前に肌で感じることができる」という部分が大きかったと感じています。
また、これは選考側にも同じメリットがあると思います。(もちろんその分採用コストも高くなりますが)

実際、入社後に大きなギャップを感じるポイントはなく、ネガティブな印象も特にありませんでした。逆にポジティブな部分としては、ユーザー理解の基盤がある状態でテクノロジーにも深く通じている点がすごいなと感じています。「技術は手段だけど、技術自体も好き、技術によってユーザーの課題解決するが大好き」という人達がいるとても素敵な環境でプロダクトを作っていけることにワクワクしています。

ちなみに、入社して約2ヶ月で進めてきた業務は以下のような感じで、技術面でも楽しいことをやらせてもらってます。

  • モバイルエンジニア選考

  • ネイティブアプリ化の技術調査・選定

  • アーキテクチャ基盤作成(モブプロを交えて)

  • CI/CDセットアップ(+ Xcode Cloud移行)

  • GraphQL基盤作成

  • 共通UIコンポーネントとComponent Catalog App作成

  • デザインもくもく会

  • 機能開発開始!

詳細については、社外に話せる範囲であれば何でもお答えいたしますので、興味を持ってくださった方は是非カジュアル面談へのご応募もお待ちしております。

Flutterはじめました

現状WebViewベースのガワアプリである「バクラク申請・経費精算」は、チーム内での議論や技術調査を重ねてきた結果、Flutterでネイティブ化していくことに決定しました。

意思決定の理由としては「OS最適化した細部にこだわった高品質なアプリを追求するよりも、ユーザーの課題を高速に解決し続けられるスピードを担保できるか」を重点ポイントとして置き、Flutterでは主に以下の点を評価しました。

  • 開発・運用・テスト・PJ管理のコストを抑えられる

  • 開発のスイッチングコストが低減できる(iOS, Android, WebFE, BE)

  • 将来性に大きな懸念がない

議論開始時点ではiOS/Androidそれぞれでネイティブアプリを作り、KMP(KMM)でロジックを共通化するパターンが有力候補だったのですが、観点の洗い出しやPros/Consの整理など、一つ一つロジックを積み重ねていった結果この決定に行き着きました。Flutterは決して銀の弾丸ではなく、私自身ネイティブアプリの実装を長くやってきたのでそちらの強みも重々理解しているつもりです。ただ、現時点でのチームの意思決定としては揺るぎないものになったのではないかと感じています。

ちなみに、LayerXの出来立てほやほやモバイルチームには、Flutterのスキルが高い人だけでなく、Androidやバックエンド開発の経験値が高い人などもおり、バリエーション豊かなメンバー構成で開発を進めています。

私自身に関しても、iOSを中心にFlutter, Android開発もある程度経験があるので、それぞれの強みを活かして高速に開発を進めていくぞ!というお気持ちです。

個人的な活動としては、FlutterKaigiにもはじめてプロポーザルを出してみたので、もし運良く採択されたら是非見にきてくれると嬉しいです。(落選したらブログとかでアウトプットしようかなと思ってます。)

さいごに

業務ではFlutterをメイン技術として採用することになりましたが、iOSへの愛は冷めておりません!個人開発や副業などでiOSネイティブアプリの開発は続けていく所存なので、次回のiOSDCも貪欲に登壇を狙っていきたいと思います。

また、LayerXには現状「モバイルアプリ」のイメージはあまりないかと思いますが、これからはモバイルの面からも「すべての経済活動を、デジタル化する。」つもりです!

モバイルならではの体験によって、業務がバクラクになる世界を是非楽しみにしていてください!!

この記事が気に入ったらサポートをしてみませんか?