Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

入社から約4年、Money ForwardのAndroidアプリエンジニアとしての活動を振り返る

こんにちは。Androidアプリエンジニアのsyarihuです。 私が入社したのは2017年10月で、入社してから約4年が経過しました。マネーフォワード MEのAndroidアプリエンジニアとして、そしてスマートデバイス推進グループとしてさまざまな活動をしてきました。約4年の区切りということで、これまでの活動を時系列で振り返りたいと思います。

syarihuの簡単な自己紹介

マネーフォワードには2017年10月に入社しました。 会社としては2社目で新卒2年半ほどからの転職だったのと、前職は主にサーバーサイドJavaエンジニアとして働きつつ、そこまで実装タスクは多くなかったもののAndroidアプリエンジニアとしても働いていました。そのため実務での経験は浅くAndroidアプリエンジニア界隈での知名度もそこまで無い時期でした。 そんな僕を、自身がプレミアムユーザーとしても利用する「マネーフォワード ME」のAndroidアプリエンジニアとして採用していただき、マネーフォワードに入社できたことはとても嬉しかったです。

マネーフォワードでは入社当初の希望通り、入社からいままで「マネーフォワード ME」のAndroidアプリ開発を主に担当してきました。 昨年からは「マネーフォワード ME」のAndroidアプリエンジニアを主務としつつも、兼務でスマートデバイス推進グループのメンバーとして、社内のモバイルアプリエンジニアの課題解決にも取り組んでいます。仕事の活動の幅を広げてさまざまな経験をさせてもらっています。

syarihuがこれまでやってきたこと

これまでやってきたことのサマリを時系列で振り返っていきます。

2017年

2017年10月に入社し、マネーフォワードの一員として仕事するために必要なことをインプットしたり、初手でMfCoreという神クラスを倒したり、MEのアプリを開いたときに最初に表示されるホーム画面のリニューアルに注力した年でした。

当時はまだ出社するのが当たり前の環境でした。オフィスも田町に2つあったオフィスのうち、今よりは小さいビルのワンフロアで一緒に仕事をしていました。チームメンバーも少なく、お昼はみんなで一緒にランチに行くなどリアルでのコミュニケーション機会がかなり多かったです。そのため初めての転職で新しい環境という不安な状況ではありましたが、暖かく迎え入れていただき、安心して仕事することができました。

ホームリニューアルは実装規模が大きく大変なプロジェクトだったものの大きな問題なく無事に終わり、その後勉強会でリニューアルの裏話を話したりもしました。

2018年

当時は技術的負債がまだ多く、開発環境もあまり整っていなかったので、CI/CDの環境整備やアプリの設計の刷新、いくつかの主要な画面のリニューアルに合わせて新しい設計を適用するなど、より開発しやすい環境を整備した1年でした。 マネーフォワードという会社で仕事するのにも慣れてきて、自身が提案したパスコード画面での指紋認証機能を実装するなど、アプリの機能開発もたくさん行いました。 アプリの機能開発を通して得られた知見は数多くあり、外部アウトプットも意識的にやっていこうと思っていたので、機能開発で得られた知見などを勉強会で発表していきました。

外部登壇の活動を通して自身のAndroidアプリエンジニア界隈での知名度も少しずつ上がり、会社のプレゼンス向上にも貢献できたのかなと思っています。

設計刷新や負債改善、そして外部アウトプットなどの活動が成果として会社に認められ、2018年下半期のMoney Forward AwardでMVPをいただけたのは本当に嬉しかったです。

こういった活動を後押ししてくれたり、正しく評価してくれるのはマネーフォワードのとても良いところかなと思っています。

2019年

「マネーフォワード ME」にあるプレミアムサービスに、月額プランに加えて新たに年額プランを追加するのに伴い、課金の勉強会やPlay Billing Libraryに関する情報のアウトプットに注力した1年でした。 また、アプリのリリース自動化対応やプロジェクト全体のパッケージ整理、マルチモジュール化対応など、開発スピードを向上するための環境改善などにも継続して取り組みました。 その中でも特に印象に残っているトピックについて詳しくお話します。

年額プラン追加対応

