はじめに
こんにちはMasaKuです。
先日、ブログでも告知させていただきました「フェリーハッカソン2019」に参加しました。
ハッカソンへの参加が初めてだったこともあり、参加前は非常に緊張しました。
しかし、社外のエンジニアの方とチームを組んで開発したり、普段使ったことが無い技術を組み合わせて新しいサービスを考えることができ、総じて貴重な経験ができました。
今回はフェリーハッカソン2019に参加してみて「良かったこと」と「悔しかったこと」について書いていきたいと思います。
フェリーハッカソンの流れ
フェリーハッカソンは3日間で行うハッカソンです。
まずは、フェリーハッカソンの流れについてご説明したいと思います。
- 3~4人程度のグループで船や旅に対するイメージをブレインストーミング
- 出てきた案を元にして船旅が楽しくなるようなサービスを考える
- 各サービスを参加者全員で評価
- 評価が良かったサービスを開発するためのチームを作成
- 開発開始
- 発表会
私は「旅先で見つけたお土産を船上で食べるグルメパーティー」を提案しましたが、全然刺さっていない様子でした・・・。
作成したWebアプリ
私はその後、ほかの方が考えた「大阪から大分までの移動時間約10時間を最大限暇つぶしできるWebアプリの作成」をテーマにした、乗船客が白組と黒組に分かれて対戦する50×50マスのリバーシを作成するチームに参加しました。

私はサーバサイドを担当し、PHPを用いてゲームの進行状況を管理する機能の実装を行いました。

フェリーハッカソンに参加して良かったこと
フェリーハッカソンに参加して良かったことはいくつもありましたが、その中でも特に印象に残ったものをご紹介したいと思います。
社外のエンジニアの方と一緒に開発する経験ができた
社内のMeetupやプライベートでエンジニアの方と交流することはありますが、一緒に作業した経験はありませんでした。
そのため、ハッカソンで同じチームになったメンバーと技術領域が違った場合の作業の進め方についてまったく想像ができず、少し不安な気持ちがありました。
しかし、参加してみると、サーバサイドとフロントエンド、インフラなど、各メンバーが不足点を補いながらチーム全体として最大の効率を発揮できる担当割り振りができました。
技術領域が違っているからこそ、気を掛け合わなければならない点について意識するようになり、各機能の結合時には積極的にコミュニケーションを取りながら作業を進めることができました。
他のメンバーとは異なるユニークなスキルを持っていれば、できることの可能性も広がっていくと思ったので、自分の興味のある内容については知名度を気にせず、どんどん挑戦していきたいと思いました。
自分のすべきことを全うしようという意識ができた
自分の担当作業において、他のメンバーが扱ったことがない技術やプログラミング言語を選択している場合は、メンバーに協力を依頼できない場合があります。
そのため、開発中にトラブルが発生し実装が予定よりも遅れたとしても、自分の力で解決しなければならない状態になる場合があります。
しかし、そういったプレッシャーのかかる状況だからこそ、自分の担当機能がほかのメンバーが開発した機能と結合できた際の達成感は大きかったです。
自分に任された作業をしっかりとやり遂げるために、自分の技術を磨くこととトラブル時の状況説明を明確にすることの大切さを改めて実感することができました。
新たな技術習得に対するモチベーションが向上した
普段の業務で利用している技術については、どのように利用できるかが明確なので、今回作成したWebアプリの開発においても、自分がどのようにチームに貢献できそうかも想像できました。
しかし、外部のエンジニアの方はそれぞれの技術領域での解決方法を知っており、アドバイスを頂いた際に「そういう方法もあるんだ!」といった気づきを得ることもできました。
自分の技術領域を広げていくことで、「自分ならこうして実現するな」であったり「あの技術を組み合わせたらこんなこともできるな」といった発想力を持つことができるようになると思いました。
自分の枠にとらわれず、積極的にいろいろな技術に触れて柔軟な思考ができるようになりたいと思います。

悔しかったこと
自分としてはうまくできると思っていたところも、かなり苦戦してしまった場面もいくつかありました。
反省点の振り返りも兼ねて2点ご紹介したいと思います。
時間内に全ての機能が実装できなかった
開発開始当初に実装しよう思っていた機能のうち、一部の機能が時間内に実装することができませんでした。
結果的に、ほかのメンバーが開発した機能とうまく連携できなかったものもありました。
Webアプリとして、より面白いものを作りたいという気持ちと、時間内に実現できそうなラインの見極めが重要だと思いました。
開発環境をしっかり整えておけばよかった
普段の業務ではマルチモニターにしたり、その他周辺機器を利用して開発を行っています。
今回、ハッカソンに参加するにあたって、荷物の関係上あまり多くの周辺機器は持ち込めないと思ったので、特にツール等は持ち込まず、普段あまり使わないタブレットPCに最低限の準備だけをして参加しました。
案の定、小さなモニターとタッチパッド操作に慣れず、実装中に操作面で足を引っ張られた場面が何度かありました。
開発環境を整えておくことで、開発の効率も変わってくると改めて実感したので、より効率よく作業をするために、今一度業務で利用している開発環境も見直すべきかと思いました。
まとめ
ハッカソン初参加ではありましたが、大変実りのある経験ができたと思います。
今回は3日間という短い期間でのチームでしたが、通常業務でのチーム開発にも通ずる経験ができたと思ったので、今回学んだ内容を反映させていきたいと思います。
開発チームという枠組みで個性を発揮しつつも、チーム開発で最大の効率が出せるようなチームメンバーになっていきたいですね。
おまけ
開発の休憩時間を利用して、別府観光にも行きました。
楽しく開発しつつ観光も楽しめる素敵なイベントになりました。

