
『マネーフォワード ME』の新卒3年目エンジニアがまわりのサポートで自信がついてきた話
こんにちは。
『マネーフォワード ME』(以下、ME)でサーバーサイドエンジニアとして働いている たか (@nogtk) です。
マネーフォワードには、2019年に新卒入社して、今年の4月で3年目を迎えました。
この note では新卒2年目として働いた 2020.4 ~ 2021.3 の業務内容を振り返りながら、
ME というプロダクトに対してどういう関わり方をしてきているのか、その雰囲気を感じてもらえると良いなぁと思っています。
そして自らの努力だけでなく、まわりのサポートによって自分に自信がついてきたよ、という話を最後にします。
詳細なエンジニアリングについてこの投稿では割愛していますので悪しからず。機会と題材とやる気があれば、当社のエンジニアブログで発信しようと思います (笑)
では 2020.4 から振り返っていきます。
Webリニューアル (2020.4 ~ 2020.7)
2020年に入ったタイミングからプロジェクトに参加したので、だいたい半年くらい主にサーバーサイド、たまにフロントエンドの開発を行っていました。
結果としては7月頭のリリース後、ユーザーのみなさまからの反応を踏まえて切り戻しということになったので、いわば幻のweb版、とでも言えるかもしれません。 (当時の経緯については代表辻の note をご覧下さい。)
実装を行っていた当事者として、プロダクトを通じて価値を届ける難しさを強く感じました。あの一件から、個人向けプロダクトを提供するホームカンパニーとして、ユーザーと向き合う姿勢や、プロダクトが提供する価値を見直すきっかけになったかなと思っています。
実は裏側のバックエンドもリファクタリング※ 込みで書き換えてる部分も多くありました。そのため、エンジニアリングという観点でも家計簿のコアロジックの実装に携わることができ、とてもチャレンジングなプロジェクトでした。
※ リファクタリング… プログラムの振る舞いを変えることなく、内部のソフトウェア構造を書き換えること
幻のweb版のその一部
確定申告連携 (2020.9 ~ 2020.10)
MEと『マネーフォワード クラウド確定申告』を連携させて、ME から確定申告までをシームレスにつなげようというプロジェクトです。toC と toBのサービスが連携するという、マネーフォワード全体としても初の試みでした。
その中で私は、MEのバックエンドにおける設計・実装担当者として、アプリや『マネーフォワード クラウド確定申告』とやりとりをする API 設計およびその実装を行いました。
私自身、プロダクトレベルでのAPI設計を行うことが初めてだったので、URL設計やアプリエンジニアとのコミュニケーションの取り方など学びが多かったです。とあるアプリエンジニアにおすすめして頂いた Web API The Good Parts という本を何度も読み返しながら設計や実装を行っていたことを覚えています。
こちらはリリース後から確定申告時期にかけて反響もそれなりに良好で、webリニューアルの次に携わった大きいプロジェクトが、おおむね「成功」という形で着地してくれてとても安心しました。
課金基盤移行 (2020.12 ~ 2021.3)
MEにおける課金処理を別のマイクロサービスに載せ替えるというプロジェクトです。
このプロジェクトを大体4ヶ月ほど開発していました。
マイクロサービスそのものは別チームで開発をしていたので、私を含めた当チームは、そのマイクロサービスを呼び出して繋ぎこみをする実装を進める形になります。
新しい基盤へ移行するに当たって難しかったところは、例えば以下です。
■ 過去の様々な仕様を掘り起こして、新しい仕様に当て込まないといけない
■ 旧データベースで保持しているデータを新しいデータベースに漏れなく移 行しないといけない
■ 諸事情からマイクロサービスに対するリクエストに加え、新旧両方のデータベースに書き込む必要があり、かつ片方のデータベースへの書き込み失敗時のハンドリングもするという複雑な要件
なかでも、保持しているデータを新しいデータベースへと移行する作業は、これまた初めての経験だったので、特に記憶に残っています。
移行対象のデータが課金情報ということで、1件でも漏れがあってはいけません。本番作業前に何度も移行リハーサルをしたり、不測の事態に備えるため手順書を用意するなど、最大限の準備を行いました。
ユーザーのみなさまの大切なデータを抜け漏れないように、という観点は普段のWebアプリケーション開発とはまた違ったアプローチが求められたように感じています。
さらに ME は AppStore/GooglePlay/Web(クレカ決済) と、プラットフォームごとに様々な課金形態を提供しているのですが、それぞれにおける仕様面での違いなども知ることができ、エンジニアとして幅が広がった、そんなプロジェクトでした。
まわりのサポート環境から芽生えた自信
こう改めて振り返ると、webアプリケーション、API、課金部分と、 技術要件が変わりながら様々な重要度の高いプロジェクトに関わることのできた1年間だったなと思います。
各プロジェクトのキックオフ直後は、全く最終型の実装イメージが湧いていない状態でした。
webリニューアルは、ほぼweb版の全画面を書き換えるということで当初は全く終わりが見えない。
確定申告連携は、会計や確定申告のアプリと連携するなんてどうすればいいのか想像もできない。
課金基盤移行は、そもそも課金の仕組みよく分かってないし、データ移行も経験がなくどうすればいいかわからない。
ですが、最終的にどのプロジェクトもリリースすることができています。
これは、日頃からのコードレビューを始めとする様々な議論に付き合ってもらったり、仕様面での相談や質問に快く答えてくれたりなど、周囲の助けがあったからこそだなと感じています。
2年目で行った各プロジェクトのリリースは確実に自分への自信になっています。
この自信の源のひとつには、いざとなったらチーム内外問わず助けを乞うことができるから大丈夫だ、という周囲から得られる安心感もあるという気付きがありました。
自信というのは自分の努力で掴んでいくものだというイメージでいたのですが、まわりのサポート環境から得られる形もあるのだなと、とても面白く感じました。
そして周りに助けを乞うことは全く恥ずかしいことではなく、それ自体が自信という形で自分に返ってきたという経験は、未来の後輩にも伝えていきたい、そんなことも考えています。
終わりに
ここまで読んで頂きありがとうございます!
新卒2年目の活動を振り返り、その中で周りのサポートから自信を深めることが出来たよ、というお話でした。
その中で、私の考え方に共感してくれたり、 MEにおける新卒エンジニアとして働き方の参考になったという方がいれば嬉しいです。
これからも謙虚な心は忘れずそして培った自信を糧に、『マネーフォワード ME』のエンジニアとして駆け抜けていこうと思います!