Money Forward Developers Blog

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

20230215130734

Go BoldにGive it a try!

この記事は、Money Forward Advent Calendar 2020の4日目の記事です。 さまざまな職種のメンバーが今年を振り返ります! 3日目はDOMさんで「2020年 人生を前へ進めたもの・こと @マネーフォワードデザイナー」でした。

本日4日目を担当するluccafortです。 PS5争奪戦に徳が足りず負け続けており、そろそろ勝ちにいきたい所存です。 普段はマネーフォワード京都開発拠点でマネーフォワード クラウド会計Plus(以下、会計Plusとします)のバックエンドを主に開発をしています。

マネーフォワード京都にはGive it a tryという拠点コンセプトがあり、1年を通して個人として経験したGive it a tryな話しをまとめてみました。 京都拠点で経験した1年間の挑戦の記録を通して、メンバーの考え方やチームの文化、そしてどうやってよりよい文化を形成するために守破離をしているかを感じてもらえれば嬉しいです。

この1年でGo Boldに挑戦した紹介

おおまかに今年挑戦してきた中で特徴的なものを紹介していこうと思います。 Go Boldはメルカリさんがよく使われていますが、非常によい標語だなと個人的に考えているので勝手ながらお借りさせていただきました。

業務

マネーフォワード クラウド会計Plusリリース

入社早々に会計Plusのリリースに立ち会いました。

リリース2ヶ月前に入社しているのでたまたまリリースに立ち会ったという印象が強いですが、京都拠点のメインプロダクトになってるので良いタイミングで入社できたな、と感じています。

リリースの様子はこちらをどうぞ。 マネフォ経理からプロダクトオーナーに転身し、クラウド会計Plusを開発した話

モブプログラミング

  • レビューに忙殺されてコードが書けない!
  • 特定のメンバーにレビューが集中する!

という課題からモブプログラミングすると「実装・レビュー・リファクタリング」が同時進行されるので方法としてどうですか?ということで試したのがきっかけです。 数人1チームという編成でチーム内で完全モブプロを試しました。

メンバーの中には「もっと一人でじっくり考える時間がほしい」や「もっとモブでやりたい」という意見、はたまた「やってもやらなくてもいい、強い意志はない」という意見も出て、三者三様な形となりました。 いまは必要があるときに必要なメンバーだけ呼んでモブプロしたり、一人でタスクを進めたりとベストエフォートな選択をする、ということで落ち着いています。

メンバーが変わるとやりかたは変わるかもしれませんが、いまのところいい感じにワークしています。

↓の画像はactive-recordのコードリーディングしている図。

リモートワーク体制

昨今のコロナ禍では珍しくないですが京都拠点では特定の曜日などにリモートで仕事をするメンバーがおり、平時からリモートについて議論していたり、設備を投資したりしていたおかげで、メンバーのリモートワークに対する習熟度がそれなりに高くある日突然リモートワークになります!というアナウンスを受けても問題が起こりにくかったように思います。

リモートワークが当たり前になり、フルリモートに近い状態になったことでわかってきた課題なども諸々でてきましたが、いまのところ大きな問題には発展せず、事前にケアできていると感じています。

メンバーによっては通勤時間が長いので以前のフル出社モードには戻れない、という意見もあります。

スクラム開発

過去にスクラム開発はしたことがありましたがうまくいく点・いかない点がありました。 いまのチームメンバーは思考やみている方向性が比較的そろっている、またそういうメンバーが採用されている、きちんとその意思を伝えるように工夫しているなどなどの理由から比較的うまくいっているのではないかなと思います。

そして割と原理主義的なスクラム開発を行っていることでどこに問題があるかがわかりやすいように思います。 また社内ではなく社外のかたをスクラムマスターとして招聘して悩みやうまく行かなかったことの相談を権威勾配の外側にいるひとに相談できるのも一役買っているのかなと考えています。

詳細を知りたいかたは拠点長のumisoraさんが書いたこちらの記事を読んでいただければと思います。 Scrum Fest Osaka 2020 @ Online に登壇&参加してきました

チームで採用を経験

いままで理想論的に「チームメンバーが採用に積極的に関われるべき」だと思いつつ、実際の動きとしては携わることがありませんでした。 マネーフォワードに参画して「興味がある」ということで手を上げて参加させてもらいました。

自分たちのチームメンバーを選ぶ、ということでチームに対して「自分たちでチームを作るんだ!」というオーナーシップメントをより強く感じています。 能力的には高くてもチームを壊してしまいかねない、あるいはいまいまは能力が足りていなくてもカルチャー面や伸びしろが期待できるのでその分サポートしてでも採用したい!などなど応募されるかたに対してよりFairnessなマインドで応対するようになったと思います。

マネーフォワード京都でエンジニアリングマネージャーをしている 大倉さんが『京都拠点のカジュアル面談で受けの良かった話・悪かった話』を書いてくれています。 なお「京都最高!」と言われて「はい?」と返した社員はわたしです。

部活・イベント

