CAM先輩エンジニアの江尻さん(ejithon)引率で開発合宿を行いました。ejithonサーバーサイド、アプリ・Webのクライアントサイドと幅広く経験し、直近はWebの最新技術を追いながら新規サービスを開発中。kidoyuna北海道からこの春に上京。未経験だが、必死にWebフロントの基礎から最新技術までどんどん吸収中!本記事では、開催した目的や、合宿当日の状況について紹介させていただきます。サービスを決められたルールの中で限界まで高速化を図る、LINE株式会社主催のチューニングバトルです。Webサービスの処理が遅い場所を探し、その原因を探りあてて解消します。ベンチマークと呼ばれるスコアがあり、改善していくとこのスコアが上昇し、最終的なスコアで順位が決まります。技術者が短期間で集中的にアプリケーションなどのプロダクト開発を行い、チームで競う大会です。つの大会に共通する特徴は、「長時間集中して開発する」こと。そのため、19新卒の有志を募り合宿の企画をしました。当初は自費で行う予定でしたが、会社に相談したところチャレンジ精神に共感してもらうことができ、会社のサポートのもと今回の合宿が実現しました。日、みっちり開発に集中することにしました。ハッカソンに参加しようと思ったきっかけISUCONは主にバックエンドエンジニアの腕の見せ所なので、フロントエンジニアの私はハッカソンに参加を決めました。ハッカソンに参加しようと思ったかというと、今の自分が持っている技術がどこまで使い物になっているのか、試したかったからです。入社時の技術研修では何もできず、悔しい思いをしていました。そのリベンジでもあります!実際に合宿に参加し、各大会に参加するメンバーからもコメントをもらいました。ISUCONは、見た目の変更が禁止であり完全にバックエンドのチューニングのみが対象になる分、バックエンドの仕組み・チューニングポイントなどがわかるようになると思い、参加しました。(山浦・ISUCON)自分の今の実力や成長度合いを知るために参加しました!業務で学んだことをどのように活かせるか、試してみたかったからです。移動この日は月に一度のCAM全社朝会があったので、終了後Abemaタワーズから出発です。▲引率のejithon先生がチャラい風に(笑)。組は、去年の予選問題に挑戦。ハッカソン組は事前にテーマ決め・アイデア出しまで行っていたので、当日は実装にのみ集中しました。ならい、テーマは自由でした。▲コミュニケーションを取りつつ、集中して実装を進めます。私はハッカソン組で、主にフロントのマークアップ部分を担当していました。Vue.jsでの実装だったのですが、画像の扱い方に少しクセがあり、ハマってしまいました...そこは、ejithon先生のお力を借りて何とか解決。組は、スコアの上がり下がりが重要なため、計測する瞬間は緊張が走ります。計測には少し時間がかかるので、その間チームメンバーは祈ります。スコアが上がれば大盛り上がり。変化がない、または下がってしまえば阿鼻叫喚です。例えるなら、メッシのドリブルを見て「ゴール入れー!」という感じです。プレイヤーでもあり、観戦者でもある。参加型のスポーツと言えるでしょう。皆でゆっくり夕食をいただきながら、感想を語り合います。そのあとは、それぞれ大浴場で疲れをとり、明日に備えて休みます。昨日に引き続き、実装を続けます。寝不足のメンバーもいましたが、修学旅行気分のアドレナリンで皆ナチュラルハイでした!最後の追い込みです。コードストップで、発表資料作成に移ります。▲夏野菜のスタミナ丼。まで作業を続けました。最終スコアと、スコアを上げるためにやったことを共有します。チームのみ紹介したいと思います。Koppa(石川・小林・山浦)(小林くんのニックネームである「こっぱ」から命名したようです。時間で大まかな方向性を決めることができた詰まったらチームで解決策を話し合い→即時に役割分担、実行できた限られた時間の中で開発するに当たって、「詰まったらチームで解決策を話し合い→即時に役割分担、実行」することは、ハッカソンでも応用できると感じました。メンバーが皆焦っているからこそ、詰まったことをチームメンバーに伝えるのには気が引けますが、そこをなんとか突破しチームのために動けたらなと思います。成果物のデモ動画を含めた発表を行います。チームのみ紹介します。バカ息子(太田・平山・藤本)(バカ息子は、メンバーがよく行くランチのお店のようです。つなぎこみ)・フロント(マークアップ)・サーバサイドとしたことで、スムーズに開発することができた。Koppa同様、役割分担をしっかりと行っています。解散!皆さん本当にお疲れ様でした。まとめ私は今までハッカソンに参加したことがなく、「とりあえず行ってみよう」くらいのテンションで挑戦してみたのですが、「思ったよりきつい!!!」というのが正直な感想です。役割分担や限られた時間の中で開発するスケジュール設計・落とし所はどこなのかがかなり重要だということを実感しました。業務でも、以上のことを意識しながら取り組んでいこうと思います。