週1の社内勉強会が1年ぐらい続いたので、悩んだことをまとめてみる

# 概要

細々とやっていた社内勉強会がそれなりに続いてきて、1年ぐらい何とか頓挫せずに頑張れたので、あれこれ試行錯誤した点をまとめていきます。社内勉強会に関する情報はあまり出回っておらず、失敗をいくつも重ねてきた結果なので、割と泥臭い感じですが、何かの参考になれば幸いです。

## TL;DR

* 形態は小規模なものを想定
* 勉強会は、キーワードを押さえて最初の一歩のハードルを下げるために
* テーマ選びは、「自分が楽しさを伝えたいか」を重視
* エクストリームリーディング+ホワイトボードで補足が負担が少なくていい感じ
* 有志で続けていくのなら、運営云々よりも途切れさせない執念が大事


## 勉強会の概要

まず、一口に勉強会といっても、その開催形態・参加人数・扱うテーマなどは多岐にわたるので、最初に実際に社内で行なっている勉強会の概要を記載しておきます。

* 目的: 技術的知見の共有
* 開催形態: 週に1回30分程度
* 開催方式: 主催者が一つのPCを利用して参加者へ内容を説明
* 参加人数: 5人~10人程度でスキル感はばらばら
* 発表者: 有志(8割程度は私が行い、発表したいネタが集まった人が間に差し込んでいく感じです)
* これまでのテーマ例(リーダブルコード読書会/Git/Vue.js/Sassなど)

以下では、こういった勉強会を続けていった上で、悩んだ部分について、書いていきます。
個々の要素はそれなりに独立しているので、目次から興味を持って頂いたテーマについて見ていただくと良いかと思います。

# 勉強会の意義

まずは、`そもそもなんのために勉強会をやるか`です。
勉強会に限らず、お仕事をする上では、自分達が取り組んでいることに対して、「目的は何か」を常に問いかけるのは大事なことです。
目的を見失ってしまうと、「やる意味なくない？」と頓挫していくか、形骸化して互いが無駄な時間を過ごすか、いずれにしろ、目もあてられない結果になってしまいます。

概要部分では、目的を「技術的知見の共有」と銘打っていましたが、もう少し掘り下げてみます。
例えば、Vue.jsをテーマにしたいと思った場合を考えてみます。全員がJavaScriptについてある程度知っている状態であれば、(適切に進めていけば)全体的な満足度は高くなるでしょう。しかし、参加者にはJavaScriptﾁｮｯﾄﾃﾞｷﾙ方から、JavaScriptが初めてという方まで様々いらっしゃると思われるので、そう簡単にはいきません。

ここで問題になるのは、`前提をどこに合わせるか`です。色々と悩みつつ迷走もしましたが、あれこれ試した結果、前提は、あまり意識しない方が良いと感じるようになりました。
つまり、Vue.jsをテーマとするのであれば、前提となるJavaScriptのあれこれは深く掘り下げず、Vue.jsの説明を中心に行います。これは、発表者が`テーマの概要を伝えるのに注力すること`を狙いとしています。

※ もちろん、ペースを調整するため、間に補足として差し込むのは推奨されるべきだと思っています。

---

教育を目的とするのであれば、全体の理解の底上げを目指すため、前提を参加者に合わせた部分に設定するべきでしょう。しかし、個々に合わせた方針で内容を調整するのは非常に難しく、あれこれ考え過ぎると、発表者側のハードルだけが高くなってしまいます。

そこで、ある程度割り切って、`多様な技術に対してアンテナを張ること`を目的とします。
発表者は体系的に内容を組み立てるのではなく、テーマの内容に絞って説明し、参加者は、馴染みのない技術であれば、キーワードを押さえる程度に・ある程度知っているのであれば、導入時の参考に・既に知っているのであれば、復習するぐらいの気持ちで聴いていきます。

