プログラミングキャンプ2016を開催しました。

先日 Rubyプログラミングキャンプ 2016を開催しました。他にも合宿的な事をやる方の為に内容を紹介します。

はじめに

私(Aki) は 2013年から 神戸.rb (※1) という Rubyコミュニティを主催しています。神戸.rb では現在、平日夜に2週間に1回の頻度で Meetup を開催しています。

そして同じく 2013年に生まれた 西脇.rb 2〜3ヶ月に1回、合同イベントを行ってきました。 Rubyプログラミングキャンプもその合同イベントのひとつで 今年で3年目になります。

プログラミングキャンプとは

西脇.rb&神戸.rb では この3年間毎年 Rubyプログラミングキャンプ(開発合宿)を開催しています。たまたまではありますが、毎回兵庫県三木市にあるエオの森を利用させていただいてます。(そろそろ違うところを探そうかな? 合宿所の紹介や誘致お待ちしております♪)

IMG_8830.jpg
photo by Aki

プログラミングキャンプといってもみんなで1つのものを開発するための合宿ではな(もちろん一緒にやってもOK)く、参加者各自が2日間かけてやりたいことをやり、最後にみんなの前で成果発表するという「ロングもくもく会」です。

神戸.rb は前述のとおり隔週平日に Meetup を開催していますが、その長い時間版ですね。興味が近いメンバーと一緒に開発したり、困っている事を周囲の参加者に相談したりしてそれぞれの開発を進めていきます。

過去のプログラミングキャンプの様子は伊藤さんのブログを参照 :)

前回のふりかえりから構成を微修正

西脇.rb&神戸.rb では毎回イベントを行うと運営に関わったメンバでふりかえりを行います (今回で言うと 西脇.rb の伊藤さんと 神戸.rb の Aki の二人ですね)。

毎回、イベント参加者のみなさんに感想やフィードバックをお願いしているのでそれらを見ながら改善できそうな事や、次に試してみたい事などを話し合ったりします。

去年のプログラミングキャンプではみなさんからのフィードバックにこんなテーマがありました。

もくもくしすぎて、他の人とコミュニケーションが取れなかった

なるほど ! シーンと静まり返ったりすると話し出しにくかったりしますしね。 よくよく考えたら去年は主催者なのに体調不良でドタキャンしてしまったので(※2)去年の様子を詳細には知らないのですが、一年目もそうだったかも !? まぁでも状況としてはよくありますよね。もくもくしすぎる事自体悪い事でもなんでもないんですが、"せっかくならもうちょっとコミュニケーション取れれば良かったな" くらいの温度感でしょうか。あとで人の発表を聞いたりしてもうちょっともくもく中にお話ししたりしたかったな。っていうのはよくある事なので、そういう事をしやすい状況とか雰囲気を作りたいな。と思いました。

というわけで 西脇.rb の伊藤さんと色々話しをして次のアクティビティを追加してみる事にしました。

  • 現地到着後、マグネットテーブルというアクティビティでお互いのテーマや関心事を表明。話し合って磁石がお互いに引き合うようにチーミングを自ら行い、そのチーム(今回は1チーム4人で3つチーム)で開発を進める。
  • 2日目朝、1日目に作ったチームを跨ぐようにグループ分けして(知識構成ジグソー法のようにクロストークを期待して)、そのグループをベースに周囲を散歩。(せっかく緑の多い立地だし、どこの会議室でやってても同じような事ばっかりやってても変化がないので思いつきで入れてみました)

今回の大まかなスケジュールは下記のとおり。

1日目

  • 興味や関心事を知った上で自らチーム作り (new!)
  • プログラミングクイズでウォーミングアップ
  • もくもく
  • 昼食
  • もくもく
  • 夕食
  • チーム毎に状況共有 (update)

2日目

  • みんなで森をウォーキング (new!)
  • もくもく
  • BBQ
  • もくもく
  • 成果発表 !

1日目

興味や関心事を知った上で自らチーム作りをする

キャンプ場の研修ルームに到着後、前述のとおりマグネットテーブルというアクティビティをやってみました。

これはお互いのテーマや関心事を表明し、話し合って磁石がお互いに引き合うようにチーミングを自ら行うものです。かならずしも同じテーマや関心事でチーム分けするというものではなくて、この人と一緒にいるとなにか化学変化が起きそうだなぁとか。バラバラのテーマだから1つのチームになって補完し合おう。とか思い思いにチームを作ってもらうというのが狙いです。

リンク先にもありますが、必要なものは

  • 大きめの紙 (A4でもいいんですが、A3とか画用紙がオススメ)
  • 太字のペン (こういうのはプロッキーとかの太字のペンで書く)
  • 人が自由に歩けるスペース

だけです。お手軽ですよね !?

IMG_8832.jpg

IMG_8840.jpg
photo by Aki

その後はチームごとに壁に貼り付けておきました。

IMG_7123.JPG
photo by 伊藤

今回は1チーム4人で3つチームに分かれてもくもくを進める事にしました。1年目も2年目もプロジェクタを取り囲むように大きな輪を作ってテーブル配置していたのですが、今回はより距離感が近くなるようにテーブル配置も変えています。

IMG_8844.jpg

IMG_8856.jpg
photo by Aki

プログラミングクイズでウォーミングアップ

