宇宙の彼方のフリップフロップ

最近あったイベントや趣味について綴るブログ。

Ruby合宿2018夏に参加した話

どうも、SIVAです。

この夏にRuby合宿という4泊5日で泊まり込みでRubyで開発をするというイベントに参加したので、 概要や、自分が感じたことを書いていきたいと思います!

Ruby合宿とは

まず、今回参加させていただいたRuby合宿について簡単に説明すると

  • 島根県が開催しており、株式会社イーストバック様に運営委託して運営されている
  • 応募すればだれでも参加可能(プログラミング経験なくても全然OK!)
  • Rubyの生みの親であるまつもとゆきひろさん(Matz)に生で会えて講演が聞ける!←ココ重要!
  • 様々なバックグラウンドの人が参加している

こんな感じです。 興味をもった方は、是非ホームページの方を見てみてください! 参加方法や、過去の活動のブログなど載ってます。

RubyCamp公式サイト

スペック

参考程度に、参加したときのスペックを書いておきます。

  • 大学2回生の情報系の学科
  • 普段はC言語で組み込み系のプログラミングをしている
  • Rubyは全く触ったことがない
  • 好きなエディタはemacs

こんな感じ。

参加者全体のレベルはまちまちで、プログラミングをしたことがない人から ガッチガチのガチプロまでいます。

部活の先輩が過去に参加していて、あれ良いからよかったら参加してみて~と布教されたのが原因でこのイベントのことを知る。 応募した動機はRubyを学ぶいいきっかけになると思ったのと(多分これ逃したら絶対自分でやらないと思った)、 技術系のことをあたりあえるフレンズが欲しかった(切実)。

活動内容

概要

今回のお題は5人グループで2人以上の対戦ゲームを作れ、とのこと。 ここのグループ分けは事前に提出することになっているアンケートの内容から運営が決めているぽい。 自分の班は、Ruby経験者2人、プログラミング経験者2人、ほぼ初心者1人みたいな感じ。 どこの班も見た感じ多少は差があるけど同じような構成だったので、班は運営に安心して任せていいと思う。

今回はDXRubyというライブラリを使ってゲームを作るということだったので、OSはWindowsに限定されていた。持ってない人は運営からパソコンを借りれるので事前にある程度プログラミングしたいとかじゃなければ現地で借りればいいかなと思った。実際半数かそれ以上の人がパソコンを借りていたのでちょっと驚いた。

スケジュール

一日目(初日)

まつもとゆきひろさんの講演と合宿のオリエンテーション、自己紹介って感じ。参加者の個性強すぎて自分の平凡さに悲しくなったので、個性を出すためにメカニカルキーボードをずっと持ち歩いてた(アホ)。

Matz氏の講演はRubyはここがこういう風に書けてすごいぞ~みたいな講演を予想していたら、もっと抽象的な問題の解決方法とかそもそもプログラミングをする理由とかそんなので、Rubyに限定されない今後この業界で生きていく中で活かしていけるような素晴らしい講演でMatzやべえ...とか思ったりした。初日にして参加してよかった...と思った。

あと、初日にしてこの合宿最大の事件が夜起きた。 同じ班に配属されたガチプロに、(メカニカルキーボードの)軸見ていい?って聞かれて何言ってんだこいつ...とか思いながらOK出したらEscキーもってかれた。班員全員固まってた。この事件のおかげで班員が初日で打ち解けられたのでまあ結果としては良かったのかな... あと延々とキーボードの軸の話されて自作キーボードに興味出た。

二日目

グループ活動開始。まず午前中にゲーム作成のコンセプトとチーム名、大きくどのようなゲームを作るかの案だしをして午後からチームで仕事分けして早速作業を始めた。チーム名はなかなか決まらなくて苦労した。

今思えばこの時にいつまでにここを絶対終わらせるっていう期限を決めとけばよかったなと思うので、是非次回以降の参加者のみなさん参考にしてください。最終日に地獄を見ます。

夜は地元の企業の方たちが来られて簡単に自己紹介と質問タイムがあった。自分は島根出身ではないので島根県事情は知らなかったが、島根県ソフトウェア産業がとても強いらしく、なかなか楽しく交流会を過ごせた。

何故かボディソーはあるのにシャンプーはなくて、完全にはめられたので近く()のコンビニに遠征してシャンプーを買った。一応一日に外に出れる機会はあるのでその時間を大切にしましょう。

