Inside BuildIt

株式会社ビルディットのデザイナー・エンジニアによるブログです

うまくいく、社内勉強会のコツ(機械学習勉強会やってます)

広報の大木です(@makiziii6)。最近同じ業界の方とお話する中で、勉強会のような有志で運営する活動をどう盛り上げ、継続していくかという話題になりました。   

そこで改めて自社を振り返ると、社内勉強会・自己研鑽は制度として運用しているものもあり、そのほか任意のものについても概ねうまくいっているように思われます。そのことについてまとめてみることにしました。  

f:id:miyakmakij:20201008162058j:plain

左:講師そうちゃん 中央:エンジニア佐野 (右のメンバーは今回登場しません)

「継続」が難しい社内勉強会  

IT業界はとくに社内勉強会をやっている企業が多い業界だと思いますが、前述のように一度始めた勉強会を「一定以上の熱量を保ち」「継続的に」「ネタ切れせずに」運用していくことに課題感があるという声をよく聞きます。    

よく耳にする勉強会運営の課題点を上げると…  


 - 何度かやるとテーマが上がりづらく(枯渇)してしまう  
 - 講師役が固定化してしまう、参加者側は受動的になりがち  
 - 勉強会を続ける意義が弱まってくる  
 - 参加する人・しない人が決まってくる  

私たちビルディットは、理念である「人が学び続け成長につながる世界の実現」を体現すべく、まず私たち自身がそれぞれの学びのテーマと機会を自発的につくることを心がけ、学びの機会作りを仕組みで整備しています。  

「仕組み」の一つ目は毎日1時間の自己研鑽タイムで、就業時間の1日1時間を自己研鑽タイムとする規程があります。  
二つ目は社内の勉強会。勉強会も各種あり、エンジニアやデザイナーの職種別のものや、2名など少数でやる読書会など並行的に実施されています。今回はそのうちの「機械学習勉強会」を例にあげます。  

ちなみに、前述のよくある課題について弊社では…  

 

 - 機械学習テーマのみで、ほぼ毎週・現時点で20回近く継続中  
 - 講師役は1人だが、参加者のアウトプットの場面もある設定  
 - アウトプットとの連動で実務性が高い  
 - 参加者の満足度が高い   

 こんな成果がでていて、うまくいっているのではと思っています。  
勉強会を盛り上げたいどなたかの課題解決の糸口に少しでもなれたら幸いです。  

今回の例: 機械学習勉強会のはじまり  

弊社にはいくつも勉強会がありますが、この機械学習勉強会のケースについて企画のきっかけからご紹介します。  

 

【講師:そうちゃん先生の紹介】  
電気通信大学在学中からビルディットにアルバイトとして参画。  
ビルディットでは、HR Tech系SaaSの「Core」の開発に初動からMLエンジニアとして関わっている。  
今年大学院を卒業、今年度留学予定だったが新型コロナの影響で延期中😢  

講師のそうちゃんと、参加者の1人でエンジニアの佐野に話を聞きました。  
 

 ━━ 機械学習勉強会を始めることになったきっかけは?  

そうちゃん:機械学習を使った開発で自分だけしかやっていない業務があったので、それを他のメンバーもできる方が良いよね、というのを勉強会の話が出る以前から代表の富田さんから言われていて。  
ビルディットは夕方18:00の終礼後に自己研鑽タイムをやる文化があり、その時間に別なエンジニア勉強会をやっていたので、その枠で機械学習に特化した勉強会をやってもらえないかと今年の5月くらいに正式に話をもらいました。  

  

 ━━ もともとの目的は実務の体制を強化するため?  

佐野:そうです。機械学習の技術を使った開発は主にそうちゃんがやっていて、そうちゃんが作ったアプリケーションを自分たちソフトウェアエンジニアが別のアプリケーションへの組み込みをしたりと協業でやっているのですが、自分たちもこのアプリによってどんな結果が得られるかなど正確に理解できた方がより良いプロダクトを作れそうだよね、という話をしていました。  

そうちゃん:ソフトウェアエンジニアにとっては必須の知識ではないと思いますが、共通の認識が増えることで開発がよりスムーズになるとかもありますよね。  

★コツ1、実務上でのメリットをはっきりさせる。 

  

f:id:miyakmakij:20201009145214p:plain 

 勉強会準備はどのくらいやっている?    

 ━━ 勉強会のカリキュラムは計画を立てた?  

そうちゃん:はじめに富田さんと相談した段階では、5回は必ずやろうと決めていました。  
初回から5回までのカリキュラムは最初にかなりきっちりと決めていて、内容としては本(Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ)と、スタンフォード大学の機械学習の授業カリキュラムの内容、その2つのハイブリッド版です。  
その後は皆さんの要望や興味で決めようと思っていました。    