その後は伊藤さんによるプログラミングクイズでウォーミングアップをやって、もくもくに以降。キャンプ前の情報今日には youRoom を使っていましたが、当日は計画的に gitter に移行。スレッドがそれぞれで流れるよりは 1 line の flow の方が見やすいので gitter でタイムラインを共有するようにしました。 貼り付けたコードも見やすいので便利です。

IMG_8856.jpg

IMG_8856.jpg gitter の様子

夕食はビュッフェ形式

夕食は施設内のレストランでビュッフェ形式でした。 チョコフォンデュがあって、この日体育館で合宿してたちびっこ剣道少年少女達が “めっちゃ"はしゃいでいたのが印象的。

IMG_8860.jpg
photo by Aki

チームごとに状況共有

IMG_7142.JPG
photo by 伊藤

今までは全員で中間発表会的な事をしていたのですが、あまりにも時間がかかるのと、発言する人が固定されて来たりフィードバックが少なくなったりするので、チームごとの共有に変更してみました。やっぱり 5 ± 2 人くらいがちょうどいいサイズですね。

2日目

みんなで森をウォーキング

2日目朝は "みんなで森をウォーキング!!” 企画です。 今回宿泊しているのはエオの森。森というくらいなので本当に森があります。というか馬事があるような場所なので敷地面積は結構広いです。本気でウォーキングすると一周30Km くらい。一年目は馬術競技大会とかと日程が被っていたので外を歩くと馬がアチコチを走っている状態だったのですが、今年はお馬さんは厩舎で休んでいました。

追加料金で体験乗馬もやってるので、興味がある方はやってみてください。一年目に乗らせてもらったんですが、めっちゃ楽しかったです。馬によっても個性があってこの子(馬)はこういう性格だから、元気な良さそうなキミ(人)が乗ろうか ! みたいな事をインストラクターの人が言っていたのが印象的だった。

森では馬が優先されるルール。
IMG_8876.jpg
photo by Aki
「あっキノコ生えてる!!」とか他愛もない会話をしながら歩く。 IMG_8874.jpg
photo by Aki
いきなり走り出す人。自然は人を童心に還す。自然は偉大。 IMG_8877.jpg
photo by Aki
ogi_20161003_81150.jpg
photo by 荻

BBQ

2日目のお昼は BBQ! 施設内のバーベキュー場を借りて季節としてはギリギリのバーベキューを敢行しました !

食材の手配や準備は たなみかさんにお願いしました。いつもありがとうございます !! (たなみかさんは合宿メンバ田中さんの奥さんでもあり 『プログラミング未経験の女性向け体験イベントRailsGirls Kobe 』のオーガナイザーでもあります。こういうイベントにすごく理解のある方 )。ちょっと宣伝を挟んでしまいますが たなみかさんがオーガナイザーを務める RailsGirls Kobe では参加者やコーチ、スポンサーなど協力者を募集しています。興味のある方はぜひお問合せください !! 神戸.rb も RailsGirls Kobe を応援しています !

images/2016-10-09/Rails_Girls_Kobe_2nd.png

今年も少なすぎず多すぎずのちょうどいい量を手配してもらいました。ありがとうございます !! これもふりかえりの成果ですねw (バーベキューの食材量についても毎年ふりかえりしている)

IMG_8923.jpg
photo by Aki

IMG_8903.jpg
photo by Aki
tanaka_DSC01449.JPG
photo by 田中

成果発表 !

そしてラストスパートのもくもく時間を経た後にいよいよ成果発表です。「なんの成果も得られませんでした!!」とならないように頑張った結果を 5分/人 で発表します。

CarrierWave という gem のバグを直してPull Request 送る人 (@t-oginogin さん、マージおめでとう!! )や Jupiter Ruby版kernel iRuby を自分の研究結果アプリと連携させる某研究機関の人とか、graph db Neo4j でサンプルアプリ作ってみたりとか、Rubyの基礎体力づくりの為に 言語処理100本ノック 2015 をやる人とか様々で面白かったです。

自分の作業に集中しつつ、それぞの取り組みや考え方、問題解決手法などを共有できるのはやっぱりありがたいなぁと思いました。ペアプロよりはもうちょっと濃度の薄い交わり方。といったら伝わりますかね?

IMG_8942.jpg
photo by Aki

IMG_8946.jpg
photo by Aki

以前 神戸.rb で Remote Workersの会 というリモートで働いている人(会社・所属はバラバラ)が月一回集まって作業するみたいな集まりをやってたんですが、そこでやってた “co-working” みたいな感覚がありました。

images/2016-10-09/5186BEA5EB5E750AC2DB459624ABCCA4.jpg

プログラミングキャンプ も3年目。今回のふりかえりはまだやってませんが、フィードバックやふりかえりの内容を受けて次回もどんな事ができるか楽しみです。

これがみなさんの ( 合宿 | プログラミングキャンプ | コミュニティ活動 ) の参考になれば幸いです。

Happy Hacking !!


※1 当時は東灘.rbという名称で後に名称変更リファクタリングしました。

※2 その時も、つつがなくイベント運営は行われていて西脇.rb伊藤さんの情報まとめ能力と神戸.rbメンバの対応能力の高さを実感した。

※3 合宿メンバの田中さんの奥さん。RailsGirls Kobe のオーガナイザーでもある。