年額プランの実装は新しいプランの追加だけでなく、AIDLという古い仕組みでの課金実装から、今ではGoogle Playのアプリ課金を実装する上で必須のライブラリとなっているPlay Billing Libraryというライブラリに移行するというような対応も行いました。 課金周りの知見はWeb上にはあまり無かったこともあり、実装はかなり大変なものでした。そういったつらい経験から当時の開発チームメンバーと「課金勉強会あったら需要ありそうだよね」という話になり、年額プランのリリースが落ち着いたあたりでIn-tamachi Billing Nightという勉強会をマネーフォワード主催で開催しました。

【増枠】In-tamachi Billing Night - connpass

私自身を含めマネーフォワードから2人、公募で2人、そして他社のゲスト2人をお誘いして計6人を登壇者として、課金のつらみや知見を共有しました。勉強会の参加人数は当時開催されていた他のAndroid勉強会と比べると多くはありませんでしたが、参加者同士で課金周りの深い話ができたので、本当に良い勉強会になりました。 勉強会を通して課金周りの情報は需要が高いことが分かったのもあり、私は課金周りの情報感度が高くなり、最新情報が出るたびになるべく早く調査して共有するというのを積極的に行うようになりました。



マネーフォワードに定期購入の機能が無ければ、ここまで課金関連の情報に詳しくなることも無かったと思います。こういった経験をさせてもらえたことは本当にありがたいことだと改めて思いました。

アプリリリースの自動化対応

アプリリリースの自動化対応では、この自動化の対応をする前にやらなければならない課題がたくさんありました。

  • アプリ署名鍵の管理方法の明確化
  • Google Play App Signingを使用したアプリ署名への移行
  • Play Console管理者の適切な権限管理

自動リリースする上で、鍵をどこにおいてどのように署名するのか、というのを決めておかないと、大事な署名鍵やその署名情報が盗まれてしまうリスクなどもあるため、既存のアプリがどのように鍵を管理しているのかを把握し、その管理方法を見直して全社として統一するなどの対応を行いました。 Google Play App Signingを使用したアプリ署名への移行では、Play Consoleにリリース署名鍵の管理を任せることになるため、まず先にPlay Consoleにアクセスできるユーザー権限を適切に設定できるようにしたほうがいいという話になりました。当時の私の上長やCISO室と協力して、まずPlay Consoleのオーナーアカウントを専用の管理アカウントに移管したり、ユーザー権限設定の見直しを行いました。

そういった方針決めや移管作業、権限整理などを地道に行ったおかげで、無事に鍵の管理方法や権限管理が適切に行えるようになり、自動リリースの対応もやりきることができました。また、マネーフォワードとして提供するアプリで自動リリース対応がしたくなったときにいつでも対応できる環境を整えることができました。Play Consoleのオーナーアカウントの移管については僕自身が作業したことはほとんどありませんが、当時実際に対応してくださったCISO室の方々や当時の上長には多大なるご協力をいただいたので、本当に感謝しかありません。 今ではPlay Consoleの権限申請はワークフロー申請でスムーズに依頼ができるようになっているので、こういった対応を推進して本当に良かったなと思います。

まねふぉ執筆部の立ち上げ

2019年にはマネーフォワードの部活として「まねふぉ執筆部」の立ち上げも行いました。当時私のtimesチャンネルで技術書典にサークル参加したいよね、という話が上がり、社内で募集をかけたりもせず自然に参加したいメンバーが集まり「まねふぉ執筆部」として出典することになりました。

「Money Forward Techbook」を技術書典7に出典します | Money Forward Engineers' Blog

マネーフォワード非公式の部活という形ではありますが、当日の会場には多くの方が集まってくださり物理本、電子版含め多くの方の手に私たちの知見を詰め込んだ本を届けることができました。 このとき立ち上げた「まねふぉ執筆部」は今でも続いており、これまでに4冊の技術本を出しました。ここまで続けてこられたのは有志で集まってくれたメンバーのおかげでしかないので、これまで執筆や表紙を描いてくれたメンバーには本当にとても感謝しています。

2020年

