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
220
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
TSKaigi2025での登壇資料です。
Narihara
May 24, 2025
Tweet
Share
More Decks by Narihara
See All by Narihara
5つのアンチパターンから学ぶLT設計
narihara
1
180
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
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.3k
united airlines ™®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedhelp
1
470
大量配信システムにおけるSLOの実践:「見えない」信頼性をSLOで可視化
plaidtech
PRO
0
390
伴走から自律へ: 形式知へと導くSREイネーブリングによる プロダクトチームの信頼性オーナーシップ向上 / SRE NEXT 2025
visional_engineering_and_design
3
460
Maintainer Meetupで「生の声」を聞く ~講演だけじゃないKubeCon
logica0419
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
microCMSではじめるAIライティング
himaratsu
0
150
ソフトウェアテストのAI活用_ver1.25
fumisuke
1
610
Autify Company Deck
autifyhq
2
44k
データ戦略部門 紹介資料
sansan33
PRO
1
3.3k
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
390
An introduction to Claude Code SDK
choplin
1
430
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Done Done
chrislema
184
16k
For a Future-Friendly Web
brad_frost
179
9.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
A better future with KSS
kneath
238
17k
Producing Creativity
orderedlist
PRO
346
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
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
ご清聴いただき ありがとうございました