Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Money Forward XでのGo利用事例について
Search
keitaro shishido
March 09, 2023
Programming
1.7k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Money Forward XでのGo利用事例について
マネーフォワード×ナレッジワーク 『ビジネス課題をGoで解決する 』
keitaro shishido
March 09, 2023
Other Decks in Programming
See All in Programming
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
780
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
170
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
180
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
信頼性の目標を誰も求めてない
shubox
0
500
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
130
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
240
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
300
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
5
1.5k
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
110
Foundry Localでエージェント開発
seosoft
0
180
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Designing Experiences People Love
moore
143
24k
Utilizing Notion as your number one productivity tool
mfonobong
4
590
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Building Adaptive Systems
keathley
44
3.2k
Embracing the Ebb and Flow
colly
88
5.2k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Marketing to machines
jonoalderson
1
5.8k
Everyday Curiosity
cassininazir
0
310
Music & Morning Musume
bryan
47
7.4k
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