Nulabでは、メンバー主導による社内勉強会が定期・不定期に開催されています。ここでは、Nulab社内の雰囲気を少しでも感じとってもらえるよう、社内勉強会の様子をお届けします。
社内勉強会の歴史
まず、昔行ってた勉強会や今現在も行われてる勉強会を簡単に紹介します。基本的にこれらの勉強会は、やりたいと手をあげた人が主催で行う流れとなっています。
開催期間 | 勉強会名 |
2009/07~2009/12 | レビュー勉強会 |
2012/12~2013/07 | 継続的デリバリー読書会 |
2014/12~ | Nulab Tech Discussion |
2015/03~ | Scala勉強会 |
2015/08~ | データマイニング勉強会 |
継続的デリバリー読書会での発表資料の一部をお見せします(とは言っても、発表資料自体は本の内容をかいつまんでピックアップしただけで、これをもとに口頭でディスカッションした経験の方がためになったのですが、雰囲気の一部でもつかみとってもらえれば)。また、この読書会や業務を通じて得た知見が、@ITでのDevOps時代の開発者のための構成管理入門という連載記事にもつながりました。
もちろん、上記で取り上げた以外でも、各種勉強会やノウハウ共有は適宜行っています。ユニークな勉強会の一つに、台湾人エンジニアによる中国語勉強会といったものも開催されました。
Nulab Tech Discussion – ゆるゆるとした雰囲気で雑談形式のディスカッション
次に、先ほど取り上げた中の一つである、”Nulab Tech Discussion”という勉強会について紹介します。
勉強会の主催は私が行っていますが、勉強会に込めた思惑は「技術的な雑談をする時間を設けて、一体感を育みつつ会社のカルチャーを共有したい」というものです。
ヌーラボでは、日本国内だけでも福岡本社・東京・京都支店と3つに分かれており、海外にも支社があります。サービスもBacklog/Cacoo/Typetalkと分かれているため、携わっているサービスが異なるとどうしても必要最低限の接点に閉じてしまいがちです。その上、最近は新入社員が毎月のように入社していることから、少しでもメンバーの一体感を出して会社のカルチャー的なところを共有したいと考えて、この勉強会を主催しています。
Tech Discussionは、下記のようなフローで行っています。
- 個々人が興味を持った内容を、チャット(Typetalk)上に気ままに投稿
- 投稿されたネタを、主催者が拾い上げていく
- 週一金曜日夕方に常時接続のビデオ会議の前に集まって、ピックアップされたネタについてゆるゆるディスカッション
- (社員がイベントに参加したときや登壇した際は、適宜イベント内容の共有)
- (社外の知人・友人が遊びにきた際は、その方も交えてディスカッション)
Tech Discussionは、チャットメッセージだけだと流れがちだった内容を、もう一度読み直せるいい機会となっています。ふと目に入って気になった「あとで読む」タグをつけておいたソーシャルブックマークも、きっかけがないと読み直さないですよね。あれと一緒です。
以下に、Tech Discussionで取り上げたトピックの一部を載せておきます。
- Trix : A rich text editor for everyday writing
- A preview of what’s new in Basecamp 3
- What is server less architecture?
- Critical CSS
この形式では、参加者の参加コストはほとんどかかりません。主催者の私は、投稿された内容の整理に少しだけ時間がかかりますが、下記のようにピックアップ・整形処理を一部Pythonスクリプト化して手間を減らしています。メッセージの内容から判断するのは難しいので、URLが含まれているメッセージだけをピックアップしています。
typetalkToken = 'XXXXXXXX' topicId = 'XXXX' queryString = "typetalkToken=%s&count=%d" % (typetalkToken, 100) # Typetalkの投稿一覧を取得 res = requests.get('https://typetalk.in/api/v1/topics/%s?%s' % (topicId, queryString)) posts = res.json()['posts'] for post in posts: message = post['message'].replace('\n', '') createdAt = dateutil.parser.parse(post['createdAt']) name = post['account']['name'] url = 'https://typetalk.in/topics/%s/posts/%s' % (topicId, post['id']) # URLを含んだポスト以外を読み飛ばす if not 'http' in message: continue # 適当に整形して出力 print createdAt print '** %s' % message.encode('utf-8') print '- %s : %s\n' % (name, url)
勉強会を主催するときに私が心がけていること
性格上、社内勉強会を任される・望んで主催することも多いのですが、そういった活動を通じて学んできたことを紹介します。
- 参加者のハードルを下げる
- 主催者があまり背負い込み過ぎない
- イベント参加の共有情報は積極的にしてもらう
参加者の数は、主催者のモチベーションに大きく関わってきます。ですので、より多くのメンバーに参加してもらうためには、参加者のハードルを下げることが大事なことだと考えています。最初に主催した継続的デリバリー読書会では、参加者にも事前準備を促していたので、参加のハードルが少し高くなっていました。その反省を踏まえて、Nulab Tech Discussionでは、業務時間に行いつつ、事前準備無しでも参加可能・いつでも退出可能という形式にしています。また、花金ということもあってアルコールを飲みながらの参加もOKとして、よりくだけた雰囲気で開催できるようにしています?(もちろん、アルコールの許可は会社からとってますよ)。
一方で、継続して開催していくために、主催者があまり背負い込み過ぎないというのも、大事なことだと感じています。継続して開催されていると、何か面白そうだからたまには出てみようかという参加者もいるかもしれません。継続開催のモチベーションを高めるために、時には自分の興味を優先して勉強会のトピックを選択することもありでしょう。また、主催者の意識としては「自分がトピックの振り返りもできて、さらに他に参加者が来てくれれば儲けもの」程度で気楽に考えておくといいでしょう。
最後に、私のこだわりポイントなのですが、メンバーが各種イベントへ参加したときは、そのイベント内容や感想をフィードバックしてもらっています。わざわざイベントに参加するくらいだから、そのイベントに対して何かしら思うことがあるはずです。イベントへの感想から、その人の興味や人となりを知るいいチャンスだと考えています。
ヌーラボでは、社内でワイワイ技術トークしたい!というエンジニアを募集しています。