リモート開発メインのソフトウェア開発企業のエンジニアブログです

社内勉強会が活発になってきた

技術の伝達・展開に課題

弊社は、基本的には全員リモートワークです。プロジェクト毎にオンラインで打ち合わせをしたり、技術的に分からない部分は個別にチャットやビデオチャットをしますが、メンバーから他メンバーに技術を教えたりという部分が若干弱く、技術レベルに大きなばらつきがあるプロジェクトなどがあり、そこを課題として認識していました。

それに対する対策案もいくつかあり、実施して効果が出ているものもありますが、今回はそのうちの1つとして、弊社の社内勉強会への取り組みについて書いていきます。

過去にも何回かやった

実は社内勉強会を行うのは最近始まったことでは無く、以前も何度か実施していたのですが、

  • 準備する手間がかかる
  • そのため、次回やる人の手が上がらない

という問題点があり、最初に何回かやった後は実施していませんでした。

最近2回やったので、その紹介

前述の通り、技術の伝達・展開を促進する1つの施策として、再度勉強会をやってみることにしたのですが、最近2回勉強会をしたのでそれについて紹介します。

オンライン飲み会前、既存のコードをベースに

1つ目は、社内のチャットで issei-m

「○○(プロジェクト名)の△△(決済サービス)の実装が神ってるので勉強会で題材に出来たら良いなー」

と言っていたので、2回目のオンライン飲み会(※)の前に、ソースコードを見つつ緩く勉強会をすることにしました。

※: 1回目の内容はこちら →オンライン飲み会を開催しました – もばらぶん

外部の勉強会だったりプロジェクトの権限が無い人が入っている勉強会だと、資料を用意して、ソースコードから必要な部分を抜き出して、機密情報やまずい変数名は適当なものに変更して、という面倒な作業が必要ですが、今回はそうした心配も無いので、実際のコードを解説→質疑応答、みたいな感じでやりました。

事前準備があまり要らないのと、終わったらそのまま飲み会に移行できるので、なかなか良かったなと思っています。

「ゼロから作るDeep Learning」の読書会

機械学習・DLは重要視している

2つ目は「ゼロから作るDeep Learning」という本の読書会です。弊社では、機械学習を扱うプロジェクトもいくつかあるのですが、メンバーのレベルに大きなばらつきがあります。

私の意見としては、今後、機械学習の知識は、パソコンを使うのと同じようなリテラシーとして求められていくと予想していますので、メンバーの機械学習やDLに関する知識レベルを上げるのは必須だと考えています。

参加者募集時に少しハードルを上げた

今回は、以下のようなメッセージを社内チャットに投げました。

読書会参加者を募るメッセージ

今回は、あえて以下のように参加者のハードルを上げてみました。

  • 高校レベルの線形代数の理解が前提(※)
  • 書籍購入してからの参加申し込みが必須

※実際には高校レベルの線形代数が分からなくても、大半は理解出来ると思います

理由としては、本当に勉強したいという人だけでまずはこぢんまりと進めたかったからです。なぜかというと、機械学習初心者にどうやって内容を理解させるか、という方法がまだ確立できていないので、最初はグダグダになる可能性もあるため、それでも勉強したいという人でないと飽きてしまうかもしれないためです。

ちなみに、今回参加しなかった人からも

  • 今は別の勉強を優先させたいけど、今後同じ内容があれば参加したい
  • 高校数学が必要というのでちょっと躊躇したのと、参加者が埋まったようなので今回は見送ったが、興味はある

といったようなメッセージをもらったりしたので、今回一通り読み終わったら、メンバーを変えて2周目もやっていきたいと思ってます。

やってみて

初回は、私が(1章を飛ばして)2章を説明しました。実は、私自身は以前別の人達とこの本の読書会をしたことがあり、その時の簡単な資料が残っていたので、準備は不要でした。また、次回の発表者に対しても、あまり準備に時間をかけすぎないように伝えました。

また、私自身は実務でもある程度機械学習に触れているのですが、他のメンバーのうち2名は、ほぼ知識ゼロの状態なので、そういう人達がどういうところを疑問に思うのかが分かって有益でした。

自分たちなりのポイント

まだ2件だけですが、以前よりは継続して社内勉強会を実施できる可能性が高くなったように思います。ポイントをまとめると

  • 参加者に負担をかけすぎないようにする
    • とは言え、資料は一度作っておくと使い回せるので、簡単にでも用意しておくと2回目以降とかが楽かも
  • やる気のある人だけで開始して、内容を洗練させていく
    • 勉強・勉強会に興味ない、という人は殆どいないが、実際に自分から行動する人はそこまで多くない

というところでしょうか。

余談ですが、これを書いていて思い出したんですが、実は私自身、大昔に(内部向けで無く)一般向けの某言語の勉強会を立ち上げたことがあります。その勉強会は現在も続いているので(私は既に運営から離れていますが)、成功した方だと思いますが、一般向けも内部向けも運営のポイントは似ていると感じました。

今後

今回の2つの勉強会は、両方とも私が参加しましたが、ある程度軌道に乗ってきたら、他の人だけでどんどん他の勉強会も進めていって欲しいと思います。

人によって勉強が必要な分野、興味がある分野が異なるので、常時3テーマくらい動いていて、みんながそのうちの1つか2つに参加している、という状況が理想かなと考えています。

また、勉強会をやっていくうちに色々ノウハウが溜まってくると思うので、そういうのもいずれ公開していきたいと思ってます。もちろん、世の中には技術系勉強会の運営ノウハウみたいな記事は沢山ありますが、弊社の場合は社内勉強会と言っても全員リモートだったり、働く時間帯が違ったり、パートタイムの人も結構いたりと特殊事情も色々あるので、我々のケースを書いていくのもそれなりの意義があるのではと思っています。

まとめ

メンバー間の技術伝達を目的として、最近社内勉強会を(再び)やり始めましたので、それを紹介しました。こうした取り組みは継続していかないと効果が上がらないと思いますが、継続するためのポイントも何点か書きました。

今後は、今の勉強会をさらに活発化・洗練させると共に、勉強会のトピックも増やして横の広がりも増やしていきたいと考えています。

← 前の投稿

Option(Scala)の実用的な使い方 − データのマージ処理

次の投稿 →

GUIありのWebスクレイピングを定期実行する

コメントを残す