freeeの開発情報ポータルサイト

TSKaigi 2025 に参加してきました!

みなさん、こんにちは!freee 外部連携基盤エンジニアのおっそーです。 少し遅くなってしまいましたが、2025年5月末に開催された TSKaigi 2025 に参加したので、その参加レポートを書きます。

最近は担当プロジェクトの都合上 TypeScript を書く機会がめっきり減ってしまったわたしですが、本カンファレンスは非常に学びが多く、また TypeScript をたくさん書きたい気持ちになりました☺️

参加された方にもそうでない方にも、 TSKaigi の楽しさが伝わる記事になっていると嬉しいです。

個人的にピックアップしたいセッション

まずは berlysia さんの主催者講演「TypeScriptネイティブ移植観察レポート TSKaigi 2025」です。

TSKaigi 1日目に発表された TypeScript のネイティブ実装である typescript-go について、TSKaigi 2日目の最初のセッションで発表されるというスピード感に驚きましたし、何より発表が分かりやすく、40分という短い時間の中で理解が深まり非常に面白かったです。

ちなみにわたしは freee のデザインシステムである vibes で typescript-go のビルドスピードの比較を試してみました!tscで実行したら11.64sかかっていたものが、tsgoで実行してみたら1.753sになりました。本当に10倍近く早くなってますね🏎️💨

TypeScriptネイティブ移植観察レポート TSKaigi 2025 - Speaker Deck

2025.tskaigi.org


つづいては Sohei Takeno さんの「スキーマと型で拓く Full-Stack TypeScript」です。

SANU というノーコードで100画面以上、1000カラム以上のデータを持っているサービスをリプレイスした際の設計戦略についてのお話でした。 スピードを落とさずに開発するために Full-Stack TypeScript を採用し、分離技術としてGraphQLを採用することで、多様なフロントエンドや高機能化していくバックエンドにも耐えうるアーキテクチャを実現したということでした。

Full-Stack TypeScript がここ最近はかなり増えてきている中で、やはり同じ言語になることでフロントエンドとバックエンドとの境界が曖昧になりやすいことが課題だという認識はあったのですが、本セッションがその解のひとつになっていると感じました。

スキーマと型で拓く Full-Stack TypeScript / TSKaigi 2025 - Speaker Deck

2025.tskaigi.org


最後にピックアップするのは NoritakaIkeda さんの「機能的凝集の概念を用いて複数ロール、類似の機能を多く含むシステムのフロントエンドのコンポーネントを適切に分割する」です。

論理的凝集と機能的凝集を比較し、機能的凝集を目指したいというセッションです。なぜ機能的凝集を目指した方が良いと考えるのが丁寧に説明されており、なんでも「共通化!共通化!」と思って開発をしていた駆け出しエンジニアだった頃の自分に是非見せたいくらい、明日からの業務に直結する学びが得られるセッションでした。

考え方としても学びのあるだけでなく、ts-pattern や TypeScript のジェネリクス型を活用することでチームで統一的に機能的凝集性を実現しやすくできるというのも学びでした。

機能的凝集の概念を用いて 複数ロール、類似の機能を多く含むシステムの フロントエンドのコンポーネントを適切に分割する - Speaker Deck

2025.tskaigi.org



また、弊社からは ymrl が登壇したことも書かせてください!ymrl さんの発表も本当に面白いので、是非アーカイブを観てくださいね☺️

TypeScriptとReactで、WAI-ARIAの属性を正しく利用する / Fixing WAI-ARIA Typing in React with TypeScript - Speaker Deck

2025.tskaigi.org

freee のスポンサーブースについて

今回 freee は Silver スポンサーとしてブースを出させていただきました。

freeeのスポンサーブースで参加メンバーが右手をパーの状態から人差し指と中指、薬指と小指をくっつけたフリーのアイコンを表すポーズをしている

1日目はアクセシビリティをやっているかのアンケート、2日目は好きな Utility Type は何かのアンケートを行いました。

