Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ファインディにおけるフロントエンド技術選定の歴史
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
puku0x
January 12, 2026
Technology
2.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ファインディにおけるフロントエンド技術選定の歴史
フロントエンドの技術選定〜ピクシブ×Findyの事例に学ぶ〜
https://findy.connpass.com/event/379759/
puku0x
January 12, 2026
More Decks by puku0x
See All by puku0x
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.5k
Agent Skills 入門
puku0x
0
1.9k
生成AIではじめるテスト駆動開発
puku0x
0
1.4k
実践!カスタムインストラクション&スラッシュコマンド
puku0x
2
3.3k
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
1.7k
ファインディにおけるフロントエンド技術選定の歴史
puku0x
2
310
ファインディでのGitHub Actions活用事例
puku0x
9
3.9k
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
490
Findyの開発生産性を上げるためにやったこと
puku0x
1
670
Other Decks in Technology
See All in Technology
ボーイスカウトルールでメモリやスキルを改善しよう
azukiazusa1
1
790
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.7k
DatabricksにおけるMCPソリューション
taka_aki
1
240
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
180
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
1
240
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
280
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.3k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
AI Driven AI Governance
pict3
0
340
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
4
5.3k
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
160
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
3.4k
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Ruling the World: When Life Gets Gamed
codingconduct
0
280
ラッコキーワード サービス紹介資料
rakko
1
3.9M
Speed Design
sergeychernyshev
33
1.9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
Claude Code のすすめ
schroneko
67
230k
WCS-LA-2024
lcolladotor
0
680
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Side Projects
sachag
455
43k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Faster Mobile Websites
deanohume
310
32k
Transcript
ファインディにおける フロントエンド技術選定の歴史 1 2026/01/13 フロントエンドの技術選定〜ピクシブ×ファインディの事例に学ぶ〜 ファインディ株式会社 フロントエンド テックリード 新福 宜侑
@puku0x
2 今年で9歳! 転職サービスの「Findy」
3 Findyのフロントエンド • Next.js + TypeScript + GraphQL • Jest、Testing
Library、Playwright • Prettier、ESLint、Stylelint、Commitlint • Storybook、Style Dictionary、Figma • Nx(モノレポ管理ツール)、pnpm • GitHub Actions • GitHub Copilot、Claude Code
以前のフロントエンド構成 4
5 以前(〜2020年)のフロントエンド構成 • Railsモノリス上のReact ◦ React 16 ◦ バージョンの古いツール‧ライブラリ多数 ◦
クラスコンポーネント ◦ 型(Flow)はある、テストは無い ◦ スケールし⾟い設計、ディレクトリ構成、etc. .. • モノリスのデメリット ◦ 軽微な修正でも⻑時間のCI待ちが発⽣ → 開発スピード低下
6 1. 開発スピード
7 モノリス解体
8 解体後のフロントエンドはNext.jsを採⽤ https://nextjs.org/
9 Next.jsの採⽤理由 • 既存のReactの資産を活かしたい • 複雑な部分をフレームワークに任せて開発スピードを上げる ◦ SSRの仕組み ◦ ビルド設定
◦ パフォーマンス最適化
モノリス解体完了! (〜2021年5⽉) 10
11 GitHub上のアクティビティ数: 4倍 リリース回数: 9.1倍 PRクローズまでの速度: 35倍 Findyがモノリス環境をやめて得られたユーザへの爆速価値提供 https://note.com/ma3tk/n/na502374b6ad6 モノリス解体の成果
モノリス解体で フロントエンドが最⾼になっ... 12
...てない! 13
14 モノリス解体後のフロントエンドの課題 • バージョンの古いツール‧ライブラリ多数 • 型(Flow)はあるが、うまく動いていない • テストが無い → 持続的な開発が困難
15 2. 持続的な開発
16 開発基盤の刷新
17 持続的に開発できる仕組みを整える • 定期的なアップデートの⾃動化 • ⾃動テストの拡充 • 不要なパッケージの削除 ◦ styled-components
+ classnames → Emotionに統⼀ ◦ Redux関連 → @reduxjs/toolkit → に統⼀
18 開発基盤にNxを採⽤ https://nx.dev/
19 Nxの採⽤理由 • 持続的な開発基盤 ◦ ESLintやJestなどがすぐに使える ◦ nx migrate による⾃動更新
• 今後の⼤規模化に備える ◦ nx affected による変更検知 → CI⾼速化 ◦ リモートキャッシュの活⽤で更に⾼速化できる
20 Flow → TypeScript に移⾏ Flowの型注釈を削除 ↓ TypeScript(allowJs: true) ↓
TypeScript(strict: true)
21 TypeScriptの採⽤理由 • 型が欲しい • JavaScriptからの移⾏のしやすさ • エディタとの相性 • 情報の豊富さ
• デファクトスタンダード
開発基盤の刷新で フロントエンドが最⾼になっ... 22
...てない! 23
24 REST API → GraphQL • パフォーマンスの課題を解決したい ◦ 当時のREST APIはページに使うデータが全てレスポンスに含まれていた
• 型が欲しい ◦ データ構造が⼀定でない場合もあり、⼿動での型付けが困難だった 社内ツールに導⼊‧検証 ↓ プロダクトを⼀部GraphQL化 ↓ プロダクトを全GraphQL化 ↓ 他のプロダクトに展開 → GraphQLに移⾏
25 Emotion → CSS Modules • App Router(React Server Components)の登場
◦ 新しいコンポーネント設計の模索 ◦ ランタイム CSS-in-JS からの脱却が議論されるようになる • さまざまな⽅法を検討し、CSS Modulesを採⽤ ◦ チーム要件や将来的な他ライブラリへの移⾏も加味して ◦ 2026年1⽉時点で ほぼ移⾏完了 EmotionからCSS Modulesへの移⾏!React Server ComponentsのCSS対応 https://tech.findy.co.jp/entry/2024/09/09/090000
26 3. 常に繰り返す
27 現在のファインディのフロントエンド共通の技術スタック ※SSRの要件の有無により使い分けています ※
28 まとめ • 技術選定のポイント 1. 開発スピード 2. 持続的な開発 3. 常に繰り返す
• リスペクトを持つ →「当時はそれが正解だった」 • 新しく導⼊するもの →「⼩さくはじめる」
技術選定って⼤変😂 29
リスペクトを忘れずに😉 30
31 ツール選定といえば...
ツール選定のお供に 32 各種ツールの活⽤事例や、様々なサービスのインフラアーキテクチャなど実⽤的な情報を多数掲載 https://findy-tools.io/
We’re hiring! https://careers.findy.co.jp/ 33