Kyoto.goの立ち上げ

以前からUmeda.goには参加していたのですが個人的な趣味の時間とバッティングすることが多くなり、参加できなくなったことをSNSでボヤいたところ、知人から「お前がKyoto.goを作るんだよ!」と背中を押されて作ることとなりました。

きっかけそのものにはマネーフォワードは1欠片も関わっていないのですが、「会社のMeetup会場を自由に使っていいよ」といってもらったことで最後のひと押しをしてもらったと感じてます。 コミュニティーの立ち上げがきっかけとなって、メルペイのtenntennさんに参加いただけたり、コミュニティーと会社双方に助けられてます。

はからずも自分がまさしくコミュニティー(Kyoto.rb経由)から入社し、そして京都という地域コミュニティーにわずかばかりでも貢献できているのはなかなか感慨深いものがあります。 マネーフォワード京都開発拠点はコミュニティー活動も応援しています

社内テックランチ・フロントエンドブレックファースト立ち上げ

マネーフォワード内では日々さまざまな社内勉強会が活発に活動しています。(残念ながら休止しているものもあります) 「ご飯でも食べながら気軽にテクノロジーのスライドをみながら議論したいね」という一言から始まって techlunchという会をはじめました。 運営は会話の発端になった古濱くんに丸投げしました、やったね!

古濱くん is だれ?というかたはこちらのnote記事を参照ください。 【公開1on1】新卒3年目のエンジニアがサービス横断的なチームを運営するまでを師匠と振り返ってみる

もう片方のフロントエンドブレックファーストは会計Plusのフロントエンドには課題が大量にあるが、課題を解消するだけの自力があるエンジニアが少ない、もっとフロントエンドの改善意識を高めたいという欲求から開始しました。

フロントエンド好きなひと、フロントエンド苦手だけど克服したいひとの :yaruzo: を応援する有志によるtech breakfast会です。時代は朝です。 毎週木曜日の朝9:00~10:00にやってます。

たまたま会計Plusのフロントエンドに関心が強いメンバーに朝型が多かったこと、わり算グループの川上くんや同僚の三木さんが参加してフロントエンド詳しい勢として支えてくれていまもまだ継続しています、朝会形式で続いてるのは純粋にすごい。

↓開始時の思いはこんな感じでした。

最近はモブプロ形式でReact+Recoil を TypeScriptで書いてGithubのOpenAPIと通信してみる、ということに挑戦してます。 最近はメンバーの中でフロントエンドに関心を持ってくれるひとが増えたのでぼく自身は少し技術の比率として減らしていこうかなーと考えています、種まきの役割は終えられたのではないかなと思います。

技術書典に参加

Money Forward Techbook #2Money Forward Techbook #3 の執筆陣として参加しました。 技術書を書く、という初めての体験をさせてもらえて最高でした。

実は #3 に関しては当初執筆してくれる人がなかなか集まらず、今回は参加を見送ろうか?と syarihu くんと話していたのですが、そのことを京都メンバーに伝えたところ京都メンバーから執筆者4名、表紙イラスト・デザインで1名参加してくれることになりました、ありがたや〜。

技術書典10はスパンが短すぎるので11は参加しよう、という話しをしているのでもし見かけたら手にとっていただけると嬉しいです。

海外カンファレンスに参加

GopherCon 2020に初参加しました。 事前の期待値はこちらにブログでまとめてもらったものを公開しています。 ここが楽しみ!GopherCon 2020

こっちは自分が期待してたセッションなどをまとめたもの。 GopherCon2020の個人的注目ポイントなどを抜粋してみた…の巻。

しゃべることはなかったけども初の英語カンファレンスでなかなか思うように聞き取れなかったり歯がゆい思いをしましたが、総じて日本のコミュニティーにはない点やコミュニティー運営者として学びもあり、大変よいイベントでした。

来年は現地でやりたいし、そこに参加しても大丈夫だと胸をはれるようになっていたい。

英語の技術書を輪読会で読了(予定)

Monolith to Microservices: Evolutionary Patterns to Transform Your Monolitの輪読会を4月から行っています。 事前に担当者を決めてそのまとめをドキュメントツールに書いて、輪読会では読み上げたあとにわからなかったことや理解しにくかったこと、よいと思ったことなどをディスカッションしています。 残り数回で完了になるため、なんとか年内に読みきれそうです。

英語の技術書を読む機会というものがなく、尻込みしていたのですが輪読会形式で進められたおかげで完走できそうです。

近々日本語翻訳版が出るみたいで個人で購入しようかなと考えています。 モノリスからマイクロサービスへ ―モノリスを進化させる実践移行ガイド

簿記試験に応募

11月の半ばに簿記2級の試験を受けてみました。 意図としては自分たちが扱うドメインである会計を理解していないと作ろうとするものの解像度が上がらない、またロジックを組み立てられないという思いからの参加でした。