三日目

続き。スケジュールは二日目と全く同じで進捗を生む日。部屋割りはほぼ班別だったがうちの部屋だけ男が少なかったので二班で使った。人が単純に多くてにぎやかに夜を過ごせたのは楽しくてよかったなと思う。ちなみに部屋でも一応Wi-Fiは使えることになってるので部屋でも作業できる(はずだった)。ネットなくてもコーディングくらいならできるので、回線の不調にめげずにここでいかに進捗を出すかは大事(大事)。

この辺で実装したいもののRubyでの記述がわからなくて実装するのに時間かかることが増えて時間だけが過ぎていった。悲しい。わからないことは、できる人やアドバイザーとして来てくださっている方々にさっさと相談するのが正解だなと思った。

四日目

この日は最後の作業日。夜も交流会などはなくてひたすら作業。バグをつぶしたりそれぞれ分けて作業をしていた部分の統合でなかなか時間がかかるので思ったより作業が進まなかった。この辺のことは一度経験しないとわからないので、本当にいい経験になったと思う。

休憩でアイス食べに行った。おいしかった。でも何故かこうなった。なぜなのか...

案の定活動時間内に終わらなかったので部屋に帰ってから、作業開始。ここからは本当に時間との勝負で、最終日のプレゼン内容とゲームのクオリティを少しでも上げれるように頑張った。ときどき意識が吹き飛ぶので班員にたたき起こすように頼んでおくのが吉。 この辺で深夜テンションに突入し、案がどんどんでてきて何故かタスクが増えてくるのでまともな思考を持った人を一人は班内に配置してほしかったと思った。なんだかんだでこの日の作業が一番楽しかった。

五日目(最終日)

発表の日。満を持して迎える予定だった朝。まだゲームが完成してない。発表までの間に死ぬ気で完成させた。なんとかバグもなく本番実演することができてほんとによかった。自分たちで何かを考えて一から作るのは初めてだったので発表も本当に楽しかった。ほかの班の発表も聞くのがとてもおもしろく、同じお題から全く違うゲームができていたのであー、そういうのもありか~とか考えながら見てとても楽しめた。

発表会後、企業の方やアドバイザーの方と一緒に懇談会というなのパーティーをした。まだ話したことなかった参加者とも交流を深めることができておいしくサンドウィッチを食べられた。あと、名刺の交換もしたりしたので、参加予定の人は名刺を作って持っていきましょう。すごい方との繋がりを作れるのもRuby合宿のいいところですね。

最後は企業にお邪魔した。 実際の職場に入ることができる機会は少ないので貴重な体験でした。いろんな人の作業環境をジロジロ見てましたが、外出先でも作業できるようにノートPCを使っている人が多かったというかほとんどだった。Matz氏もThinkPad使いで、どこもThinkPadが多かった気がした。

最後はそのまま松江駅で解散して、各々帰路についていきました。自分は同じ班のガチプロと途中まで一緒に帰ってラーメンキメて帰宅しました。調子乗って野菜マシにしたら吐きそうになりました。

活動を終えて

班内で連絡を取るときはSlackというコミュニケーションツールを使用しました。これは、話すことをチャンネルごとに変えてわかりやすく話すこともできるし、ちょっとした資料の共有とかもさらっとできるのでこいつのおかげで本当にスムーズに作業できたと思う。

あと、プロジェクトはGitHubを用いて共有しました。自分もGitやGitHubを使うのは初めてで班の経験者にはほんとうにお世話になりました。 いざ使ってみると本当に便利で今後自分でも使っていこうと思った。

この五日間で、様々なバックグラウンドの人の話をきけていろいろ刺激を受けれたのもよかった。自分のような高校からストーレートに大学行くのが正義、みたいな環境で育った身としてはいろんな寄り道してる人を見てそういうのもいいなぁと思った。あとはその辺の大学生より専門に行ってる人のほうが技術力は全然あったりするので、そういう面でも頑張ろうといういいモチベーションになった。

ちょっとでもRuby合宿に興味を持ってくれた人は他の参加者の人たちもブログを書いてたりするので是非参考にしてみてください。

自分は興味が出たならぜひ参加することをオススメします。

このイベントで得られたものをしっかりと生かせるように精進していきたいですね。