アンテナを張ることに狙いを定めたのは、レベル感を考慮する負担を減らすことを目指しただけではありません。
昨今の技術の発展スピードは凄まじく、とても個人では追いきれないものとなっています。追いきれないからといって、一つのことだけを追い続けているだけでは様々な問題に対応することが困難となります。
ここで、チームで各々の得意分野を共有していけば、幅広いことについて学ぶ足がかりとなってくれます。
技術を学ぶ際、最初の一歩はいつも重く感じてしまうものですが、触りだけでも知っていると、大きく違ってきます。

なので、本当はもっと発表者が増えて欲しいです。(小声)

# テーマ選び

途切れることなく続けてきたとはいっても、テーマ選びでは毎回頭を悩ませています。
まず、テーマ選びにおいて、何で悩んでいるかについて、書き出してみます。

* 参加者にとってあまりに難しすぎるテーマとなっていないか
* テーマについて紹介する上で知識が不十分ではないか
* 短めのスパン(1~2ヶ月程度)で紹介しきれるか

この他にも色々悩みはありますが、大まかには、「自分がうまく発表できるか」・「参加者に利益をもたらせるか」に分類できるでしょう。

ここは勉強会の規模や時間にも多少左右される部分はあるかもしれませんが、小規模な場合、`興味を持って少しでも取り組んだものはどんどん発表する`方式でよいかと思います。
以下では、これについて詳しく見ていきます。

## 自分が面白いと思ったテーマ

概要部分でもいくつかテーマを書きましたが、基本的には、私が勉強していて面白いと思ったことを、ばしばし紹介しています。
ここで壁となるのは、「人に説明するには知識不足ではないか」という懸念です。最初の頃は、間違わないことに重きを置きすぎて、読書会として扱う題材の本をそのまま読み上げるばかりになってしまっていました。

しかし、それでは各自で本を読んだ方がマシな状態となってしまうため、少しずつやり方を変えていきます。
あーでもない、こーでもない、と失敗したり、人が発表していくのを聴いた中で、失敗はマイナスではなく、むしろプラスの要因になると考えました。

### 間違いは互いのために

上手く説明できなかったり、発表の中で間違いを言ってしまい、後で訂正したりするのは、最初のうちは恥ずかしいものです。ですが、これは、自分の理解の浅い部分を知る大事な機会でもあります。人に教えるためには、自分の中で十分に概念を理解する必要があるため、説明できなかったときは、`失敗した`と感じるのではなく、`なるほど、私はここの理解が浅かったのか`と気づきを得た、と思うようになりました。

また、誰かが躓く箇所は大体他の人も詰まったりするので、後から補足資料を提示したり、別途説明を加えることで、参加者側の記憶にも残りやすくなります。なるはずです。

---

最初の内は間違ったらどうしよう...と不安になりますが、発想を切り替えることで、テーマを選ぶ際の悩みのあれこれが少しはマシになるのではないかと思います。

とにかく、自分が面白いと思った技術を紹介するのは楽しいことなので、`楽しい気持ちを言葉に乗せていけば`多少なりとも人に伝わりやすくなる...と信じています。


## VS 業務で役立つテーマ

よく、勉強会のテーマ選びの基準で挙げられるものに`業務で役立つもの`があります。業務時間内に行う以上、一定の利益を期待するのは当然の考え方だと思われます。

ですが、個人的には、こういった考え方は、`役に立つ研究にだけ投資すればよい`に通ずるものがあります。
それぞれの技術は、先人のすごい人達が、各々の課題を解決するために築き上げられています。ただ目の前の業務をこなす上で必要な知識だけを詰め込んだものと、連綿と紡ぎ出されてきた知識を一つ一つ積み上げたのとでは、どちらが、答えのない複雑な問題に適した形の解決策を提供できるかは、明白でしょう。

これ以上は、愚痴みたいになるので、割愛しますが、新人の方などが「一見業務に直結しないようなテーマ」で勉強会をしたいと提案しても、直近の成果だけを見据えるのではなく、もう少し長い目で見ていただけると、お互いに闇を抱えずに済むのではないかと思います。