この年からリモートが当たり前の状況になり、オフラインでの勉強会の開催が無くなって外部アウトプットの機会が減ってしまいました。そういった事情もあり、ブログへのアウトプットを増やしつつ、オンライン勉強会があった際には積極的に登壇するということに注力した年でした。 特にGoogle Play課金関連の外部アウトプットに関しては、DroidKaigi 2020への登壇、そしてGoogle共催のAndroid 11 Meetupsへの登壇をしたことで、Google Play課金関連の知見を持っていることがより私自身の強みになりました。 プロダクトの機能開発については大きいプロジェクトでいうと「マネーフォワード ME」と「マネーフォワード クラウド確定申告」の連携機能の開発、「マネーフォワード ME」のAndroidアプリの開発環境改善についてはプロジェクト全体のパッケージ整理やマルチモジュール化などにも引き続き取り組みつつ、新卒育成なども行いました。 全社的な活動では、Androidバージョンサポート基準の策定とエンジニアブログでの公開をしました。

Google Play課金周りの知見共有

2019年の年額プランの追加対応から、Google Play課金関連の情報感度が高くなり、Google Play課金関連のさまざまな知見が溜まっていました。それをネタとしてDroidKaigi 2020に応募したところ、採択されて登壇することになりました。DroidKaigi 2020は残念ながらイベント自体は中止となってしまいましたが、登壇予定だった方は任意でDroidKaigi公式チャンネルで動画を公開していただけることになったので、撮影を依頼して動画を公開してもらいました。

例年開催されているGoogle I/Oも中止となり、例年Google I/Oで行われているようなセッションはYouTube動画として公開されました。その中にGoogle Play課金関連のアップデート情報を含む「What's new in Play Commerce」というセッション動画も公開されたので、その発表内容から重要なトピックをピックアップして解説したmediumの記事を公開しました。

自身のプロダクトに関係がある内容のため、もちろん業務時間をつかって調査や記事の執筆ができました。また、ここでまとめた内容から実際にプロダクトの実装やマーケの施策にも繋げることができました。

DroidKaigiというAndroidエンジニアにとってはとても大きな舞台での登壇などのおかげもあってか、Android 11 Betaのリリースを機に、アプリ開発の最新技術情報を分野ごとにGoogle関係者や外部のエキスパートから発表する「Android 11 Meetups」というGoogleとGDG(Google Developer Groups)が共催するオンラインセミナーシリーズの「アプリ配信と収益化」に外部エキスパートとして登壇のお誘いを受け、登壇することになりました。

年額プランの追加対応をしてから、Google Play課金周りの知見共有を日々続けてきたことでこういった登壇依頼を受けることに繋がり、Androidアプリエンジニア界隈からはGoogle Play課金に詳しい人としてだいぶ知名度が広がっていったと思います。 プロダクト開発をしつつ、そこで使っている技術に対してより理解を深めて知見を広げていく活動を地道に続けることは、そういった活動を通して得られた知見を使ってプロダクトへの還元もできますし、自身のプレゼンス向上にも繋がると思うので、改めて大事なことなのだと実感しました。

Androidバージョンサポート基準の策定

当時「マネーフォワード ME」のAndroidアプリでAndroidの最低動作バージョンの引き上げを行うことになり、チーム内での検討を進めていました。 社内のエンジニア全員が参加しているチャンネルでたまたまその話題が出たときに、会社として明確にAndroidバージョンのサポート基準を決められるといいよね、という話になりました。 その後、私がAndroidアプリのAndroidバージョンサポート基準の草案を考えて社内のAndroidアプリエンジニアに意見を伺いつつ、関係各所に確認をとった上で全社方針として展開しました。

当初は社内での展開のみを想定していましたが、全社に展開した際に「外部に公開しても問題無さそうな内容だし、公開しておくことに意義がありそうなのでエンジニアブログにしませんか?」という提案を受けました。たしかにその方が良さそうだなと思ったので、エンジニアブログに公開することにしました。 エンジニア同士で議論できるオープンな場があったことでさまざまな人の意見を受けて、チーム内でやっていた活動を全社方針として策定する流れになり、社内のみに公開予定だったものが社外にも公開することになりました。こういった場で意見をくださる方々や社外への公開を後押ししてくれる方々がいたおかげで、会社としての方針策定もできましたし、自分自身のアウトプットにも繋がりました。 このように意見を出しあって、よりよい方向に向かっていけるのは本当に良い環境で仕事をさせてもらっているなと改めて感じました。

2021年

「マネーフォワード ME」のAndroidアプリプロジェクト全体に関わる負債改善周りの対応がだいたい落ち着き、より開発効率を上げるための新しいライブラリの導入などができるほどに余裕ができてきたり、全社的な活動に注力した年でした。

