okuzawatsの日記

Android / Kotlin / GitHub Actions Enthusiast 🤖

フラー株式会社を退職しました

2022年8月末でフラー株式会社を退職しました(します)。2019年8月の入社ですので、3年1ヶ月在籍しました。短いような長いような時間でした。フラー株式会社の皆さま、お世話になりました。ありがとうございます。

Androidアプリエンジニアとして

2つのプロジェクトの保守(保守プロジェクト①、保守プロジェクト②)と、2つのプロジェクトの新規開発(新規プロジェクト①、新規プロジェクト②)を担当しました。

保守プロジェクト①

機能改修の傍ら、Androidアプリのリアーキテクチャを主導しました。アーキテクチャとユニットテストのない状態から、DIコンテナを導入し、アーキテクチャとユニットテストの整備を推進しました。この時にリアーキテクチャに踏み出していたことで現在もそれなりに生産性を維持できているように思うので、やって良かったです。

保守プロジェクト②

機能改修とプロジェクトリードの傍ら、Androidアプリのリファクタリングを主導しました。アーキテクチャは存在するもののロジックがViewに集約されている状態からリファクタリングを、またユニットテストのない状態からユニットテストの整備を進めました。

新規プロジェクト①

Androidアプリに用いるライブラリの選定やアーキテクチャの設計を行いました。当時まだ正式リリース前だったDagger Hiltをあえて導入したのですが、アプリの開発完了までの間にDagger Hiltが正式リリースされた時は我ながらタイムリーな選定だと思ってシビれました。

また、このプロジェクトで設計したMVVMアーキテクチャは、その後、他の複数のプロジェクトで踏襲されることになりました。開発しやすいアーキテクチャを設計できたということだと思うので、良かったです。

新規プロジェクト②

某クロスプラットフォームフレームワークを用いて、社内に唯一の某クロスプラットフォームフレームワークのエンジニアとして、プロジェクトのリードを頑張りました。MVVMアーキテクチャとFirebase Firestoreを用いて、データの更新に対してリアクティブにUIが更新される"Everything is a stream"なアプリを作りました。

その他

退職前の最後の1ヶ月はプロジェクトへのアサインもなくなり、後任のテックリードも就任したので、自由に動くことができました。この間隙を突いて、Dagger AndroidからDagger Hiltに移行するPRを出したり、Deprecatedなライブラリへの依存を解消するPRを出したり、プロジェクトごとに異なっていたユニットテスト用のライブラリを統一するためのPRを出したり、CI/CDを改善するPRを出したりしました。こういう活動は好きです。

バグバッシュ大会を開催したこともありましたね。

また、フラー株式会社在籍中の実績として、その他にGitHub ActionsでAndroidアプリのテストを回しまくってたら全プロジェクトのCI/CDを完全停止寸前に追い込んだなどがあります。

テックリードとして

技術的なところでは、Androidアプリの技術選定、アーキテクチャの設計、ユニットテストの普及、ドキュメントコメントの普及、といった活動を行いました。

技術選定については、Dagger HiltやKotlin Flowなど、いい感じの技術をいい感じのタイミングで採用できたと思っています。Jetpack Composeについても、Jetpack Composeが正式リリースされた後に社内でハンズオンを開催するなど、導入を推進することができました。実際に、Jetpack Composeの正式リリースから1年経ち、社内ではJetpack Composeが広く使われている状況になりました。また、3年前のユニットテストがないのが普通の状態から、ユニットテストがあるのが普通の状態というところまで持ってくることができました。

その他、Androidメンバーとの1on1で人生相談に乗ったり、CIが壊れた時に呼ばれる係になったり、新規のAndroidメンバー用の研修課題を作ったり、Androidメンバー用のドキュメントを整備したり、といった活動を頑張りました。社内のAndroidグループの文化がかなり良くて、例えば「AndroidグループのSlackのチャンネルは技術的な話題で盛り上がっていて羨ましい」と言われていた、というような話を聞いたりしました。このような文化の形成にも貢献できた(のであればいいな)と思います。