「アクセシビリティやってる?」のアンケート結果ですが、ブースを訪れたおよそ半分の方がやっていると回答してくださいました!このアンケート自体は何度か実施していますが、徐々にアクセシビリティを意識されている企業は増えてきているように思います。

アクセシビリティをやっているかのアンケート結果。おおよそ50%ずつに分かれている。アクセシビリティをやっていると回答した企業は企業名を記載しているケースもあり、記載されているのはLINEヤフー、JCON、SmartHR、Qiitaなどの計33社。

2日目の「好きな Utility Type は?」で人気だったのはReadonly、Pick、Omitの3つでした!

好きなUtilityTypeのアンケート結果。Readonly、Pick、Omitが3大人気で、そのほかにはNoInfer、Partial、Required、NonNullable、Exclude、Awaited、UpperCase、Parameters、Record、Extract、ReturnType、UnionToIntersection、DeepParcial、DeepReadonly、わからん!に票が入った。

ちなみにわたしが好きなのは Readonly です。よく使うし、上書きされていない安心な値が参照できるからです。...でも、本当に代入されていないことを保証するなら DeepReadonly を使わないとですね😇


また、近くでブースを出していらっしゃる他のスポンサー企業様と一緒にキャラクターぬいぐるみたちの写真を撮らせていただきました! KINTO様のくもびぃ、ドワンゴ様のニコニコテレビちゃん、サイバーエージェント様のアベマくん、フリーのスイーです。みんなかわいいですね💙

左にKINTO様のくもびぃ、中央上にドワンゴ様のニコニコテレビちゃん、中央下にサイバーエージェント様のアベマくん、右にフリーのスイーが映っている

他のイベントの感想

空いている時間で他の企業様のスポンサーブースも回りました。

ブースでの体験で一番印象に残っているのは ダイニー様です。実際にスマホから注文する要領で、好きな package マネージャなどのアンケートに回答しつつ、利用されているお店の方がどのような画面を見られているかを知り、最後にアンケートの回答をレシートの形式でいただけるというのがとても楽しかったです。

また、いただいたノベルティで一番印象に残ったのは Nstock 様のトートバッグです。バッグ部分もしっかりしており、持ち手も長さが2ずつで計4本ついていて、非常に使い勝手が良さそうです☺️

どちらも当日写真を撮り忘れて載せられず、ごめんなさい…。

また、各企業様のブースを回る中で、どのようなミッション/ビジョンを掲げて事業に臨んでいらっしゃるかを聞いたり、プロダクト開発の中でサービスの規模だったりプロダクトの性質上必ずぶつかる課題を共感しあったり、非常に良い時間でした。

懇親会にも参加しました。大学の同級生と再会したり、招待講演をされた Anthony さんにサインをいただいたり、少し勇気を出して他の参加者に声をかけてみたり。他の参加者様とお話するのは本当に楽しかったです(どこまでが公開情報か分からないので、この記事では会話内容には触れません)。わたしのお話相手になってくださった皆様、ありがとうございました!

また、フリーの内定者も数名参加しており内定者ともたくさん話すことができました。現在東京付近にいらっしゃらない内定者とはなかなか会えないので、この機会に話すことができて嬉しかったです!

懇親会の様子。フリーの社員と内定者が映っている

おわりに

TSKaigi 2025に参加するまで、カンファレンスはスーパーツヨツヨエンジニアたちの集まりで、チョット怖いものだと思っていました(笑)

しかし実際に参加してみると、たくさんの知らなかった技術に触れ、使い方を知り、とてもワクワクしました! 是非わたしのような勘違いをして参加したい気持ちはあるけど参加せずにいる方に、少し勇気を出してカンファレンスに参加してみることをお勧めします。

おまけ

カンファレンス参加時に必要マストだったと懇親会中に気づいたので、最近 X をはじめました。アカウントは おっそー(@_also) です。 更新頻度は低めですが、繋がっている方が少なくて寂しいので、「この人話したかも?!」と覚えてくださっている方がいらっしゃいましたら是非フォローをお願いいたします🙇