「マネーフォワード ME」のAndroidアプリプロジェクトの改善

2019年ごろから空き時間に少しずつ地道に対応をすすめていたパッケージ整理は無事にすべての整理が終わり、パッケージの見通しがだいぶ良くなりました。かなり長い年月がかかってしまったものの、プロジェクト内のほぼすべてのクラスを触ることになったため、プロジェクトの実装に対してより理解が深まったり、未使用のクラスや不要な処理が見つかって削除することができるなど、良いことが多かったのでやって良かったなと思いました。

新しいライブラリの導入では、DBアクセスをしている箇所にRoomを導入したり、テスティングフレームワークをkotestに置き換えてKotlinでよりテストが書きやすい環境にしたり、ABテストの画面からJetpack Composeを試験的に導入するなど、より開発しやすくなるような対応を行いました。 また、AndrordのDIフレームワークをDagger Androidから、より実装がしやすくなるDagger Hiltへの段階的な移行も行いました。Dagger Hiltへの移行は、副業で参加してくださった業務委託のメンバーと協力して地道に少しずつ対応を進めたことで無事にすべて置き換えることができました。 こういった対応によって、これから「マネーフォワード ME」のAndroidアプリをより成長させていくための準備を整えられたのではないかなと思っています。

スマートデバイス推進グループの立ち上げと活動

社内のモバイルアプリエンジニアの課題に向き合い、課題を解決する組織として社内のモバイルエンジニアを何人か集めて「スマートデバイス推進グループ」を2021年2月に発足しました。 技術顧問の招致から始まり、モバイルアプリエンジニア向けのグレード要件策定や新しい技術に挑戦できる環境を整えるなど、さまざまな活動を行ってきました。

上記記事に書いたとおり、スマートデバイス推進の発足からも言えるように、マネーフォワードではエンジニアが上げた課題に対して会社として真摯に向き合い、解決に向けてスピード感を持って向き合ってくれるとてもよい雰囲気があります。 こういった経験から、個人的にはマネーフォワードはエンジニアとしてとても働きやすい環境であると改めて感じました。

おわりに

マネーフォワードとして働いたこの約4年で、アプリの機能開発だけでなく、技術的負債の解消や開発環境の改善に積極的に注力できたのは、その活動を支えてくれた開発チームのメンバーや上長のおかげだと思っています。 機能開発だけでなく技術的負債の解消も含めて評価してもらえたことは、自身のモチベーションにも繋がっていたので、一緒に働いてくださった方々には感謝の気持ちでいっぱいです。本当にありがとうございました。

「マネーフォワード ME」は知り合いでも利用してくださっている方々が多く、「いつも使ってます!」「プレミアムサービス利用させてもらってます!」などの声や改善要望なども直接いただくことが結構あります。多くの方々に使われているサービスを作っているという実感が得られやすく、友人などにも自信を持ってオススメできる本当に良いサービスだと思います。 そういったところにもモチベーションを感じられる方や、ユーザーのお金の課題を解決するために「マネーフォワード ME」を一緒に作っていきたい方、今回の私の振り返りを見て、こういう職場で働いてみたい!と少しでも思った方は、ぜひ一度カジュアル面談にお話を聞きに来てはいかがでしょうか。

ちなみに私は今後、自身をより成長させる新たな挑戦のために、本日2022年2月25日を最終出社日として、2022年3月31日をもってマネーフォワードを退職することとなりました。マネーフォワードという大好きな会社を離れるのは寂しい気持ちもありますが、これからはいちユーザーとして応援したいと思っています。本当にありがとうございました!


【サイトのご案内】 ■マネーフォワード採用サイトWantedly福岡開発拠点京都開発拠点

【プロダクトのご紹介】 ■お金の見える化サービス 『マネーフォワード ME』 iPhone,iPad Android

ビジネス向けバックオフィス向け業務効率化ソリューション 『マネーフォワード クラウド』

おつり貯金アプリ 『しらたま』

お金の悩みを無料で相談 『マネーフォワード お金の相談』

だれでも貯まって増える お金の体質改善サービス 『マネーフォワード おかねせんせい』

金融商品の比較・申し込みサイト 『Money Forward Mall』

くらしの経済メディア 『MONEY PLUS』