応募しようとしたところ3級がすでに満席で応募が締め切られていたため、2級に変更しても「なんとかなるやろ!」と高をくくったところ大爆死しました。 このブログが公開されている頃には「不合格」の通知があることでしょう、南無〜。 次回はまず3級を受けるところからやり直そうと思います。

技術的挑戦

RailsエンジニアがGo開発チームに武者修行

通常業務の90%以上でRuby/Railsのコードに触れているのですが、会計Plusでは帳票ドメインを扱うマイクロサービスが存在しています。 このマイクロサービスはGoの開発に強い東京のMicroserviceチームに開発依頼をしていました。 …がこれを京都で、というより会計Plusチームで開発・保守・運用ができないといけないということで会計Plusチームからエンジニアを短期留学させてもらってGoとマイクロサービスそのものの知識を持ち帰るというミッションを実行しました。

詳細に関しては後日マネーフォワード エンジニアブログに投稿をしようと考えているのでお楽しみに! 2ヶ月ほどみっちりとGoの世界に浸りつつ、チームの文化が違う点など社内転職をしたような気持ちになりました。

エンジニアブログ投稿

人生で初エンジニアブログの投稿をしました。 如何にしてわたしはマネーフォワードの一員になったのか

ドチャクソエモなポエムを社内のドキュメントツールに投稿したところ、そこそこ反響があり「せっかくなのでエンジニアブログに寄稿してよ!」ということでエンジニアブログデビューを果たしました、いえいっ!

これが契機になって何度かエンジニアブログにエントリを投稿させてもらっています、業務時間にブログが書けるというのがいままで個人ブログしか書いてなかった身の上としてはなかなかに新鮮でした。

OSSにコントリビュートした

詳細は後日他メンバーが書いてくれると思いますが普段お仕事で大変お世話になっている rails、それも active-recordに対してPRを出すコントリビュート活動に参加しました。 Fixed odd behavior of inverse_of with multiple belongs_to to same class #40643

共同コントリビューターとしてcommitに名前がのるという偉業を達成しました。 コントリビュート活動自体はマネーフォワード社内の部活動なのですが、大変楽しかったこと、参加したいと別の会計Plusのメンバーも言ってくれているので今後も続けていきたいです。

フロントエンド勉強会@Nkzn

会計Plusはマネーフォワード クラウド会計をハードフォークしたものになっているため、フロントエンドがレガシーな状態になってしまっています。 開発をしていても工数が読みにくい、影響範囲がわかりにくい、修正に時間がかかるなどなど様々な課題を抱えている状況です。

これを抜本的に解決するためにはレガシーな実装を少しづつ少しづつ剥がして行く他ないのですが、そのためにフロントエンドのレベルアップが必要だろう、ということで知人であることをうまく使わせてもらい外部講師のかたに座学とハンズオンを開催することを企画しました。

詳細はこちらのエンジニアブログに記載していますがなかなか反応が良かったこと、メンバーからもポジティブな反応が返ってきたことでやっていけそうだ!という気持ちになれました。 フロントエンド勉強会@Nkzn 〜主催者レポート編〜

この手のイベントを主催するのが苦手だったので個人的にも挑戦だったなと感じています。

趣味

社内ビブリオバトルに参加

会計PlusのPOである杉浦氏といまマネーフォワード ベトナムにいる後藤さんとぼくの3人で社内ビブリオバトルをしました。 正式なルールに則っていないので実質的にはただの「俺のおすすめ本を読んでくれ!」会でしたが大変盛り上がりました。

それぞれ書籍に一家言あったり、その人の人生で経験したことが影響していることや文化・思考に大きく依存する話がでてきたりしてなかなかに面白かったです。 また11月にやろうね、といったまま今年が終わろうとしているので「1月あたりに予定をぶっこんで絶対に開催するぞ!」という強い気持ちでいます。

年内は多分もう無理だ…。

電子決済デビュー

マネーフォワードらしい、というべきかランチにいったときあとからお会計支払いを回収する際に電子マネー払いすることが増えました。 個人的にはKyash派だったのですが個人間送金ができなくなったので最近はもっぱらLINE Payで支払いをしています。

現金が少数派という稀有な経験ができて大変おもしろいです。

まとめ

1年でGo Boldに Give it a tryしてきたことをそれぞれ軽く紹介させてもらいました。 こうして振り返るといろんな分野でかなりの挑戦をしているなぁという実感がわきます。

年齢を重ねると挑戦するよりもコンフォートゾーンにいることを選びがちになる傾向があると思います。 ぼく自身は割と保守的な人間なので周りの人の影響でこんなにも多くの挑戦ができる環境が与えられる、そして自分もその一員として動けていると思うと少し誇らしい気持ちになりました。

もし興味を持っていただけたら我々の Give it a try な話しを是非聞きに来てください! それぞれのメンバーごとの Give it a tryがたくさんあると思いますので、是非カジュアル面談などでお話させてもらえればと思います。

アドベントカレンダー5日目はさかい分析のお兄さんがお送りします!乞うご期待ください!


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

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

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

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

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

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

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

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