### 具体的なテーマ選び

ここまでの話は、「自分が楽しいと思ったことをテーマにする」と、少しふわっとしていました。
これだけでは、いざテーマを決めるときに迷子になるかもしれないので、もう少し具体的に、普段私が、`これ勉強会のテーマにしよう`と思うきっかけのようなものを簡単に書いておきます。

* 本をたくさん読む
技術書を色々と読んでいて、`めっちゃ面白い!!`と思う本に出会えたら嬉しいものです。この喜びは誰かと分かち合いたくなります。そこで、勉強会のテーマにしてしまえば、同志が増えるかもしれません。

* 色々作ってみる
とりあえず自分の作りたいアプリをごりごり組んでいくだけでも、さまざまな技術に触れることになるので、詰まった部分なんかを組み合わせながら要素技術を紹介していくだけでも、立派な勉強会が出来上がります。

* トレンドはさらっとチェックしておく
本を読む題材を選ぶときにもそうなのですが、完全に流されるとまではいかなかくとも、それとなーくトレンドを押さえておくのは重要です。「みんなで共有できそう」といった思いは学習のモチベーションにも繋がったりしますし、多少は「今」を追う時間をつくってみるのもいいかもしれません。

# 進め方

続いては、勉強会の進め方についてです。
これまたあっちに行ったり、こっちに行ったりしましたが、現在では、エクストリームリーディング + ホワイトボードを利用して補足といった形に落ち着いています。
以下では、方針が落ち着くまでの試行錯誤について書いていきます。

## エクストリームリーディング

