Money Forward XでのGo利用事例について
by
keitaro shishido
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ビジネス課題をGoで解決する − Money Forward XでのGo利用事例について
Slide 2
Slide 2 text
自己紹介 ● 宍戸 啓太郎(Shishido Keitaro) ● 2020/12 マネーフォワード入社 ● 法人向けサービスを開発するグループのグループリーダー ● Go歴5年 ● 職歴 ○ SIer ○ 住宅設備機器メーカー ○ ソーシャルゲーム開発 ○ 人材系 ● 興味 ○ 競馬 ○ サッカー観戦(ベガルタ仙台) ○ ストロングゼロ(ダブルレモンが至高 )
Slide 3
Slide 3 text
Agenda 1. Money Forward Xの抱えていた課題 2. Goの利用事例 3. Goを利用するメリット 4. Goを利用したことで見えてきた課題 5. まとめ
Slide 4
Slide 4 text
Money Forward Xの抱えていた課題 ● 2020年頃の状況 ○ 一部バッチ処理でGoを採用していたが、Rubyプロダクト・エンジニアが中心 ○ 会社方針としてのGoの採用 ■ マネーフォワードCTOが考えていること(2020年9月) ○ Goのエンジニア0人 ■ Go経験者を採用し、開発力向上・普及を目指す ● 金融機関向けサービスに求められるもの ○ 安定性 ○ スケジュール ○ 品質
Slide 5
Slide 5 text
2020年のPush配信集計バッチでの利用に始まり、 Goを利用するプロダクトが続々と増えています。 Goの利用事例 2020 2021 2022 2023 ★ ★ ★ ★ ★ ★ ★ Push配信集計バッチ X Cloud Storage X Insight Marketing XIM-BI Mikatano ID BANK APP Mikatano 課金基盤
Slide 6
Slide 6 text
Goの利用事例 ● Mikatano ID ○ Serverless Framework (Lambda) × Go ○ GraphQL (gqlgen)
Slide 7
Slide 7 text
Goの利用事例 ● Mikatano 課金基盤 ○ EKS × Go ○ gin ○ sqlboiler ○ GraphQL (gqlgen)
Slide 8
Slide 8 text
Goを利用するメリット ● 静的型付けがある ○ 変更時にテストコードやビルドでミスに気付きやすい(影響範囲がわかりやすい) ○ 保守性の高さ ○ 型を使って堅牢に実装出来る(金融機関向けにより安心して使えるようになった) ○ interfaceを使ったテストしやすいコード ○ 静的解析を利用したコードチェック
Slide 9
Slide 9 text
Goを利用するメリット ● 習得の容易さ ○ 記法がシンプルで習得へのハードルが低い ○ ツールの充実 (gofmt, goimport, golang-cilint) ○ キャッチアップはどのように? ● 基本的には自習 ● マネーフォワード社内のGo採用プロダクトを参考に ● Go経験者によるレビュー ● reviewdogを使っての静的解析
Slide 10
Slide 10 text
Goを利用したことで見えてきた課題 ● フレームワーク・ライブラリのデファクトスタンダードが無い ○ Goエンジニアが少ない場合、どれを使うか迷ってしまう ○ 開発止まってしまうものも多い → どうしたか ● コード量が多くなる ○ エラー判定(if err != nil)多すぎる ○ Generics(まだ使ったことない)でどのくらい変わるか(コード量、パフォーマンス)
Slide 11
Slide 11 text
Goを利用したことで見えてきた課題 ● 採用難しい ○ Goエンジニアなかなか見つけられない ○ 市場感 ■ Goエンジニアは増えている ■ Goを採用する企業はもっと増えている ● goconのスポンサー増えている(MoneyForwardシルバースポンサー)
Slide 12
Slide 12 text
まとめ ● Money Forward X では2020年頃からGoを採用し、Go製のプロダクトも増えてきました ● 金融機関向けのサービスに求められる堅牢性という意味でもGoはより向いていると言えます ● Goは比較的習得も容易なので普及に向けたハードルは高くないです ● Goエンジニアの採用は苦戦するかもしれません ● Money Forward X ではGoエンジニアを募集しています
Slide 13
Slide 13 text
We are Hiring! https://hrmos.co/pages/moneyforward/jobs/0004293