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

Money Forward XでのGo利用事例について

Money Forward XでのGo利用事例について

マネーフォワード×ナレッジワーク 『ビジネス課題をGoで解決する 』

keitaro shishido

March 09, 2023
Tweet

Other Decks in Programming

Transcript

  1. ビジネス課題をGoで解決する
    − Money Forward XでのGo利用事例について

    View Slide

  2. 自己紹介
    ● 宍戸 啓太郎(Shishido Keitaro)
    ● 2020/12 マネーフォワード入社
    ● 法人向けサービスを開発するグループのグループリーダー
    ● Go歴5年
    ● 職歴
    ○ SIer
    ○ 住宅設備機器メーカー
    ○ ソーシャルゲーム開発
    ○ 人材系
    ● 興味
    ○ 競馬
    ○ サッカー観戦(ベガルタ仙台)
    ○ ストロングゼロ(ダブルレモンが至高  )

    View Slide

  3. Agenda
    1. Money Forward Xの抱えていた課題
    2. Goの利用事例
    3. Goを利用するメリット
    4. Goを利用したことで見えてきた課題
    5. まとめ

    View Slide

  4. Money Forward Xの抱えていた課題
    ● 2020年頃の状況
    ○ 一部バッチ処理でGoを採用していたが、Rubyプロダクト・エンジニアが中心
    ○ 会社方針としてのGoの採用
    ■ マネーフォワードCTOが考えていること(2020年9月)
    ○ Goのエンジニア0人
    ■ Go経験者を採用し、開発力向上・普及を目指す
    ● 金融機関向けサービスに求められるもの
    ○ 安定性
    ○ スケジュール
    ○ 品質

    View Slide

  5. 2020年のPush配信集計バッチでの利用に始まり、
    Goを利用するプロダクトが続々と増えています。
    Goの利用事例
    2020 2021 2022 2023
    ★ ★





    Push配信集計バッチ X Cloud Storage
    X Insight Marketing
    XIM-BI Mikatano ID
    BANK APP
    Mikatano 課金基盤

    View Slide

  6. Goの利用事例
    ● Mikatano ID
    ○ Serverless Framework (Lambda) × Go
    ○ GraphQL (gqlgen)

    View Slide

  7. Goの利用事例
    ● Mikatano 課金基盤
    ○ EKS × Go
    ○ gin
    ○ sqlboiler
    ○ GraphQL (gqlgen)

    View Slide

  8. Goを利用するメリット
    ● 静的型付けがある
    ○ 変更時にテストコードやビルドでミスに気付きやすい(影響範囲がわかりやすい)
    ○ 保守性の高さ
    ○ 型を使って堅牢に実装出来る(金融機関向けにより安心して使えるようになった)
    ○ interfaceを使ったテストしやすいコード
    ○ 静的解析を利用したコードチェック

    View Slide

  9. Goを利用するメリット
    ● 習得の容易さ
    ○ 記法がシンプルで習得へのハードルが低い
    ○ ツールの充実 (gofmt, goimport, golang-cilint)
    ○ キャッチアップはどのように?
    ● 基本的には自習
    ● マネーフォワード社内のGo採用プロダクトを参考に
    ● Go経験者によるレビュー
    ● reviewdogを使っての静的解析

    View Slide

  10. Goを利用したことで見えてきた課題
    ● フレームワーク・ライブラリのデファクトスタンダードが無い
    ○ Goエンジニアが少ない場合、どれを使うか迷ってしまう
    ○ 開発止まってしまうものも多い
    → どうしたか
    ● コード量が多くなる
    ○ エラー判定(if err != nil)多すぎる
    ○ Generics(まだ使ったことない)でどのくらい変わるか(コード量、パフォーマンス)

    View Slide

  11. Goを利用したことで見えてきた課題
    ● 採用難しい
    ○ Goエンジニアなかなか見つけられない
    ○ 市場感
    ■ Goエンジニアは増えている
    ■ Goを採用する企業はもっと増えている
    ● goconのスポンサー増えている(MoneyForwardシルバースポンサー)

    View Slide

  12. まとめ
    ● Money Forward X では2020年頃からGoを採用し、Go製のプロダクトも増えてきました
    ● 金融機関向けのサービスに求められる堅牢性という意味でもGoはより向いていると言えます
    ● Goは比較的習得も容易なので普及に向けたハードルは高くないです
    ● Goエンジニアの採用は苦戦するかもしれません
    ● Money Forward X ではGoエンジニアを募集しています

    View Slide

  13. We are Hiring!
    https://hrmos.co/pages/moneyforward/jobs/0004293

    View Slide