【制度紹介】 ハッカソン・開発合宿
![](http://images.ctfassets.net/1cuorbl3gq8x/5vUs1ewdq8T2TL4GEtIwhl/12a9402f8faf3ac159bcc86aaf0bed78/image10.jpg)
ユニークビジョンではエンジニアの技術力向上のため、技術勉強会ワーキンググループ主催で定期的に開発合宿やハッカソンを開催しています。ハッカソンとはHackとmarathonを掛けあわせた言葉で、決められた時間の中でシステム構築を完走させるイベントです。
2021年度は開催当日にチームごとの開発を行い、最後に全体で発表を行いました。普段の業務と切り分けるため、休日に開催して代休を付与する形で実施しています。 2021年度のハッカソンのテーマは「YouTube API 」。社内を1チーム3,4人の計7チームにわけて「YouTube API 」を使ったシステムを1日かけて構築し、クオリティを競います。
APIの素振りなどを除いて事前のコーディングは原則禁止。チーム分けが発表されてからは業務時間で集まり作戦を練るチーム、自己研鑽フライデーの時間を活用して秘密会議をするチームなど、それぞれルールの範囲内で出来る限り準備をしていました。
エンジニア陣は社内で開発をして、最終発表にはディレクター陣もオンラインで参加しました。
チーム開発
当日はまずチームごとに分かれて、7時間の開発フェーズに入ります。1日の最後に発表が待ち受けているため、その準備も必要です。短い制限時間の中でどこまで機能を作るかという落としどころや、発表での見せ方も含め、普段の業務とは異なる部分にも意識を持ちながら開発を進めていきます。
![](http://images.ctfassets.net/1cuorbl3gq8x/5QHqZpy9s4AWjVVTMLrqSG/ca83a8babb38eb4e36c16a7fa0de3109/image3.jpg)
最終発表
全6チームがそれぞれの開発成果を発表します。
チーム① 動画切り抜き共有アプリを発表したチームは、TikTokなどの切り抜き文化のムーブメントを参考に、長い生配信動画などをブラウザでサクッと切り抜けるというコンセプトで発表。ローカルでデモンストレーションを実施しました。
![](http://images.ctfassets.net/1cuorbl3gq8x/6D6X2UR4ToBvTlxxCkmPb3/eec8430953346f848d9c7fb0cf24b40f/image6.png)
YouTubeの動画の開始終了時間を指定すると簡単に切り抜くことが出来、好きな部分だけを再生する動画を作成できるアプリが完成していました。
![](http://images.ctfassets.net/1cuorbl3gq8x/5dHWp0V0qCXkBZGENokrMQ/5617bc65ecd9c63812e3a2ee054fee70/image5.png)
チーム② ユニークビジョンのサービスBelugaを模した動画タイムラインを開発していたチームでは、なんとYouTube APIの利用回数制限に引っかかってしまい、本番デモンストレーションができない事件が勃発。
![](http://images.ctfassets.net/1cuorbl3gq8x/35wPSgWR0CVyBWONXnCw7C/61ee49e86b89ada9cd7b578fdb73d760/image15.png)
1日という限られた時間の中で開発する難しさを体感していました。仕様検討やAPIの仕様書をきちんと把握しておくこともシステム構築の鍵です。
![](http://images.ctfassets.net/1cuorbl3gq8x/3bt4LRiLgz4oiinMqTx72L/c751b772c3c2f3f34ca5c9ceacc93af5/image14.png)
チーム③ 表示されたYouTube動画の再生回数で競うミニゲームを開発したチームは、全員がバックエンドに強いエンジニアでした。戦略を相談して、フロント担当をわけて時間内に完成させ、実際に観客が参加できるデモンストレーションを実施しました。
![](http://images.ctfassets.net/1cuorbl3gq8x/pjHz9ulcyo2MrNEn4Ol3i/56fae559f92de275e8586cdd2e44c938/image4.png)
ランダムに表示された4単語から好きな2単語を選び、その2単語で検索してきたYouTube動画の再生回数で勝負をするゲーム。未知の組み合わせを選んで最多再生回数を目指そう!というユーモアのある発表になりました。 チーム④ Youtube動画にニコニコ動画のようにコメントを入れられるシステムをつくったチームは、実際にコメントを入力して流すデモンストレーションを実施しました。 ユーザが入力したもの以外にも、Youtube動画についているコメントも画面に流れるようになっています。
![](http://images.ctfassets.net/1cuorbl3gq8x/4yaDSL3Nv7oDyMc0jtFNgk/b6dcb0e0148393f36bd01675af5eb4dc/image13.png)
チーム⑤ 準優勝を飾ったチームが開発したのは、発音をYouTubeの動画で聞けるアプリ。聞きたい単語を入力すると、それを実際に使っている動画を表示してその部分だけを聞くことができるシステムです。 フロントエンドに強いエンジニアが本領を発揮し、実際にスマホでネイティブアプリを作るところまで実現できました。
![](http://images.ctfassets.net/1cuorbl3gq8x/19AAnAvcEAyMkS56v897qQ/1604a2737d5050a9844012e3c25c33d6/image2.png)
例えば「Introduction」という発音が聞きたい場合、入力欄にいれて検索をするとスティーブジョブズがプレゼンをする動画がヒットします。その動画を開くと、ジョブズが「Introduction」という単語を使って話す1シーン(15秒程度)を見ることができます。
![](http://images.ctfassets.net/1cuorbl3gq8x/4Sj5uGQ8Def1atYzmTcLei/3594312002a255855ca93ffe9239d76e/image1.jpg)
チーム⑥ 見事優勝したチームが作ったのは、Twitter連動でYouTubeを操作するシステム。ユニークビジョンのBeluga Campaignサービスへの波及を意識して「Beluga Campaign for YouTube」と名付けていました。
![](http://images.ctfassets.net/1cuorbl3gq8x/1dguP3JYB6i5R9BA9EGriR/a3b97ac6facd00557915edb350991a69/image7.png)
キャンペーンツイートの拡散数に応じてYouTubeチャンネルのヘッダー画像が切り替わる、実際にキャンペーンに実用できそうなアイデアと機能を実装しました。キャンペーンツイートが5RTされると、拡散されたYouTubeチャンネルのページヘッダーが変わります。
![](http://images.ctfassets.net/1cuorbl3gq8x/2k1kQn3bZ5yMwYdIem7SBp/0d8d25f77689500a9edd677f5810ed5c/image9.png)
追加で開発する予定の機能があったそうですが、特定のAPIを使うのには申請が必要なことにハッカソン当日に気が付き、諦めるという悔しいこともあったそうです。
ハッカソンの効果
普段一緒のチームで仕事をしないエンジニア同士でお互いの強みや弱みを把握し、限られたリソースでベストな担当割り振りを考えて良いシステムを作り上げるという取り組みは、業務の進め方にも良い影響を与えています。ハッカソンで見つかった課題に対して改善をする目標をたてるエンジニアもいました。
![](http://images.ctfassets.net/1cuorbl3gq8x/1KBvMY0tvFTBQg8N62lOYP/06dc3e2e8ac53509206c0b2d49daec78/image11.png)
日々の業務では高い品質の維持と開発ペースを考えてスケジュールが計画的に組まれていますが、ハッカソンはたった1日でシステムのすべてを構築する必要があります。 さらにそれをエンジニアのみで考えるということも難しいポイントではありますが、速度を最優先にしてどれだけ効率的に開発を進められるか真剣に考えるのは、新鮮で楽しかった!という声も上がりました。 また、今回のハッカソンで開発速度を上げることに強く意識を向けた経験から、普段の業務でも活かせる手法や進め方は積極的に共有され、業務に取り入れられています。
このように、常に新しい技術に真剣に楽しく向き合うエンジニアと、それを支える環境がユニークビジョンにはあります。気になった方はぜひ一度応募をご検討ください!