てくすた

ピクスタ株式会社のエンジニア・デザイナーがつづるよもやまテクニカルブログです

伊東まで1泊2日の開発合宿に行ってきたはなし

はじめまして、2015年10月入社、日々ヒィヒィ言いながらアプリケーションエンジニアをやっています、松村(id:muramurasan)です。
ピクスタの開発部では、1月下旬に有志メンバー6名にて、伊東の山喜旅館まで開発合宿に行ってきました。
今回の記事では、その時の様子を報告させていただきます!

発端

そもそも、何故、開発合宿をすることになったのか?
「開発合宿をしよう!」ということ自体は、どこからともなく声が上がって決まっていました。
が、肝心の目的は、様々な意見が上がり、なかなか決めることができませんでした。
そこで、「あなたが開発合宿に参加する目的は何か?」というアンケートを esa*1 で募ることで、意識合わせを行いました。
その結果、

  • エンジニアとしてのスキルアップをしたい
  • 取り組む内容は自由に選びたい

あたりの声が大きく、これら希望を取り入れた開発合宿を開催する運びになりました。

事前準備

ざっくりと目的を整合した後は、当日の流れや、持っていくもの、最低限のルールを決めました。
事前に取り決めたルールは下記の通りです。

  • ワクワク感が欲しいので、取り組む内容は当日まで内緒にしたい
  • だれないように、お酒の解禁は22時からにしたい
  • だれないように、最終日には成果発表を課したい

現地の伊東駅集合ということだけ決めておき、移動は各自自由としました。
開発のために持ち込んだ機材は、各自のノートPCぐらいで、後は若干のテーブルタップだけ持ち寄りました。Pocket WiFiも念のため持って行ったのですが、後述するように無線環境が快適だったので、旅館では必要ありませんでした。

宿泊先:山喜旅館さんについて

今回、私たちが宿泊先に選んだ山喜旅館さんは、様々なエンジニアブログで取り上げられており、開発合宿の開催地として非常に有名な場所です。

f:id:muramurasan:20160218112617j:plain

参加メンバーから後日あげられた感想を踏まえると、山喜旅館さんが開発合宿に適しているポイントは以下かなと思います。

  • 開発作業を行う上で、ストレスの無い速度の無線環境が提供されている
  • 歴史のある旅館で、非日常感を味わうことができる(集中できる)
  • 温泉にいつでも(夜中でも!)入ることができる
  • 会議室のレンタル(有料)があり、チェックアウト後、そのまま利用することができる
  • 上記すべて考慮して、いわゆるコストパフォーマンスに優れている

f:id:muramurasan:20160218112622j:plain

本ブログを読み、開発合宿に興味を持たれた方は、是非、山喜旅館さんを選択肢に入れてみては如何でしょうか?

www.ito-yamaki.jp

スケジュール

当日は、事前準備で練った通り、以下のような流れで進めました。

1日目

時間 すること その他
15:00 伊東駅集合
15:15 買い出し お酒・食べ物、お金は幹事が払います。
16:00 開発
19:00 夕食
20:00 開発

2日目

時間 すること その他
8:00 朝食
10:00 チェックアウト・会議室に移動
10:10 開発 昼食は臨機応変に
14:00 LT大会
15:00 開発合宿終了 打ち上げ等は個別で

1日目

初日は思い思いの交通手段で伊東駅に集合した後、宿泊先に直行しました。
チェックインをし、荷物を置いて、まずは買い出し*2 に出かけました。

買い出し

山喜旅館さんのサイトの周辺地図にも掲載されていますが、歩いてすぐ近くに豊島屋酒店さん、山六ひものさん があり、お酒とツマミの調達をすることができます。

f:id:muramurasan:20160218112625j:plain

地元の美味しいお酒……豊富な海の幸を活かした珍味の数々……
試食なんかもさせていただいて、もう、気分は酒まっしぐら。
それでも、
「俺たちは開発合宿に来たんだ。事前に取り決めた22時までは飲まない……」
と、みんな欲望をグッと抑えて旅館に戻りました。
ただ、道中、我らが開発部の星( id:watasihasitujidesu )さんが

「この状況で飲まないとかありえなく無いですか?」(真顔)

と言っていたことだけは、ここに報告させてください。

開発

無事、数々の試練に打ち勝って旅館に戻ったピクスタエンジニア勢は、ノンアルコールビール片手にワイワイと開発に打ち込み始めました。
テーブルタップは十分に持参していたので、電源関係で困ることはありませんでした。
また、旅館で用意されている無線環境が想定していた以上に快適で、開発を行う上で困ったことは、リモート開発環境(例:AWSのスポットインスタンス)の有無ぐらいでした。
そして何より畳の部屋なので、実家のような安心感をもって開発に集中することができました。

f:id:muramurasan:20160123204304j:plain

夕食

開発に没頭すると、ついつい食事を忘れてしまうのがエンジニアですが、夕食は専用の宴会場に用意してもらうことができます。
開発合宿プランだからと言って、決して見劣りすることはなく、品数・味ともに大変満足度の高い夕食でした。
おかげさまで、開発のことは一旦忘れ、美味しい食事と会話を楽しむことができました。

f:id:muramurasan:20160218112640j:plain

開発の続き

