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
260
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
TSKaigi2025での登壇資料です。
Narihara
May 24, 2025
Tweet
Share
More Decks by Narihara
See All by Narihara
余白のフラクタル・デザイン ~ 個人・チーム・組織の連鎖的成長戦略 ~
narihara
1
140
5つのアンチパターンから学ぶLT設計
narihara
2
390
Road To「全員リクルーター」 ~新卒採用編~
narihara
0
190
LeSSをはじめて1年 我々はどこから来たのか 我々は何者か 我々はどこへ行くのか
narihara
0
77
組織をドライブさせる「評価」方針 at 20240129_ROSCAFEミートアップ.pdf
narihara
0
83
エンジニアドリブンで事業KPIから着想を得たプロダクトカイゼンを行っている話
narihara
0
320
キャリアにキく目標設定
narihara
0
150
Other Decks in Technology
See All in Technology
Eight Engineering Unit 紹介資料
sansan33
PRO
0
6.2k
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
600
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
1
840
SES向け、生成AI時代におけるエンジニアリングとセキュリティ
longbowxxx
0
310
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
390
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
780
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
280
Master Dataグループ紹介資料
sansan33
PRO
1
4.2k
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
善意の活動は、なぜ続かなくなるのか ーふりかえりが"構造を変える判断"になった半年間ー
matsukurou
0
330
First-Principles-of-Scrum
hiranabe
3
1.6k
Featured
See All Featured
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
100
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
140
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
Optimizing for Happiness
mojombo
379
70k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
270
Agile that works and the tools we love
rasmusluckow
331
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
160
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
110
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
ご清聴いただき ありがとうございました