勉強会と言うほど大したものではなかったけど、人を集めて勉強会的なものをやっていたことがあるので、そういう話を書きたいと思います。 ちなみに、どちらも常駐先でやっていたことです。自社でやるのはよく聞きますが、常駐先でやるというのはあまり聞かないと思うので、何かの参考になればいいなと思います。

目次
ハンズオンテキストを用意して自習
1999年くらいに仕事で Borland(今はembacaderoになってますが)の C++ BuilderというIDEを使ったアプリケーション開発の仕事をしていたことがありました。 その時に、C++ Builderなんて誰も使ったこと無いし、どうせならStep by stepでなにかWindowsアプリを作ってみようかと思って始めたものです。 作ったのはフローティングのアプリケーションランチャーでしたが、Windows NT 4.0の時代だったのでそれなりに楽しんで取り組んでもらえたようです。
進め方
ハンズオンの進め方は以下のような感じでやりました。
- 手順を書いたドキュメントを用意
- 空き時間などに自習
- 不明点などを随時聞いてもらう
なんでこんな形だったかと言うと、客先だったので
- 参加者が集まって何かをすることが出来なかった
- デスクトップPCだったので会議室などに動かせなかった
というのが主な理由です。
概要
内容的にはVCL(Visual Component Library)やWin32 APIなどの説明をしつつ、ランチャーを組み上げていく、という流れ。 多少はC++の文法は知っている前提だったので、ポインタとは?みたいな話は入れてません。 C++ Builderで画面を作って動かせるようにするにはということを中心に進めて、その後はSTL(Standerd Template Library)を少し。 C++ BuilderにはRoguWave社の実装したSTLが付属していたので、せっかくならSTLもやってみよう、という流れで。 自分で言うのもなんですが、当時としては結構頑張っていたんじゃないかと思います。 毎週資料を作っていくのはメチャ大変でしたけど、それでも1年続きました。
簡単なテキストを用意して講義
その後いろいろな現場を渡り歩いて、しばらくは勉強会のようなものを開く機会がなかったのですが、最後の現場で勉強会的なものを開く機会がありました。 現場の仕事的に新しいことをどんどん取り入れていかなければならないということがあり、現場にいた若者の底上げをしないとチームとしてヤバイなという想いから始めました。ちなみに、若者は元請けの会社のメンバーで、途中からは顧客も一部参加するという体制になっていました。 やったのは、いろいろの技術を理解するにあたっての基本的な考え方とか仕組みの話で、まずは「話がなんとなくわかるようになる」というのを目標にしてはじめました。
進め方
講義の進め方は以下のような感じでやりました。
- 手順を書いた簡単な資料(A42枚程度)を用意
- 業務後に会議室を借りて1時間半くらいテーマに沿って説明
- 不明点などは随時聞いてもらう
なんでこんな形だったかと言うと、
- 顧客が寛容だったこともあり、会議室を借りて勉強会という形式を取ることが出来た
- 全体の底上げはチームとしての課題だったので、元請けからも賛同を得られた
- とはいえ、業務外だし、底上げが目的なので喋る側に回るのは拒絶されていた
というのが主な理由です。
概要
内容的にはコンピューターの基礎的な話、文字コード、OS(Windows、DOS、MacOS、UNIX等)の話、クラウドの基礎、UNIXの歴史、Web APIなど、毎回テーマを決めて1時間以上喋り続ける、というもの。 予定を立てられないと参加者が困るという声に答えて、基本的には毎週決まった曜日に開催するスタイルでした。 資料を作る時間はあまりかけたくなかったので、喋る項目と詳細な資料へのリンクなどをExcelで(!?)作っていました。 資料はRedmineのWikiに貼って、参加できなかった人でも参照できるようにもしていました。 本当に基礎の基礎的な感じで、入り口に立つための情報を渡せたかなという程度でしたが、参加者からは良かったというフィードバックももらえたので良かったのかなと思っています。
ただ、「業務外だから自由参加」というのを理由に、暇な時だけ来て言いたいこと言って帰るとか、来ても寝ている参加者がいるのをどうするか、というのは自分の中で課題だなと思っていました。 内容を面白くすれば問題は解消できるのかもな、なんて漠然とは思っていましたが、それが出来たら苦労はしないですよね。後に外部の勉強会に出るようになって、毎回これだけ面白いことを喋れる人がいるのは凄いなぁと、一時期凹んだりもしていました。
ハンズオンテキストを用意して実施
で、講義を7ヶ月くらいやってネタ切れある程度の基礎的な知識がついたので、次に少し実践的な知識を身に着けてもらおうとLinuxコマンドラインのハンズオンをしてもらうことにしました。
クラウドを使う時にはLinuxのコマンドラインの知識が必要になる場面って多いのですが、当時の現場ではWindowsでの開発が中心でLinuxのコマンドラインを扱えるメンバーがほとんどいなかったからです。
難しいことは要求せず、パイプとリダイレクト、基本的なコマンド操作を覚えてもらって最終的にはシェルスクリプトを書けるくらいになってもらえればというのを目標にはじめました。
進め方
講義の進め方は以下のような感じでやりました。
- 手順を書いたテキストファイルを用意
- 業務後に会議室を借りて1時間半くらい、その日やることの説明とハンズオン
- ハンズオン環境は社内にあったLinuxサーバー
- 不明点などは随時聞いてもらう
概要
同じ現場なので会議室も借りられたし、形もあまり変わらないのですが、唯一困ったことがあって、それはハンズオンをするPCの確保でした。 もちろんハンズオン用のPCなんて用意されていないので顧客から借りるわけですが、開発用に割り当てられているPCは基本的にはWindowsのデスクトップなので使えない。 幸いなことに顧客の参加者と開発メンバーの一人がMac Bookを割り当てられていたので、それを借りて2台。 プロジェクタへの投影用に用意されていたWindows PCを1台の合計3台を確保しました。しかしそれだけでは話は終わらず、そのPCを接続するHUBのポートが会議室では1つしか使えない。 Wi-Fiは使えないし、どうしたものかと思っていたらインフラ担当の人から空いていたHUBを借りることが出来、やっと接続までできたという。。。
実際のハンズオンでもいろいろありました。 Mac Bookは使う人の希望でキーボード配列が日本語とUSの2種類あって、キーの説明をすると「そのキーって何処にあるんですか?」とか日本語入力の仕方とか本筋の内容と関係ないところで苦労しました。 そういう事もあって、途中からは実際のコマンドをテキストに書いてコピペすればいいような形にしたのですが、これだとコマンドを打たずに結果だけ見てわかった気になってしまう参加者も出てきてしまい、なかなか難しいものだなぁと思いました。
Linuxコマンドラインを覚えてもらった後はAWS CLIを使ったインスタンス作成などを実習してもらったのですが、やり方はコマンドラインと同じ感じなので割愛。 予定が合わない場合などは翌週への延期などもありましたが、講義とハンズオンを毎週実施し、それを1年位勉強会を続けました。
資料を用意したり1時間話をしたり、いろいろ大変でした。 でも参加者がコマンドラインを使えるようになったり、新しい技術の話をしてもポカーンとされずに話が通じてくれるようになっていたので、やって良かったのかなと思っています。
まとめ
取り敢えず、やってきたことを書いてみました。 やってきた中で、自分で大事だなと思うことをまとめると
取り敢えず、ダメ元でやってみる
最初の一歩を踏み出すのは他の誰かじゃなく、いつだって「自分」です、間違いなく。
継続する
これ、メチャ大事。何があっても続けること。続けていると皆に認知されるし、すごく成長できる。
定期的にやる
不定期だと忘れられちゃうから定期的にやるのが大事。とはいえ週1はキツイです。
うまく行かなくても凹まない
死ぬこと以外はかすり傷。誰だって最初はうまくいかない。俺なんか未だにうまくいかないけど大丈夫! 多少コマンドがうまく行かなくても良いように、3分クッキングの要領で「うまくいくとこうなります」も用意しておくといいよ!
楽しくなる仕掛けを用意する
楽しそうなところに人は集まってくるのです。お菓子を用意するでもいいし、ゲーム的な要素を取り込んでもいい。
- 特別なことをしている!
- 参加すると楽しい!
を演出するのも大事。
手を抜けるところは抜く
じゃないと続けられないです。一人でやっている時は特に。セルフサービスでできるとか参加者相互で助け合う仕組みがあるといいと思います。
モチベーション
ありがとう、と言ってもらえることは僕にとって最高のモチベーション。そう言えってもらえる勉強会にしたいと思うことは大事です。 そしてもう一つ、期待しすぎないことも大事。これが分かってないと本気で凹みます。
そして続けた先に
仲間ができるといいね!
ということですかね。
おっさんの戯言かもしれませんが、まぁ、こういうことをやったやつもいるんだなということで。 誰かの一歩を踏み出す背中を押せたらいいなと思っています。Good Luck!
