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
Findyの開発生産性を上げるためにやったこと
Search
puku0x
October 06, 2023
Technology
1
500
Findyの開発生産性を上げるためにやったこと
開発生産性LT Night in 福岡
puku0x
October 06, 2023
Tweet
Share
More Decks by puku0x
See All by puku0x
ファインディでのGitHub Actions活用事例
puku0x
9
2k
Findyの開発生産性向上への取り組み ~Findyフロントエンドの場合~
puku0x
0
390
Angularコーディングスタイルガイドはいいぞ
puku0x
1
200
Nx CloudでCIを爆速にした話
puku0x
0
640
Findyのフロントエンド設計刷新を通して得られた技術的負債との向き合い方
puku0x
1
1.6k
最高の開発体験を目指して 〜Findyのフロントエンド設計刷新〜
puku0x
0
740
VSCode GraphQL + GraphQL Code Generator による快適なフロントエンド開発
puku0x
0
2.2k
Nxはいいぞ
puku0x
0
690
Angularの静的サイトジェネレーター「Scully」の最新情報
puku0x
0
300
Other Decks in Technology
See All in Technology
リアルお遍路+SORACOM IoT
ozk009
1
130
20240906_JAWS_Yamanashi_#1_leap_beyond_the_AWS_all_certifications
tsumita
1
280
チームビルディングは"感性"で向き合おう / Team Building with Awareness
kohzas
0
170
Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤
andoshin11
0
220
サーバー管理しないサーバーサービスManaged DevOps Pool
kkamegawa
0
120
あなたの知らないiOS開発の世界
recruitengineers
PRO
3
140
可視化により内部品質をあげるAIドキュメントリバース/20240910 Hiromitsu Akiba
shift_evolve
0
200
アプリをリリースできる状態に保ったまま 段階的にリファクタリングするための 戦略と戦術 / Strategies and tactics for incremental refactoring
yanzm
6
920
忙しい人のためのLangGraph概要まとめ
__ymgc__
1
170
AI活用したくてもできなかった不動産SaaSの今とこれから
nealle
0
320
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
43
14k
eBPFのこれまでとこれから
yutarohayakawa
8
2.9k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
425
64k
Practical Orchestrator
shlominoach
185
10k
The Art of Programming - Codeland 2020
erikaheidi
48
13k
Infographics Made Easy
chrislema
239
18k
How to name files
jennybc
75
98k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
Agile that works and the tools we love
rasmusluckow
327
20k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
The Cost Of JavaScript in 2023
addyosmani
42
5.6k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.8k
Transcript
Findyの開発生産性を 上げるためにやったこと 開発生産性LT Night in 福岡 @puku0x Noriyuki Shinpuku
@puku0x 2
@puku0x バッジ機能リニューアル! 3 https://findy-code.io/badges
@puku0x 4
@puku0x 5 Findyの開発生産性は?
@puku0x 6 直近1年間の転職サービス「 Findy」フロントエンドのリードタイムおよびプルリクエスト数
@puku0x 7 PRはだいたい10件/日 PRオープン後、即レビュー その日の内に改修完了 直近1年間の転職サービス「 Findy」フロントエンドのリードタイムおよびプルリクエスト数
@puku0x 8 最初から上手くいっている わけではなかった
@puku0x 以前の環境(〜2021) 9 • Ruby on Rails + Next.js/React 16
※当時はモノリス解体→Next.js化プロジェクトの後期 • バージョンの古いツール・ライブラリ多数 • 型(Flow)はある、テストは無い • 見通しの悪い設計 やばい
@puku0x やったこと: 技術的負債の返済 10
@puku0x 開発基盤の刷新 11 • 依存ライブラリのバージョンアップ ◦ Dependabot導入 • モダンな環境に移行 ◦
TypeScript、React v16.8+ ◦ Nx、Jest、ESLint、Prettier
@puku0x • 依存の方向を揃える(大事!) • Container/Presentational Componentベースの三層構造 設計刷新 12 Page Component
Container Component Presentational Component URLパラメータの解釈 APIとの通信 描画・フォーム制御 Custom Hook Custom Hook Custom Hook
@puku0x • 書けそうなところから着手 ◦ ロジックのユニットテスト ◦ コンポーネントのスナップショットテスト など • テストを書く→テストを書きやすい設計
の好循環 ◦ Wallaby.jsなどの可視化ツールも有用 テストの拡充 13
@puku0x やったか...!? 14
@puku0x 新たな課題 15 • CIが遅い ◦ コード量が増えればCI時間も増える • CIが遅いとどうなる? ◦
レビューが放置される ▪ ブランチ生存期間が延びる • コンフリクト多発 20分後でいいや
@puku0x やったこと: CIの高速化 16
@puku0x CIの高速化 17 • 変更検知+キャッシュ活用 毎月300時間以上を削減 平均5分でCI完了 https://nx.app/ はいいぞ その他:
ジョブ並列化、仮想マシンのアップグレード等
@puku0x 18 2022年 2021年 2023年 一人あたりの開発生産性が約3倍に ※2021年〜2023年までの転職サービス「Findy」フロントエンドの4月のデータ
@puku0x まとめ 19 • 開発生産性を上げるためにやったこと ◦ 技術的負債の返済 ◦ CIの高速化 Findy
Team+も よろしくお願いします
@puku0x ご清聴ありがとうございました @puku0x Noriyuki Shinpuku