食事から戻ってもひたすら開発です。
夕食を挟んだおかげか、「そうすれば良かったのか!」と各所から煮詰まっていた部分が解消された声が聞こえてきます。
22時には予定通りお酒も解禁しましたが、ただ宴会だけで終わることなく、
適度に飲酒、適度に会話、適度に開発、適度に温泉……
と、実に充実した、バランスの良い時間を過ごすことができました。
また、開発部屋と、寝る部屋をきっちり分けていたのも功を奏し、ストイックになりすぎずに済みました。
寝たいメンバーから別室で就寝し、夜中2時過ぎには開発部屋も完全消灯しました。

2日目

2日目の朝食は、1日目の夕食同様、宴会場にて朝8時からお願いしていました。
この時間までに、全員が起床から洗顔等々を済ませ、朝食会場にて着席。
やればできるじゃないか、ピクスタエンジニア。開発合宿効果恐るべし。

発表準備

朝食、チェックアウトを済ませた後は、旅館内にある会議室に移動し、発表準備に取り組みました。
ここまでで、メンバーによって進捗は待ち待ちでしたが、LT大会が控えているため、キリのいい所で切り上げて発表準備に集中することができていたように思います。
お昼休みは伊東駅の辺りまで移動し、多少並んででも地元の名店でラーメンを食べ、何故かミカンを買って帰るぐらいには余裕がありました。

f:id:muramurasan:20160219113541j:plain

発表

昼食を終え、14時からはLT大会を開催しました。
1泊2日という短期間であったにも関わらず、想定以上の成果を出すことができました。
各々が取り組んだテーマについて、簡単に紹介すると以下の通りです。

  • 機械学習と形態素解析(MeCab)を組み合わせたBOTの自動生成
  • Apache Solr を使ってみた
  • オフィス周辺の飲食店情報を閲覧できるRailsアプリ
  • 最近のAndroid開発言語および開発環境事情の調査・プロトタイピング

代表して、太字の2テーマについては、もう少し情報を補足します。

Apache Solr を使ってみた

id:watasihasitujidesu さんが文字通り一晩で取り組んだテーマ。
成果については、本人のブログで詳細に報告されています。
興味のある方は是非読んでみてください。

saitou.hatenablog.com

saitou.hatenablog.com

saitou.hatenablog.com

オフィス周辺の飲食店情報を閲覧できるRailsアプリ

入社半年以内の新人3人チームで作成。
荒削りながら、3人にとっては、使い慣れていない or 未挑戦の技術を取り入れながらWebアプリを作ってみました。お店の情報取得(評価含む)には Yelp API、フロントエンドには React、地図表示に gmaps.js を使用しています。

f:id:muramurasan:20160218184513p:plain

振り返り

開発合宿から戻った後は、弊社開発部でも導入しているスクラム*3 の手法に則り、レトロスペクティブ(振り返り)を行いました。その結果について、一部抜粋したものを以下に記載します。

KEEP

  • 幹事の優れたホスピタリティ、段取り
  • 非日常感を味わうことができた(集中できた)
  • 伝統のある山喜旅館に行けた
  • 通信環境・電源など、物理的な開発環境が快適だった
  • 朝までやるとかみたいな超ストイックな雰囲気じゃなくてよかった
  • 仕事から離れることで、メンバーに気軽に質問できる空気ができた

PROBLEM

  • 私用のマシンのスペックが悪く、リソースを気にしながら作業するメンバーがいた
  • 開発用の環境(例:AWSのスポットインスタンス)は用意した方が良かったかも
  • 本来の目的に注力できる知識と環境(例:リポジトリ作成。FW導入)は、事前に用意しておくべき
  • LT向けの資料作成着手が遅かった
  • 部屋飲み用に、紙皿・紙コップ・割り箸の準備
  • 少し遠かった
  • 次の日に意外と響くので、日程が大事かもしれない

TRY

  • 非日常感は重要!
  • ストイックさは個人に任せる(今回のように、開発部屋と寝る部屋に分ける)
  • 最低限、開発環境やテーマ、事前知識は準備してくる
  • 少なからず疲労蓄積したので、平日に影響がでないような日程調整
  • 部屋飲みやるなら、紙皿とか割り箸とかを用意する
  • 発表の力の入れ具合について検討
  • もっと多くのエンジニアが参加できるよう、調整できないか?
  • 「あなたはどういう目的で合宿に参加?」と宿選びを事前にすり合わせる

まとめ

開発合宿を通じ、エンジニアとして短期間でのスキルアップ、そして、互いに親睦を深め合うことができ、密度の濃い時間を過ごせました。
何より、振り返りをしっかり行うことで、次回に繋がる有意義な開発合宿にすることができたのではないかと思います。

また、業務外の開発合宿であるにも関わらず、古俣社長、遠藤取締役からは、ポケットマネーで旅費のカンパをいただけました。この場をお借りし、改めて御礼申し上げます。

f:id:muramurasan:20160218112649j:plain

ビクスタ*4、もとい、ピクスタ開発部では、エンジニアの募集をしています。 ご興味のある方は採用ページまたはWantedlyを御覧ください!

recruit.pixta.co.jp

*1:ピクスタ開発部で採用している、ドキュメントベースの情報共有ツール。esaの詳細、導入状況については過去エントリーを参照。

*2:本ブログ執筆現在で、山喜旅館さんでは飲料の持ち込みを許可しています。

*3:弊社でのスクラムの導入状況については、過去エントリーを参照。

*4:過去にも全社合宿で山喜旅館さんを利用したことがあるのですが、その時は「ピクタス株式会社様」でした。毎度お茶目な山喜旅館さん……