見出し画像

第1回万葉ハッカソン開催レポート

こんにちは、万葉でエンジニアをしている諸永です。
先日、万葉で初の試みである社内ハッカソンが開催されました。

様々な工夫を凝らした、充実したイベントでした。 今回は、このイベントの様子を皆さんにお伝えできればと記事を書きました。

開催の目的

ハッカソン開催の目的は、次の3つでした。

  1. 日頃、フルリモート勤務で交流が不足しがちな社員同士が、交流を深められるようにする。

  2. 期限が決められた中で成果を出すための練習機会とする。

  3. 全社的な技術力向上を図る。特に、万葉は Hotwire を推していきます! でも触れたように、万葉がこれから重視していく Hotwire について、社員の理解度、技術レベルを底上げしたい。

使用技術とチーム分け

事前に、使用技術とチーム分けが発表されました。

  • 使用技術・・・ 「 Rails7 + Hotwire 」

  • チーム分け・・・A〜Fチームの6チーム(3人1組) 

ちなみに、社内のすべてのエンジニア(ハッカソン運営スタッフを除く)が参加しました。

事前準備の様子

各チームはハッカソンまでの間に適宜集まって、 Hotwire の勉強や、当日高速に開発するためのアプリケーション・テンプレートの準備などを行っていました。

お題は「ゆるTの発表管理アプリ」

「ゆるT」とは "ゆるい Lightning Talk" の略で、万葉の全社会における、「気軽な自由トーク」枠のことです。

全社会では、ゆるTをしたい人が任意のタイミングでエントリーをして、順番にトークをしていき、最後に「ベストゆるトーカー(もっともゆるいトークをした人)」が選ばれます。このトークのエントリーをスムーズに管理して、ゆるTイベントを盛り上げるアプリを作ることが今回のお題でした。

「召喚カード」システム

ハッカソンという楽しいイベントにおいて、ハッカソン運営チームの数名だけはハッカソンに参加できないというジレンマがありました。

そこで、運営チームも楽しめるようにという主旨で、「召喚カード」というシステムが考案されました。

  • 各チームは、3枚の召喚カードを持っており、好きなタイミングで利用できる

  • 1枚の召喚カードで、任意の運営スタッフを7分間「召喚」できる

  • 呼び出された運営スタッフは、コードのコミットを直接行うこと以外は、なんでもお手伝いできる

取り組み風景

それでは、出場チームのうち「Bチーム」と「Dチーム」の取り組みをピックアップしてご紹介したいと思います。

Bチーム

事前準備

  • Hotwire の勉強は各自で行った

  • チームで3回集まり、1回目は交流を深めるためのランチ会、2・3回目は準備を行った

    • 当日のモブプロのやり方を決めた

    • ツールやフレームワークを検討した

    • Rails7 アプリ構築の予行練習を行い手順をまとめた

当日

  • Gather(社内で使用しているコミュニケーションツール)に集まりオンラインで開発を行った

  • まずはモブプロ(※)で基幹部分を進めた

  • その後、枝葉の機能を作る段階で、タスクを洗い出して分担を決め、各々が並列で開発を進めた

当日のGatherの様子

※モブプロ・・・モブプログラミングの略。3人以上で1つの成果物(プログラム)を書くこと。

Dチーム

事前準備

  • Hotwire の勉強は各自で進めた

  • チームで5回集まった

    • 1回目はランチ会で親睦を深めた

    • 2回目以降は Hotwire のチュートリアルをモブプロで写経(書き写し)しながら理解を深めたり、 Rails アプリの構成を決めた

当日

  • Gather に集まりオンラインで開発を行なった

  • アイデア出しは Google Jamboard を利用

  • 終日モブプロ形式でチームで相談しながら開発を進めた

アイデア出し

開発成果

ハッカソンの最後には、運営チームによる採点・結果発表がありました。その結果、前述のBチームのアプリ「yulee」が見事優勝を飾りました。また、Dチームの「yuuruu」が準優勝となりました。

両チームのアプリケーションについて少しご紹介しようと思います。

優勝:Bチーム「yulee」
目玉機能は、ゆるいと思った発表に「ゆるいね〜」リアクションができたり、ベストゆるトーカーに選ばれた人は Slack でお祝いメッセージが届く機能です。ゆるTを楽しく演出できる工夫がされていました。

yuleeアプリ画面

準優勝:Dチーム「yuuruu」
特色として、ゆるTにエントリーしたものの発表する時間が確保できなかった人が、次回のゆるTに繰り越す機能がついています。実際の「ゆるT」運用時の課題解決に取り組まれている点が印象的でした。

yuuruuアプリ画面

ハッカソンに参加したエンジニアの声

参加者からは次のような感想が挙げられました。

「一緒に仕事をしたことが無い方と同じチームになったので、その人がどんな人なのか知ることができたり、エンジニア同士で交流を深めることができました。」

「時間が足りずに工夫したかったけれど実現できなかったり、デザインを最後まで完成できなかったのが心残りでした。しかし限られた時間の中で成果を出す練習ができたので勉強になりました。」

「ハッカソンが強いきっかけとなり、みんなで同時に新しい技術を学べ、知見を共有できるいい機会だったと思います。また、それぞれ Hotwire について学習できたので、共通の認識や感覚を持てたことも良かったです。」

また、ハッカソンにおける作戦の振り返りとして、並行開発が功を奏して優勝したBチームからは「並行開発では知見の共有ができなかったので次はすべてモブプロでやりたい」という感想が上がり、ずっとモブプロをしていたDチームからは逆に「全員で検討している時間が長すぎて機能開発の時間が不足してしまった」という声があったのも、興味深い点でした。

まとめ

初めて開催された社内ハッカソン、とても盛り上がった楽しいイベントでした。一気に Hotwire についての理解が全社で広まるなど、個人で勉強するのとは違った大きな効果があったと思います。なにより「楽しい」というのが良いですね。

この記事を読んでご興味を持った方は、ぜひ社内ハッカソンを開催してみてはいかがでしょうか。おすすめです!!


株式会社万葉ではエンジニアの採用を行っています!
https://everyleaf.com/we-are-hiring