エクストリームリーディングについては、[こちらの記事](https://qiita.com/gakuri/items/9afd1c5273cd43b19230)に詳しく書かれています。もう少し時間が長ければじっくり読み進めることもできますが、現在開催しているものは、1回30分と少し短めのため、長い文章については、要点のみでさらっと流すこともあります。
本だけに頼りすぎると、本を一人で読んだ方が効率的になってしまうので、適宜、自分の詰まった部分や、もう少し詳しく踏み込みたい部分などを中心に、ホワイトボードを利用して補足を入れていきます。

こうすることで、発表者・参加者共に深く予習することなく進めることができます。補足説明をするのであれば、本来は発表者は予習をしておくのが望ましいのですが、あまり気負い過ぎると億劫になってしまうので、多少ぐだぐだになってもいいや、ぐらいの精神で臨むとよいかと思います。

また、テーマを決め、進める際には、`どこまで踏み込むか`を明確にしておくのも大事です。
全ての内容を伝えられるのがベストなのですが、あまり時間を掛け過ぎてもお互いにしんどくなってしまうので、この辺はまだまだ手探りな部分ではありますが、大体一つのテーマが「1~2ヶ月以内に収まる」ことを心がけています。
ですので、本を題材にする際にも、1〜2ヶ月、すなわち、5~10回前後で扱える範囲をあらかじめ決めておくと、多少はぐだぐだになることを防げるかもしれません。

このあたりについては、まだふんわりしているので、「うちはこういう方針で進めてます!!」とかありましたら、教えて頂けるとうれしいです。

## 向いていなかった進め方(後悔)

もちろん、最初から上記のような形式にたどり着いたわけではなく、試しては失敗し、を繰り返してきました。以下では、ちょっとこれは失敗だったな...といったやり方について記述していきます。

### 業務で学んだことを整理して展開

同じ会社内であっても、人によって取り組む内容は異なるため、他の人が普段どういうことをやっているのか、を知る上でも有意義なように思えます。しかし、人に伝わるようまとめる時間を要しますし、業務で勉強してるのに理解してないの...？みたいな~~マサカリ~~鋭い指摘が飛んできた日には闇堕ちしてしまいます。
小規模な勉強会で扱うには、少々ハードルが高めです。

これについては、全くやるべきではない、というわけではなく、それなりに知見が溜まってきたら、「一人5~10分程度」のLT形式でやっていくのがよいのではないかと思います。
失敗しても許される土壌が存在していることが重要となるので、いきなりこういった形式を取り入れるのではなく、有志が緩めに進めていって、時々各自に発表の機会を差し込むのが、いいのかもしれません。

### その場でコーディング

動画コンテンツを通じて技術を学ぶのは非常に効率的なので、真似したくなります。しかし、当然のごとく成功させるためには、入念な準備が必要となるため、失敗したら言わずもがな、上手くいっても準備までに掛かった時間から、継続の難易度がいたずらに上がってしまいます。

ただ、開催時間と環境(一人一台ノートPCとか)、そして準備時間が十分に確保できるのであれば、かなり効果的な形式になり得るでしょう。
私もベテランの人がその場でコーディングするとき、どう組んでいくのか、とか、エラーにはどう対処するのか、とか見てみたいです。もっと勉強会の規模が大きくなってきたら、いずれは...。


# 続けるためには

いくら素晴らしいテーマや、理想的な方式で勉強会を開催したとしても、続かなければ知見は貯まりません。知見を貯めていくことができなければ、勉強会を開催する意義が薄れてしまいます。
色々書いてきたことも、`いかに続けやすくするか`に重きを置いていましたが、今一度、勉強会をやっていく上で最大の悩みの種となる挫折を防ぐことについて、書いていきたいと思います。

## 楽しい気持ちを表現

動画を利用して勉強していても、解説者が淡々と説明していくより、`いかに技術が面白いか`を熱意をもって説明している方が、聴く側としても身が入ります。
私の場合は、なんとなくで使っていた技術がちょっと分かってきたかな...？ぐらいの段階で、仕組み部分を知ると、すごく楽しくなるので、どんな風に技術が成り立っているかを重視するようにしています。
ですので、勉強会で本などを読み進めて補足を挟む際には、キーワードがどういう概念を表すものなのか、よりイメージしやすくなるような説明を心がけるようにしています。

`こうすれば楽しさが伝わる`といった正解は全然見えそうにはないですが、失敗を積み重ね、「ダメだったパターン」を振り返り、「もっとこうすれば上手くいくのでは」というアイデアを少しずつ取り入れていくことで、発表者も、参加者も楽しめるような勉強会に近づける、と信じています。頑張りたい。


## 途切れさせない執念

業務で毎回誰かがやる必要のあるものであれば、属人性を排し、最小限の労力で運営できるような仕組みづくりを行うべきです。ですが、勉強会は有志によるもので、必ず続けなければいけない、というわけでもありません。
続けなくても問題ないものを続けようとするのは、それなりにしんどいです。時折方向性が見えなくなって、`もういいかな...`とか思うこともありました。

それが今となっては、自分の好きなことについて話すのは楽しいですし、どうすればもっと良く伝えられるかを考えるのも楽しみになってきました。ですが、継続するのが苦でない状態まで至るためには、`絶対に途切れさせない執念を以って立ち向かい続ける意思`が何よりも必要だと思っています。
これは勉強会に限らず、何かを継続する際には小手先のテクニックよりもはるかに重要になってきます。多少泥臭くても、頓挫さえしなければ続けることはできます。
もちろん、あまりに迷走し過ぎて目的を見失っていないかは、常に意識した方がよいでしょう。

少しおおげさになってしまいましたが、新しく何かを継続することは、それなりにエネルギーの要ることなので、やはり挫けぬ心は大事にしていきたいですね。更に頑張りたい。

---

# まとめ

軽めに書いてみようと思ったら、想定したよりだいぶ長くなってしまいました。ですが、続けていく上で色々苦労していた部分について、それなりに整理できたのではないかと思います。

社内勉強会を開催/継続していく上で、何かの参考になれば幸いです。