人生初の技術系カンファに行ってきた【TSKaigi 2025】

## はじめに
こんにちは。エンジニアを目指す26卒院生の[@bassaaa28](https://x.com/bassaaa28)です。

本記事では、2025年5月23日-24日に東京で開催されたTypeScriptの技術カンファレンス**TSKaigi 2025**に参加した感想を綴ります。

**人生初**の技術カンファレンスということで多くの気づきや学びがありました。

## TSKaigiとは...？
TSKaigiとは、日本最大級の**TypeScript**をテーマとした技術カンファレンスで今年が2回目の開催となります。

https://2025.tskaigi.org/

私は**学生旅費支援制度**を利用させていただき、参加しました。地方住みということでこういった技術系イベントに足を運ぶのがなかなか難しいため、こういった制度は金欠学生にとって本当にありがたいです！！

## 印象に残ったセッション🧑‍🏫

2日間にわたり、3つのブースで朝から夕方までびっしりとセッションやLTが行われます。どれを聞くか迷ってしまい、事前にスケジュールをしっかり決めておけばよかったと少し後悔しています。

お昼には、いかにも東京らしい豪華なお弁当が無料で出てきて驚きました。（研究で行った学会よりも羽振りが良い...！）

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3561867/bcfc90c1-7a9b-4fef-88b7-6ea606b91423.jpeg" width="500">

以下、初学者の私でもある程度理解でき、特にためになったなと感じたセッション3選です↓↓↓

### TypeScriptとは何であって何でなく、誰のもので、どこへ向かうのか
by [Sosuke Suzuki](https://x.com/__sosukesuzuki)さん

https://zenn.dev/sosukesuzuki/articles/5146c84504445f

印象的なタイトルに惹きつけられました。TypeScriptのエコシステムの変化の裏にある背景や、今後の方向性についてのお話でした。

memo↓↓↓
> - TSは普通の言語ではない→コンパイル先が高級言語のJavaScript、賢いリンター
> - 型チェッカーに関してはMicrosoft公式のTSコンパイラが一強の状況が続いている
> - BabelやPrettier、ESLintなどの**OSSは狂人の謎のモチベーションによって維持されており、持続可能性がない**
> 将来：「TSをコンパイルしてJavaScriptに変換してから実行する」というビルドレイヤの存在が、どんどん溶けてより透明になっていく
> - **技術に対する審美眼を磨いて、主流に乗り続けることが重要**
> - 乗るべきブラックボックスを間違えないことが大事

「OSSは狂人の謎のモチベーションによって維持されている」という言葉が印象に残りました。確かにそうだなと思いました。普段当たり前のように使っている技術が、脆い土台の上に成り立っていることを実感しました。


### 機能的凝集の概念を用いて複数ロール、類似の機能を多く含むシステムのフロントエンドのコンポーネントを適切に分割する
by [NoritakaIkeda](https://x.com/omotidaisukijp)さん

https://speakerdeck.com/noritakaikeda/ji-neng-de-ning-ji-nogai-nian-woyong-ite-fu-shu-roru-lei-si-noji-neng-woduo-kuhan-musisutemuno-hurontoendonokonponentowoshi-qie-nifen-ge-suru

フロントエンドのコンポーネントの粒度に関するお話でした。インターン先での新規開発ではコンポーネントの粒度について考える機会が多いため、有意義なセッションでした。

memo↓↓↓
> - **凝集度**：モジュールが単一の目的にどれだけ集中しているか、変数や関数がどれだけ密接に関連しているかを表す指標
> - **論理的凝集**：似たような処理をフラグや条件で切り替えて1つにまとめている状態、可読性が落ち保守のコストが増加する、共通化としてやりがち
> - **機能的凝集**：モジュール全体が単一の明確な目的のために構成されている状態、責務が明確になる、一見冗長にも見えるため共通化したくなってしまう
> - 論理的凝集は避ける→コードが大きくなると条件分岐が増え複雑になっていく、将来的にさらに分岐が追加される可能性が高い
> - 機能的凝集を目指す→修正や追加に耐えやすい、要件とコードが一致しているか確認がしやすい

変に共通化してしまい、結果的に論理的凝集になっていることが自分にもあると感じました。"凝集度"という観点からコンポーネント設計を見直す重要性を実感しました。「共通化＝正義」ではなく、「責務の明確さ」を意識していきたいです。

### "良い"TSのコードを書く為のマインドセット
by [Kei](https://x.com/kei_english_ca)さん

https://speakerdeck.com/kei95/liang-i-typescriptwoshu-kutamenomaindosetuto

プレゼンテーションがとても上手だったので印象に残っています。内容も良い意味で難しくなく、TS初学者の私はこのセッションが内容を一番理解できたセッションでした。

また、「なんか見たことあるなあ...」と思っていましたが、なんとあの[TECH WORLD](https://www.youtube.com/@TECHWORLD111/featured)に出演されてた方でした👀

memo↓↓↓
> - TSが想像のつかない挙動をする型システムを採用している理由は「**大元の言語がJavaScriptだから**」
> - 動的型付け言語であるJavaScriptとの親和性を高めるために構造的型システムを採用している
> - **soundness**(健全性)=実行時とコンパイル前は同じ型である
> - ↔**usability**(実用性)=健全性と引き換えにコードの実行自体を優先している様
> - TSはSoundnessに対してコントロールを持つことができる言語
> - マインドセット：**SoundnessとUsabilityのトレードオフを"意識的"に行う**(プロダクトやチーム、組織に合った健全性と実用性のバランスを取れたコードが良いコード)
> - ソフトウェア開発においてトレードオフはどの段階でも起こる

「TypeScriptは型が使えてすごい」くらいしか考えていませんでしたが、その背景を知ったことで TSに対する見方が変わりました。今後はsoundnessとusabilityのバランスを意識しながら、TSの強みを最大限に引き出せるエンジニアを目指したいです。

## 企業ブース💁‍♀️
20社ほどのブースがあり、各ブースでは、

- 開発環境やTSの関するアンケート
- 自社プロダクトのデモ
- TSコードの間違いを探すチャレンジ
- 豪華賞品が当たるくじ引き

などの楽しいイベントが開催されていました。

ブースを訪問すると、社員さんが自社製品についてやTSを用いたリアルな現場の事例を熱く語ってくれました。私もいつか、プロダクトや技術についてブースで語れるようなエンジニアになりたいです。

**セッションと同じくらい、もしかしたらそれ以上に企業ブースは行く価値があると思います！！**

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3561867/43646193-0d5f-4cc6-95f3-920312e16800.jpeg" width="500">

こんなにたくさんのノベルティをいただきました。ノベルティのクオリティの高さに驚きました。（普段使いできるものが多くて助かる...）

## 懇親会🍻
2日目の最後には懇親会がありました。職人が目の前で握ってくれる寿司や巨大なTSのケーキなどがあって、規模のデカさを実感しました。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3561867/febca0e6-87a7-4cec-a6fd-e6921b38fc5b.jpeg" width="500">

懇親会では、多くの学生エンジニアと話すことができました。学生のうちからカンファレンスに来ているだけあって、技術に対する熱量と行動力が高く、圧倒されました。非常に良い刺激を受けました！

さらに、このカンファレンスの目玉ゲストとも言える[Anthony Fu](https://antfu.me/)さんに思い切って話しかけてみました！Vue／Nuxt／Viteなどの有名OSSの開発に携わっている方です。物腰が柔らかく、まさに聖人のような方でした。

## おわりに
TSKaigiへの参加を通じて、**TypeScriptというたった一つの言語にさえ、こんなにも深くて広い世界が広がっているのかと衝撃を受けました**。普段はインターンでの業務や個人開発でTSをなんとなく使っていましたが、セッションを通じて「歴史的背景」や「設計思想」についての話を聞き、まるで別の視点からTSを見直したような感覚になりました。

正直、セッションの内容は私には難しかったです。しかし、**こんなにも多くの人たちがOSSや言語の仕様、ツール改善等に熱意をもって取り組んでいる世界があるということを肌で感じられたのは、大きな収穫でした**。自分が普段何気なく使っている言語やライブラリが、誰かの努力によって支えられていることを実感し、もっと感謝の気持ちを持ってコードを書きたいと思いました。

私は「プログラミングは誰かの課題を解決する手段の一つである」という思想を持っています。もちろんこの思想は非常に重要だと今も思っています。しかし、**今回のカンファレンスを通じて、「技術そのものを深く理解し、育てていくことの楽しさ」や「OSSへの貢献を通じてコミュニティに恩返しするという姿勢」の重要性にも気づかされました**。今後は、自分もOSSへのコントリビュートに挑戦し、エンジニアの役に立ちたいと思いました。

**人生初の技術カンファレンス、学生という身分で参加できて良かったなと思います**。学生だからこそ、分からないことを素直に「分からない」と言えるし、さまざまなエンジニアの方に突撃することができました。来年からは上京するため、これまでなかなか参加できなかった勉強会やイベントにも足を運びやすくなります。リアルな場でしか得られない学びや出会いを大切にしながら、技術的なインプットだけでなく、エンジニアとしての姿勢や価値観もアップデートしていきたいです。



<br>

長々と書き連ねてしまったのですが、一言でまとめると「**マジで来た意味あった！技術って奥深え！いつか登壇してみたい！**」です。


TypeScript、バンザイ🙌 🙌 🙌


<br>
<br>
<br>
最後に、

以下の企業さんに今回旅費を支援していただきました。非常に有意義な経験ができました。本当にありがとうございました！！

**トグルホールディングス株式会社 様**

https://toggle.co.jp/

**株式会社TwoGate 様**

https://twogate.com/

**株式会社レバレジーズ**

https://leverages.jp/

**株式会社ドワンゴ 様**

https://dwango.co.jp/

**株式会社TOKIUM 様**

https://corp.tokium.jp/

どの企業さんもインパクトのある自社プロダクトを開発しているので、チェックしてみてください✅️