一方で、Androidメンバー全員が不当に貶められていると思えるようなSlackの投稿があった時に、リーダーとしてメンバーを守る動きができなかったことを反省しています。メンバーに落ち度はなく、落ち度があるとすればテックリードだった自分にありました。当該の投稿に対して適切な反論をできなかったのはリーダー失格だと思っており、今も自分で自分を許していません。

リードエンジニアとして

保守プロジェクト②でのプロジェクトリードとして、プロジェクトを平穏無事に推進することができました。難しい局面でも何事もなかったかのように乗り切ったのが成果だと思います。

もちろん全部が自分の成果ではなくメンバーの努力によるところが多いですが、このプロジェクトの運営は本当に上手くいっていて、メンバーからは「癒やしのプロジェクト」と呼ばれていました。こんなプロジェクト、他にありますか?

また、最後の半年間は積み上がったバックログの解消を推進して1、半年間で全体の25%超のチケットを完了しました2。かなり腕力を使いました。

何で辞めるの?

いろいろな理由がありますが、一番の理由は「大きくキャリアアップのできそうなポジションのオファーをいただいた」ということです3。フラーはとても居心地のよい会社なので、今も積極的に辞めたいとは思っていません。が、エンジニアとして、この大きなチャレンジのチャンスを逃すわけにはいかないという気持ちのほうがわずかに勝りました。

また、Androidエンジニア・テックリードとして、一定の成果を出すことができた、キリのいいタイミングだった4という理由もあります。先月、英国の首相を辞任したボリス・ジョンソンの言葉を借りれば、「これで十分だ。任務はほぼ達成された」というような満足感です。

終わりに

Androidのメンバー、プロジェクトのメンバー、その他の関わってくれたメンバーのおかげで、とても充実した3年1ヶ月を過ごすことができました。居心地のよい会社でした。ありがとうございました。またどこかで会いましょう。

Mr. Speaker, I want to thank everybody here. And hasta la vista, baby. Thank you. (Boris, (2022))

Reference

  1. Yahooニュース, (2022), 英首相「また会おう、ベイビー」 最後の下院質疑、名ぜりふで締め, retrieved from https://news.yahoo.co.jp/articles/b57db279b850fd298814ea8bee89f7ee29a212fe (最終アクセス日:2022年8月29日)
  2. TBS NEWS DIG, (2022), 「またな、ベイビー!」イギリス・ジョンソン首相最後の答弁 最後の最後で放ったのはターミネーターのセリフ【詳報】, retrieved from https://newsdig.tbs.co.jp/articles/-/100843 (最終アクセス日:2022年8月29日)

  1. 自分がプロジェクトリードになった時には既に積み上がっていたものです。 ↩︎

  2. 個人的には対応されることのないチケットはそのままCloseしてもいいと思っていますが、そうはしませんでした。 ↩︎

  3. 逆に言えば、社内ではこれ以上のキャリアアップが難しい、と感じていたということです。 ↩︎

  4. と、自分では思っている。 ↩︎

#Other

書いている人 😎

profile

茨城県つくば市在住のモバイルアプリケーションアーキテクト(Androidが得意です)。モバイルアプリのアーキテクチャ、自動テスト、CI/CDに興味があります。いわゆる「レガシーコード」のリファクタリング・リアーキテクチャが好きです。

Androidプロジェクトの開発速度低下にお悩みで、お手伝いが必要でしたら、メールフォームよりお気軽にお問い合わせください。

👉 もっと詳しく

著書 ✍

Android MVVMアーキテクチャ入門 🛠

Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。NextPublishingより出版されています。

販売サイトへ 🏃

Android ユニットテスト ヒッチハイク・ガイド 🧳

Androidアプリのユニットテストに入門するためのガイダンスです。初学者が混乱せずにAndroidアプリのユニットテストを書き始めることができる、ということを目的としています。

販売サイトへ 🏃

関連記事 👀

お問い合わせ 📨

お名前

メールアドレス

お問い合わせ内容