佐野:5月から勉強会を始めて、9月現時点まででちょうど20回やってますね。  
座学回と実践回があるのも特徴だと思います。  
実践回は初回の5回を終えてからやり始めたんですが、参加者が個人開発や実務での工程を見せながら詰まったところを中心に詳しく説明してもらう回です。  
20回の勉強会の中で、今のところ座学が16回、実践が4回ですね。  

  

 ━━ 資料の準備はどんなふうに、どれくらい時間をかけてやっている?  

そうちゃん:これも手始めにしっかり相談しました。勉強会自体が1時間、準備に2時間と決めています。  
初回5回分は事前に準備しておいて、それ以降は当日のお昼過ぎから2時間使って準備しています。 たとえば、こんな資料をつくって準備しています。 

 

 ━━ 2時間で間に合いますか?結構大変そう…  

そうちゃん:予想したよりもちょっと大変でした笑。でもあまり手間をかけないように、見せるスライドは本当に最小限にするとか工夫しています。スライドというよりメモ書きです。  
メモ書きを見せながら言葉でざっと説明して、あとはコードを見ながら説明しつつ、質問をもらってより深く説明する、という流れです。  

佐野:そうちゃんはまとめ方や説明の仕方めちゃくちゃうまいんですよ。  
最小限の準備とは思えないくらいの内容で、しっかり理解深められてます。    

★コツ2、勉強会を始める前に、数回分の内容と準備にかける工数はしっかり決める。  

実践回の効能  

 ━━ 実践回についてもうちょっと詳しく教えてください  

そうちゃん:当初は座学回中心でやっていましたが、最近は座学回と実践回を交互にやったり、1時間の中で前半座学、後半実践に伴う質問タイムとやったりしています。  

実践回では参加メンバーがテーマを持ち寄ってくれます。座学だけでは伝えきれないところを、実際にコードを書いてみてうまくいかなかった事例を解説して、より深い説明ができたことが何度かありました。  

反応がしっかり返ってきて、どの部分で補足が必要なのか、直感的に伝わらない内容なのかを感覚的に掴めるようになったし、説明の仕方を考えることも自分にとってメリットです。    

佐野:何を聞いても回答を返してくれるのもそうちゃんの凄いところですね。  

技術的にはっきりしていないところでも、はっきりしてないけど自分の理解はこうです、ときっちり説明してくれるところに専門者の凄みを感じます。  

毎回簡単に勉強会のログを残しているんですが、実践回のログは参考までにこんな感じ(下記)で、仕事での実践に限らず、むしろ趣味の開発に使った事例が多かったりします。  


機械学習勉強会_実践回のメモから


今日は、それぞれの機械学習に関連するなにかを持ち寄って、そうちゃん先生からコメント&アドバイスをもらう会です。機械学習の実践会です。
事例は、ゲームに関係した解析、プロジェクトのデータ解析をもとにしたものがありました。

Kさんからのゲームの対戦のデータの二分木解析。ゲームの内容はさっぱりです🙄(40分以内にタワーを壊すとか壊さないとか?)が、対戦データをAPIで取得できるというのおもしろかったです。勝てる条件知りたいです。

もらったアドバイスは、いずれも納得するものばかり。専門家から身近で直接コメントもらえてとても良い時間でした。そうちゃんから、講義の時に話せば良かった・・とのコメントもありました。でも、これは、各自が手を使って実際に解析し壁に直面してから聞くことでこそ身につくことだと思います。今日聞けたことがとても良かったです。

個人的には、サンプルの偏りの補正(アンダーサンプリング、オーバーサンプリング)や情報の縮約(前半、中盤、後半のカテゴリ化)が印象に残りました。

★コツ3、座学回と実践回、インプットとアウトプットを交互にやっていく。  

質問で勉強会は盛り上がる    

 ━━ 質問が活発なことや、質問への回答が納得感が高いことなどがモチベーションの維持に繋がっていそうですね。  

そうちゃん:そう思います。質問はかなり多くて、座学会でも時間の半分が質問ということもあります。1時間全部講義で使い切ることはまずないし、質問と関連した雑談ですぐに時間がきてしまって時間が余ることがないです。それが講師役としては本当に楽しいですよ。  

佐野:単純に興味本位でいろいろ聞きたくなったり、理解が追いつかなくてもう一度説明してもらったり、自分で組み込むためにより理解を深めたくて質問しまくったり、実務で詰まった話を聞いてもらって原因を考えたり、質問の種類も広いんですよね。  
もともとは座学中心の勉強会を想定していましたが、やりながら実践回も入れていこうという話になりましたね。  

そうちゃん:講義で「こういう落とし穴があるから気をつけましょう」と説明したところを、その後、参加者のAさんが仕事でまさにその落とし穴に落ちてくれた(笑)ことがあって、その部分をより深くなんでこれがダメなのかという部分まで深堀して説明できてよかった、ということがありました。  

佐野:参加者側としては、実践して、ハマったところをピンポイントで相談できるというのがとても良いですね。  
勉強って講義を聞くだけではなかなか理解が深まらないですし、講義を聞いて、やってみて、質問する、の流れが仕組みになっているのがありがたいです。  

