Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マネーフォワードのエンジニアリング進化論 / The Evolution of Enginee...

マネーフォワードのエンジニアリング進化論 / The Evolution of Engineering at Money Forward

イベント名:Money Forward Tech Day 2024
登壇日:2024年9月20日
登壇者:Shota Kuroda
説明:2012年設立当初からのマネーフォワードのエンジニアリングの進化を紹介し、皆さんにMoney Forward Tech Dayの各セッションをより深く理解していただくための地図を提供します。
イベントURL:https://techday.moneyforward-dev.jp/2024/

Money Forward, Inc.

September 25, 2024
Tweet

More Decks by Money Forward, Inc.

Other Decks in Technology

Transcript

  1. 今日お話すること 2012年設立当初からのマネーフォワード のエンジニアリングの進化を紹介し、皆さ んにMoney Forward Tech Dayの各 セッションをより深く理解していただくため の地図を提供します。 What

    I will talk about today I will go over the evolution of Money Forward’s engineering since its establishment in 2012, in order to provide an overview that helps in gaining a deeper understanding of each session of Money Forward Tech Day.
  2. 会社概要 • 設立 ◦ 2012年(13年目) • 社員数 ◦ 2,400人(24年5月末/連結) エンジニア・デザイナーが

    約4割 • 開発拠点 ◦ 国内: 5拠点 東京、名古屋、大阪、京都、福岡 ◦ 海外: 3拠点 ベトナム(ハノイ、ホーチミン)、インド Company Profile • Establishment ◦ 2012 (13th year) • Number of Employees ◦ 2,400 (as of May 2024/consolidated) About 40% are engineers and designers • Development Centers ◦ Domestic: 5 locations Tokyo, Nagoya, Osaka, Kyoto, Fukuoka ◦ Overseas: 3 locations Vietnam (Hanoi, HCMC), India
  3. ミッション / ビジョン Mission / Vision Mission お金を前へ。人生をもっと前へ。 Money Forward.

    Move your life forward. Vision すべての人の、「お金のプラットフォーム」にな る。 Becoming the financial platform for all.
  4. 事業領域・プロダクト Business Domains & Products 法人向け バックオフィス向け  SaaS SaaSマーケティング支援 ファイナンスサービス

    個人向け 金融機関等向け PFM(家計簿・資産管理)サービス Fintech推進・DX支援 法人・個人・金融機関向けに60を超える多数 のプロダクトを展開 Over 60 products for businesses, individuals & financial institutions
  5. 技術スタック Technology Stacks 開発言語 Language バックエンド Backend Ruby / Go

    / Kotlin / Java / Python / Rust フロントエンド Frontend TypeScript / JavaScript モバイル Mobile Android: Kotlin / Java iOS: Swift / Objective-C CrossPlatform: Dart(Flutter) インフラ Infrastructure AWS / EKS / ECS / Kubernetes(On- Premises) / GCP Database MySQL / MongoDB / BigQuery
  6. • 英語化、グローバル化 ◦ エンジニアの40%超がNon-JP ◦ 30を超える国籍のメンバーが活躍 • 共通基盤 ◦ アカウントアグリゲーションや、認証基盤

    など、60を超えるプロダクトを支える基盤 • マイクロサービス ◦ 大規模なプロダクトはマイクロサービス化 を進めている その他トピック Other Topics • English adoption and globalization ◦ Over 40% of engineers are non-Japanese ◦ Members from over 30 nationalities are contributing • Common platform ◦ Platforms, including account aggregation and authentication platforms, serving over 60 products • Microservices ◦ Large-scale products are being transitioned to microservices architecture
  7. マネーフォワードとは? - まとめ • Approximately 1000 members from all over

    the world • 8 development centers in Japan and overseas • Provides about 60 different products in multiple business domains • Develops common platforms and microservices that serve those products • 国内海外を含む8つの開発拠点で、 • 約1000人の多国籍なメンバーが、 • 複数の事業領域にて、 • 約60のプロダクトと、 • それらを支える共通基盤、マイクロ サービスを、 • 日々開発している会社 Who we are - Summary
  8. Situation • Lack of funds and personnel💸 • Expanding into

    new domains by leveraging the core technology of account aggregation🚀 • Rapid expansion of B2B SaaS market💥 スタートアップ期 (2012年-2016年) Start-up phase(2012-2016) 状況 • 資金、人の不足💸 • コア技術のアカウントアグリゲーション を活用した多角化🚀 • B2B SaaS市場の急激な拡大💥
  9. スタートアップ期 (2012年-2016年) 取り組み • Rails + モノリスアーキテクチャを採 用し、スモールチームによるリーン開 発🏎 •

    共有DBと共有ライブラリによる複数 プロダクト展開🚀 • 共通インフラチームが半オンプレ環境 をメンテナンス󰞵 Initiatives • Rails + Monolithic Architecture and lean development by small teams🏎 • Deployment of multiple products using a shared DB and shared libraries🚀 • Common infrastructure team maintaining the semi-on-premises environment󰞵 Start-up phase(2012-2016)
  10. • Common infrastructure team takes care of everything except for

    feature development • Product development teams focus on feature development スタートアップ期の開発体制 Development organization in the start-up phase • 共通のインフラチームが機能開発以外を全て 見る • プロダクトの開発チームは機能開発に集中
  11. 2016年頃のアーキテクチャ Architecture around 2016 共有DB Shared DB アカウント アグリゲーション Account

    Aggregation アグリゲーションデータ、ユーザーデータを含 む数百億レコードのデータ Tens of billions of records including aggregated and user data
  12. 桃園の誓いアーキテクチャ “Peach Garden Oath” Architecture 共有DB Shared DB アカウント アグリゲーション

    Account Aggregation 我ら生まれた日は違えども、死す時は同じ日同じ時を願わん We were born on different days, but we wish for the same day and the same time when we die.
  13. 状況 • 上場による資金調達💰 • プロダクト数、ユーザー数、データ量 の増加📈 • 桃園の誓いアーキテクチャのデメリッ トがメリットを上回る🍑 •

    共通インフラチームがボトルネックに 🚫 充電期(2017年-2019年) Recharging phase(2017-2019) Situation • Fundraising through IPO💰 • Increase in number of products, users and data volume📈 • The disadvantages of the "Peach Garden Oath" architecture outweigh its benefits🍑 • The common infrastructure team becoming a bottleneck🚫
  14. Initiatives • Launch of the "Peach Garden Oath" Escape Project🍑

    • Implementation of self-service infrastructure management🤖 • Specialization of roles (PdM, QA, SRE) 󰞹 • Establishment of regional and Vietnam development centers⛳ 充電期(2017年-2019年) 取り組み • 桃園脱却プロジェクトの開始🍑 • インフラ運用のセルフサービス化🤖 • 専門職の分化(PdM,QA,SRE)󰞹 • 地方拠点・ベトナム拠点の設立⛳ Recharging phase(2017-2019)
  15. 桃園脱却プロジェクト Peach Garden Escape Project 共有DB Shared DB アカウント アグリゲーション

    Account Aggregation DB DB Money Forward ID Aggregation DB Aggregation API User DB • 認証基盤の導入 • アグリゲーションAPIの導入 • 共有DBから個別DBへの移行 共有DBを使わずに新規プロダクト立ち上げが可能に • Implementation of the authentication platform • Implementation of the aggregation API • Transition from shared DB to individual DB Enabling the launch of new products without using a shared DB
  16. • AWS上でプロダクト開発チームがアプリケーショ ン実行環境を構築できるセルフサービス型のプ ラットフォームを提供 • 共通のインフラチームの責務を権限と共に開発 チームに委譲 • Provide a

    self-service platform for product development teams to build application execution environments on AWS • Delegate responsibilities of the common infrastructure team to the individual product teams, along with the authorities 開発体制の変化 Changes in development organization
  17. Situation • The common platforms made it easier to launch

    new services💪 • Expansion into the B2B mid-market area🚀 • Large-scale expansion of individual products📈 • Engineer recruitment has become a bottleneck in business expansion🚫 拡大期(2020年-2022年) Scaling phase(2020-2022) 状況 • 共通基盤整備によりサービス立ち上 げが容易に💪 • B2Bの中堅企業領域への進出🚀 • 個々のプロダクトの大規模化📈 • 事業拡大の上でエンジニア採用がボ トルネックに🚫
  18. Initiatives • Expansion of overseas development centers󰑜󰏝 • Transition to

    using English within the engineering organization and launch of global recruitment🌏 • Delegation of authority to product teams to enable the rapid launch of new products🚀 • Adoption of microservices architecture in large scale products🌐 拡大期(2020年-2022年) 取り組み • 海外拠点の拡大󰑜󰏝 • エンジニア組織の英語化、グローバ ル採用開始🌏 • プロダクトチームに権限委譲して、 次々にプロダクト立ち上げ🚀 • 大規模プロダクトのマイクロサービス 化🌐 Scaling phase(2020-2022)
  19. 年表 Timeline MF Unit for ◦◦ スタートアップ期 Start-up 充電期 Recharging

    拡大期 Scaling 再編期 Reorganization 爆発的なプロダクト数の伸び 🚀 Explosive growth in number of products🚀
  20. Situation • Explosive increase in the number of services 📈

    • Decreased UX and development efficiency due to excessive individual optimization 📉 • Progress in globalization and increase in multi-site development 🌏 • Emergence of generative AI 🤖 再編期(2023年-) 状況 • サービス数の爆発的増加📈 • 行き過ぎた個別最適によるUX、開発 効率の低下📉 • グローバル化の進展、多拠点開発の 増加🌏 • 生成AIの登場🤖 Reorganization phase(2023-)
  21. Initiatives • Promotion of standardization and unification 🧭 • Increased

    investment in improving development productivity 💰 • Organize environments to reduce the difficulty of multi-site development 🌏 • Strengthening of cross-functional organizations 💪 取り組み • 標準化や共通化の推進🧭 • 開発生産性向上への投資増加💰 • 多拠点開発の難易度を下げるための 環境整備🌏 • 横断組織の強化💪 再編期(2023年-) Reorganization phase(2023-)
  22. 本日のMoney Forward Tech Dayで は、事業や組織の成長に伴う複雑で困難 な課題に取り組むメンバーや、ユーザーに より良い価値を提供するために奮闘してい るメンバーが、ワクワクする取り組みにつ いて語ります。ぜひお楽しみください! まとめ

    Summary At today's Money Forward Tech Day, members who tackle complex and difficult challenges associated with business and organizational growth, as well as those striving to provide better value to our users, will share their exciting initiatives. I hope you enjoy it!