Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Money Forward XでのGo利用事例について
Search
keitaro shishido
March 09, 2023
Programming
3
1.6k
Money Forward XでのGo利用事例について
マネーフォワード×ナレッジワーク 『ビジネス課題をGoで解決する 』
keitaro shishido
March 09, 2023
Tweet
Share
Other Decks in Programming
See All in Programming
認証・認可の基本を学ぼう後編
kouyuume
0
250
Cap'n Webについて
yusukebe
0
150
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
120
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
410
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
Go コードベースの構成と AI コンテキスト定義
andpad
0
140
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
420
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
Java 25, Nuevas características
czelabueno
0
110
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
310
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
45
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
38
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.1k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
28
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Tell your own story through comics
letsgokoyo
0
760
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
170
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
73
The Cult of Friendly URLs
andyhume
79
6.7k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
31
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Transcript
ビジネス課題をGoで解決する − Money Forward XでのGo利用事例について
自己紹介 • 宍戸 啓太郎(Shishido Keitaro) • 2020/12 マネーフォワード入社 • 法人向けサービスを開発するグループのグループリーダー
• Go歴5年 • 職歴 ◦ SIer ◦ 住宅設備機器メーカー ◦ ソーシャルゲーム開発 ◦ 人材系 • 興味 ◦ 競馬 ◦ サッカー観戦(ベガルタ仙台) ◦ ストロングゼロ(ダブルレモンが至高 )
Agenda 1. Money Forward Xの抱えていた課題 2. Goの利用事例 3. Goを利用するメリット 4.
Goを利用したことで見えてきた課題 5. まとめ
Money Forward Xの抱えていた課題 • 2020年頃の状況 ◦ 一部バッチ処理でGoを採用していたが、Rubyプロダクト・エンジニアが中心 ◦ 会社方針としてのGoの採用 ▪
マネーフォワードCTOが考えていること(2020年9月) ◦ Goのエンジニア0人 ▪ Go経験者を採用し、開発力向上・普及を目指す • 金融機関向けサービスに求められるもの ◦ 安定性 ◦ スケジュール ◦ 品質
2020年のPush配信集計バッチでの利用に始まり、 Goを利用するプロダクトが続々と増えています。 Goの利用事例 2020 2021 2022 2023 ★ ★ ★
★ ★ ★ ★ Push配信集計バッチ X Cloud Storage X Insight Marketing XIM-BI Mikatano ID BANK APP Mikatano 課金基盤
Goの利用事例 • Mikatano ID ◦ Serverless Framework (Lambda) × Go
◦ GraphQL (gqlgen)
Goの利用事例 • Mikatano 課金基盤 ◦ EKS × Go ◦ gin
◦ sqlboiler ◦ GraphQL (gqlgen)
Goを利用するメリット • 静的型付けがある ◦ 変更時にテストコードやビルドでミスに気付きやすい(影響範囲がわかりやすい) ◦ 保守性の高さ ◦ 型を使って堅牢に実装出来る(金融機関向けにより安心して使えるようになった) ◦
interfaceを使ったテストしやすいコード ◦ 静的解析を利用したコードチェック
Goを利用するメリット • 習得の容易さ ◦ 記法がシンプルで習得へのハードルが低い ◦ ツールの充実 (gofmt, goimport, golang-cilint)
◦ キャッチアップはどのように? • 基本的には自習 • マネーフォワード社内のGo採用プロダクトを参考に • Go経験者によるレビュー • reviewdogを使っての静的解析
Goを利用したことで見えてきた課題 • フレームワーク・ライブラリのデファクトスタンダードが無い ◦ Goエンジニアが少ない場合、どれを使うか迷ってしまう ◦ 開発止まってしまうものも多い → どうしたか •
コード量が多くなる ◦ エラー判定(if err != nil)多すぎる ◦ Generics(まだ使ったことない)でどのくらい変わるか(コード量、パフォーマンス)
Goを利用したことで見えてきた課題 • 採用難しい ◦ Goエンジニアなかなか見つけられない ◦ 市場感 ▪ Goエンジニアは増えている ▪
Goを採用する企業はもっと増えている • goconのスポンサー増えている(MoneyForwardシルバースポンサー)
まとめ • Money Forward X では2020年頃からGoを採用し、Go製のプロダクトも増えてきました • 金融機関向けのサービスに求められる堅牢性という意味でもGoはより向いていると言えます • Goは比較的習得も容易なので普及に向けたハードルは高くないです
• Goエンジニアの採用は苦戦するかもしれません • Money Forward X ではGoエンジニアを募集しています
We are Hiring! https://hrmos.co/pages/moneyforward/jobs/0004293