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
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
Search
Narihara
May 24, 2025
Technology
1
230
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
TSKaigi2025での登壇資料です。
Narihara
May 24, 2025
Tweet
Share
More Decks by Narihara
See All by Narihara
5つのアンチパターンから学ぶLT設計
narihara
1
200
Road To「全員リクルーター」 ~新卒採用編~
narihara
0
170
LeSSをはじめて1年 我々はどこから来たのか 我々は何者か 我々はどこへ行くのか
narihara
0
69
組織をドライブさせる「評価」方針 at 20240129_ROSCAFEミートアップ.pdf
narihara
0
75
エンジニアドリブンで事業KPIから着想を得たプロダクトカイゼンを行っている話
narihara
0
280
キャリアにキく目標設定
narihara
0
150
Other Decks in Technology
See All in Technology
リリース2ヶ月で収益化した話
kent_code3
1
190
KubeCon + CloudNativeCon Japan 2025 Recap
donkomura
0
170
マルチプロダクト×マルチテナントを支えるモジュラモノリスを中心としたアソビューのアーキテクチャ
disc99
0
300
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2k
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
370
dipにおけるSRE変革の軌跡
dip_tech
PRO
1
230
Nx × AI によるモノレポ活用 〜コードジェネレーター編〜
puku0x
0
340
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
260
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
1.8k
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
240
Google Agentspaceを実際に導入した効果と今後の展望
mixi_engineers
PRO
3
330
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
1.5k
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Why Our Code Smells
bkeepers
PRO
337
57k
Building Applications with DynamoDB
mza
95
6.5k
Writing Fast Ruby
sferik
628
62k
BBQ
matthewcrist
89
9.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Adopting Sorbet at Scale
ufuk
77
9.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Statistics for Hackers
jakevdp
799
220k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Optimizing for Happiness
mojombo
379
70k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Transcript
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜 2025/05/24 at TSKaigi
2 自己紹介 株式会社スペースマーケット VPoE / 採用担当 成原 聡一朗 Narihara Soichiro
Webpack設定などが得意だったFEエンジニア出身 モヒカン歴17年 趣味は筋トレ、SF小説読書、オリジナルTシャツ作 成 (右の写真はカスタムした57キロのダンベル)
3
4 マーケットプレイスの紹介 掲載スペースは全国40,000件以上! あらゆるスペースを簡単に貸し借り できる国内最大級のスペースシェア プラットフォーム
5 多様なスペースと利用用途の掛け算で拡がる可能性
6 Spacepadの紹介
7 Spacepadの導入事例
8 質問
9 型安全な世界は好きですか?
型安全な世界は好きですか? 本日のイベントは「TSKaigi」 このイベントに来ているなら「好き」という方が多いと思います。 しかし、開発の現場では「好き」という言葉と付随する技術だけでは動きません。 開発の現場ではそれ以外の「もう一つの壁」があります。 10
型安全な世界は好きですか? 今日のLTでは、弊社スペースマーケットがどうやってその壁を超えてきたか。 どうやって「型安全」な世界にたどり着いたか。 その5年間の軌跡をお話します。 11
12 5年前と現在の比較
5年前と現在の比較 13 5年前 現在 言語 JavaScript / Flow TypeScript(一部設定ファイルを除く) UTテスト状況
テスト未整備 テストカバレッジ90%前後 型付け状況 プロダクト側コードでany or ts-ignoreが許容されている lintの制限の元、一部例外を除きany or ts-ignoreは撲滅 フロントエンド側の主要リポジトリで状況を比較。 しっかりとTS Wayに乗り、プロダクト開発が行えている状況に。 またBEでもRuby -> TSリプレース進行中。
14 どうやってこの世界に たどり着いたか?
型警察が出動した👮 15
…ではない 16
型警察が出動した訳ではない もちろん型安全を追求するのは大事。 しかし、いくら正しい事柄でも、相手に伝わらなければ意味がない。 なので、安易に型警察的な「べき論」で進めず、 状況そのものを変えることに。 17
18 状況を変えるために 取り組んだこと
① 型安全になった時に 訪れる世界の提示と体現 19
① 型安全になった時に訪れる世界の提示と体現 人は正しさだけでは動かない。 便利そう、自分に得がある。と思うことが大事。 なので、TSがフルパワーで使える = 型安全に使える魅力をコードベースで提示。 また自身がその世界にフルコミット・体現しないと 結局は理想論で終わる。 20
メンバーが自発的に型安全志向になるように 提示と体現を行いました。
② 採用&育成による チーム力向上 21
② 採用&育成によるチーム力向上 物事を進める際には「踊る2人目」が重要。 幸いタイミングよく前職の同僚がコミットしてくれ、大きく力を貸してくれてる。 また専用のカリキュラムを業務外で作成するなど、チーム力向上にもコミット。 チームが型安全を受け入れられる土壌を構築した。 22
③ 質問できる 環境の構築 23
③ 質問できる環境の構築 人が成長するには自分より優れた人間から知見をもらうのが一番。 アドバイスを聞くのに心理的障壁がある = 時間がかかる状況だとトータルリードタイムが向上する。 結果生産性が下がる... なのでマサカリNG、かつ議論する組織環境構築を行った。 24
25 未来の話 ~ Marketplace-X ~
未来の話 ~ Marketplace-X ~ 現在スペースマーケット マーケットプレイスを「再定義する」 Marketplace-X計画が進行中(通称PJ_MX)。 こちらも勿論TypeScriptパワーをフル活用しながら進めている。 これも静的型付けによる安全性が理解され、メンバーがコミットする状況があってこそ。 そして、経営層もこの移行によるメリットは理解し、推進が進行中。
26
27 まとめ
まとめ:型安全な世界を構築するためのインフラ整備 型安全な世界は素晴らしい...! しかし、型安全な世界を運用するためには、組織インフラの整備こそが重要。 組織インフラ整備のためにも推進者がメリットをしっかり提示。 内的動機付けで推進される環境を構築していくことが求められる。 28
29 最後に宣伝
最後に宣伝 スペースマーケットにおけるTS運用をもっと聞きたい! マサカリがなく、かつ議論できる環境ってどんな環境?? こんな疑問がある方、ぜひお話させてくださいー! カジュアル面談ではなく 同じエンジニア同士交流を持たせていただきたいです! 30
最後に宣伝 また06/18に現場目線でのTypeScript活用というテーマを主軸にした MeetUpを開催します! ぜひ遊びにきてください! 31
ご清聴いただき ありがとうございました