★コツ4、参加者は質問する、講師は質問も含めて内容の見立てをする。  

  

f:id:miyakmakij:20201009145330p:plain

勉強会の目的  

 ━━ 改めて、勉強会とはどんなことを目的にしていますか?  

そうちゃん:初めに富田さんとも話していて私が意識しているのは「何かできるようになる」ことですね。それも会社の利益になるようなことでできることです。  
ソフトウェアエンジニアにとって機械学習の専門的な技術は必ずしも必要なものではないですし、知識をしっかり身につけることよりも、手を動かして何かできるようになることが大事だと思っています。  

佐野:まだまだそうちゃんと同じように機械学習のコードを書けるわけではないんですが、まず機械学習の技術で使う単語や用語などがしっかり理解できることで共通認識が増やせることは大事だと捉えていて、実務的にも大きくプラスです。  

そうちゃんが実装している意図が分かることでまず自分たちの協業におけるコミュニケーションがスムーズになり連携しやすくなるメリットが生まれて、それを実装して開発する自分の納得感も高まりますし、お客さんへの説明の精度も高まることでお客さんの納得感も高まると思っています。    

★コツ5、成果を認識する。   

講師役のススメ  

 ━━ 講師をやっていいことありましたか?  

そうちゃん:たくさんあります(笑)  

まず一つはエンジニアとしての技術面で、自分が書いた機械学習のコードを動いているサービスを佐野さんたちソフトウェアエンジニアと組み込む中で、自分の知らなかった今時の技術を学ぶことができます。  

もう一つは研究者としての視点と、ちゃんと動くものを作る実務者としての視点の違いとか、そのバランスをどこに置くべきかという感覚を磨けていることです。  

最新の技術は人に説明するのがとても難しい。そのようなものを実際のプロダクトに使うことは良い選択ではなくて、技術を何年分か巻き戻しても、分かりやすいものを使ったほうがいいんですよね。

新しい技術のほうが性能は良いですが、結果が少しの差なら、多少劣ったとしても分かりやすいものを選択するべき。佐野さんや、参加者の方から、サービスへの実装に関連する質問やフィードバックを受けているなかで、そのバランス感覚が身に付けられます。  

研究もすごく好きだし新しい技術を使いたいんですけど。講師をやって、参加者の方からさまざまな意見をいただいていくうちに、それよりももっと「ちゃんと動くサービスを作る」ことに執着するサービス開発の意識も強まったと思います。  
何よりベースは「動くものを作ること」が大事だと思っています。  

★コツ6、講師役もGiveするだけでなく、Takeを感じられる環境を。  

  

 ━━ そうちゃん、佐野さん、お話きかせていただき、ありがとうございました !!

 

インプットよりアウトプット 

2人のお話から、ビルディットでの勉強会継続のポイントを6つ見つけました。  

 

★コツ1、実務上でのメリットをはっきりさせる。  
★コツ2、勉強会を始める前に、数回分の内容と準備にかける工数はしっかり決める。  
★コツ3、座学回と実践回、インプットとアウトプットを交互にやっていく。  
★コツ4、参加者は質問する、講師役は質問も含めて内容の見立てをする。  
★コツ5、成果を認識する。  
★コツ6、講師役もGiveするだけでなく、Takeを感じられる環境を。  

これと関連して、今年度のビルディットにはこんな行動指針があります。  

「顧問アドバイザーをフル活用しよう、質問攻めにしよう、環境を活用しよう」  
「社内・外部の勉強会などで発言・発表・挙手をしよう」  
「地図を広げ、自分なりの登る山を定義しよう」  

という項目です。  

この言葉には、専門的な知識を持っている人がすぐ近くにいる環境を利用して、新しい知識の習得や技術のブラッシュアップに貪欲になること、得た知識をしっかり活用できるようにするために発信すること、受動的にならずに習得する知識を自ら選び取ろう、そのような意図があり、勉強会の企画や成果のベースにもなっているように思いました。  

アウトプットの仕組みは社内勉強会の他にもあり、それがここ2年ほど毎月定期的に開催している「ゆるはち.it」という、社外からもご参加いただけるIT勉強会です。  

もとは小さめな会場で定員30名ほど、現在はオンラインで、ウェビナーではなくコミュニティ型で定員20名ほどでゆるく開催している勉強会で、社内外問わず気楽に発表できる場にするというコンセプトで運営しています。  

「インプットよりアウトプット」はよく聞かれる言葉ではありますが、もう一歩踏み込んでアウトプットの質をあげることを意識して、社内勉強会や身近な勉強会イベントで、質問する、自分の考えを発言する、発表する、講師をする、などできることからチャレンジしてみてはいかがでしょうか。  

  

ビルディットは「一人ひとりの成長が、世界をより良くする。」を理念に掲げ、教育・育成事業のプロダクト開発に取り組んでいます。

bldt.jp

 

気軽な発表の場として、「ゆるはち.it」にご参加お待ちしています!

yuruhachi-it.connpass.com