ひびのログ

日々ではないけどログを出力していくブログ

【資料公開】TypeScript の社内勉強会を開催しました!

タイトルどおりなのですが、TypeScript の社内勉強会を開催しました!

勉強会で使用した資料

https://gitpitch.com/tee-talog/try-typescript

今回は GitPitch を利用してスライドを作成しました。 簡単にスライドが作れるので、それほどデザインにこだわらなくていい場合(それこそ社内勉強会など)おすすめです!



勉強会開催の動機

現在、プロダクトは JavaScript で Vue.js や jQuery を使用して開発しています。

以前自分が書いたコードで、型の違いによって本番環境でエラーが発生してしまったことがありました。

もし型がついていたら実際に動かす前にエラーがわかったはずなので、TypeScript を導入したいと思うようになりました。

それ以外の理由として、プライベートのプロダクトでも使用しています(これとかこれとか)。 JavaScript とそれほど書き心地が変わらないのに、補完などでかなり便利になるのが実感できています。

個人のプロダクトでもこれほど恩恵があるので、実際に業務で作っている大規模なコードが TypeScript になったらもっと恩恵があるはずですので、導入したいと思いました。

ただ JavaScript のスーパーセットとはいえ別言語なので、「プロダクトに導入するなら布教活動もやってください」と言われてしまいました。

ということで、勉強会を開催して TypeScript はいいぞ。ということを伝える役割を担ったのでした!

……まぁ言われずとも勉強会はいずれやろうと思ってましたけどねw

勉強会の概要

ターゲット(勉強会に来る人)

  • JavaScript はある程度わかる。
  • TypeScript は聞いたことはある。
  • でも触ったことはない。

今回はプロダクトに導入するために全く知らない人に説明することを目的としているので、このような人をターゲットに据えました。

スコープ

上記のように、TypeScript が全くといっていいほどわからない方も対象ですので、今回は基礎の基礎部分を説明することにしました。

  • TypeScript の概要(簡単に)
  • 型についての基礎知識
  • TypeScript 独自の言語機能の基礎知識

参加者の感想

勉強会後にアンケートを実施し、10 人の方に答えていただきました!

勉強会はどうでしたか?(5 段階・大きいほど Good)

  • 5 …… 9 人
  • 4 …… 1 人
  • 3 以下 …… 0 人

良かった点・悪かった点

  • とてもわかりやすかった!
  • 実践コードがあったため、どういうときに構文を使うのかが理解しやすかった。
  • 普段 JS を書かない自分でも十分理解できた。
  • 説明が丁寧だった。
  • 用意されたコードの質が高かった。
  • 少し寄り道が多かった。
  • 一部ギャグがだだ滑りだった。

次があったら参加したいですか?(3 段階)

  • したい …… 8 人
  • するかも …… 2 人
  • しない …… 0 人

次はどんなことをやってほしい?

  • React
  • プロダクションのコードを例に解説
  • コンパイル後のコードを見てみる
  • 型の深掘り
  • Syntax Sugar を前提として、「どの書き方を選ぶか」「なぜその書き方を選ぶか」
  • 型について詳しく
  • 運用時の具体的な悩みとその解決策
  • TypeScript の今後
  • TypeScript への移行で詰まったところ

TypeScript についてわかりましたか?

  • わかった …… 5 人
  • そこそこ …… 5 人
  • わからなかった …… 0 人

自由記入欄

  • ありがとうございます。
  • わかりやすかった!
  • 2 時間あったので、途中休憩が欲しかった。
  • こちらのプロダクトでも導入を検討していたので、相互に盛り上げていきたい!
  • 悩みポイントとかも教えてくれると嬉しい。

勉強会を開催してみての感想

この勉強会を通じて、TypeScript に興味を持ってもらって、少しでも触ってもらえたらいいな! というスタンスで臨みました。 結果として、興味を持ってもらうことはできたのかな、と思います。

勉強会で自分一人だけというのは初めてだったので、「こんな資料とかソースとかでいいのかな……もうちょっと問題を難しくしたほうがいいのかな……」とか思っていました。
実際やってみるとアンケートの結果も上々で(ただし投票率は 60% 程度)、なかなかよかったと思います。

次は型の深掘りをやってほしいという意見が最も多く、そもそも今回の資料では最初の最初しかやっていないので、次回そのテーマでまた勉強会をやろうと思っています。

今回は JavaScript がそこそこわかる人向けの内容ではありましたが、あまり精通していない人に対しても TypeScript の良さを伝えられたと思います。

タイムキープに関して、最終的にはおしりが 5 分はみ出しただけだったのでほぼオンタイムではありました。
しかし、予想していたより解説が伸びてしまい、途中で取るはずだった 10 分休憩がなくなってしまいました。
集中力が切れたりするのは問題なので、1 時間程度経ったときに無理矢理にでも休憩を入れるべきでした。

休憩を入れられないほど時間が伸びた要因として、想定より質問が多かったのがありました。
「そんなたくさん質問とかしないだろー」という甘い見積もりが仇となりました。
なお、「自分の資料が完璧だから質問とか来ないでしょ」ということではなく、「そんなに質問とかくるか? いやこない」的なノリでした。
仕事のときより活気があってよかったです。冗談です。

いきなり社外の勉強会で発表するのはハードルが高かったので、知っている人ばかりの場で発表できたのは幸いでした。

今後は社外の勉強会や LT 会等でも発表できたらと思っています!