Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
Search
Narihara
May 24, 2025
Technology
1
260
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
TSKaigi2025での登壇資料です。
Narihara
May 24, 2025
Tweet
Share
More Decks by Narihara
See All by Narihara
余白のフラクタル・デザイン ~ 個人・チーム・組織の連鎖的成長戦略 ~
narihara
1
110
5つのアンチパターンから学ぶLT設計
narihara
2
290
Road To「全員リクルーター」 ~新卒採用編~
narihara
0
180
LeSSをはじめて1年 我々はどこから来たのか 我々は何者か 我々はどこへ行くのか
narihara
0
72
組織をドライブさせる「評価」方針 at 20240129_ROSCAFEミートアップ.pdf
narihara
0
79
エンジニアドリブンで事業KPIから着想を得たプロダクトカイゼンを行っている話
narihara
0
310
キャリアにキく目標設定
narihara
0
150
Other Decks in Technology
See All in Technology
その設計、 本当に価値を生んでますか?
shimomura
2
180
こがヘンだよ!Snowflake?サービス名称へのこだわり
tarotaro0129
0
110
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
300
履歴テーブル、今回はこう作りました 〜 Delegated Types編 〜 / How We Built Our History Table This Time — With Delegated Types
moznion
15
9.4k
ページの可視領域を算出する方法について整理する
yamatai1212
0
160
Microsoft Agent 365 を 30 分でなんとなく理解する
skmkzyk
1
300
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
2
880
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
21k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
あなたの知らないDateのひみつ / The Secret of "Date" You Haven't known #tqrk16
expajp
0
110
HIG学習用スライド
yuukiw00w
0
110
.NET 10 のパフォーマンス改善
nenonaninu
2
4.7k
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Visualization
eitanlees
150
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Docker and Python
trallard
46
3.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Context Engineering - Making Every Token Count
addyosmani
9
460
RailsConf 2023
tenderlove
30
1.3k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
How to train your dragon (web standard)
notwaldorf
97
6.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
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
ご清聴いただき ありがとうございました