2018年12月、「Yahoo! JAPAN Hack Day 2018」(オープン開催としては7回目、社内限定開催も含めると22回目)を開催しました。
今回は、ハッカソンに参加する目的やメリット、参加者のみなさんに聞いた「事前に準備していること」をご紹介します。
ハッカソンとは?
ハッカソンとは、ハック(hack)とマラソン(marathon)を組み合わせた造語。「hack」を「創意工夫」と捉え、プログラマーやデザイナーが開発するイベントで、以下の3つのポイントがあります。
1)チームを編成する
ハッカソンは原則として複数人でチームをつくって参加する、またはハッカソン中にチームを編成するのがルールになっていることが多いです。
他のエンジニアなどと一緒に開発することがハッカソンの醍醐味(だいごみ)でもあります。
2)時間制限がある
開発から発表まで、決められた制限時間の中で行います。その時間の中でいかに集中して開発し、成果物にできるかが求められます。
3)成果を競い合う
チームごとにプレゼンを行い、成果を競い合うのが一般的なハッカソンで、プレゼン時間も5分などと決められていることが多いです。
また、ハッカソンの主な目的は、以下の3つに分けられます。
近年では企業がハッカソンを開催するケースも増えていますが、開催目的によって、テーマや内容、どのような参加者を集めるのかが変わってきます。
1)事業創出を目的としたハッカソン
社外の参加者から、普段の開発プロセスとは異なる立場にいる人々の視点を取り入れることで、新規性の高い事業につながる可能性があります。
また、仕事で利用しているプログラミング言語とは異なる言語を使ってみるなど、エンジニアにとっては挑戦してみたかったことに取り組める時間にもなります。
2)社内交流、社外交流を目的としたハッカソン
参加者が普段接点がない分野のエンジニアなどと交流することで、新しい発想法や開発方法を知ることができるというメリットがあります。
3)自社製品および技術のPRを目的としたハッカソン
企業が自社の製品や技術を直接エンジニアに伝える機会を得たり、サービスへのフィードバックを得たりできるため、開催企業にとってのメリットが大きいといえます。
なお、ヤフーで開催しているHack Dayでは何をつくってもよく、テーマを設けていないことが特徴です。「とにかくものづくりを楽しんでほしい!」という思いで運営しているため、ある意味上記3つのどれにも当てはまらないと言えるかもしれません。
ハッカソンのメリット
ハッカソン参加者側のメリットは、最新の技術に触れられたり、社内外の交流の機会が得られたりすること。
運営側には、若手エンジニアの育成につながる、新しいサービスや機能に関するアイデアやヒントを発掘できる、自社やサービスのPRができるなどのメリットがあります。
ヤフーが社内限定で開催したHack Dayでは、2007年12月から2018年7月までの11年間、15回開催で以下の特許出願・取得という成果につながっています。(2019年1月現在)
・特許出願件数62件(平均4.1件/回)
・特許取得件数48件(うち審査待ち13件)
実際にヤフーのサービスに反映されたものとしては、Yahoo! JAPAN IDでのログイン時に特定のアドレスにメールを送信することで不正アクセスを瞬時に検知可能する「ログインアラート」があります。
また、社内チャットシステムとして多くの社員に使われた「MYM(Modern Yahoo Messenger)」は、2011年のHackDayで開発されました(ヤフーは2018年4月に「Slack」を全社に導入)。
起業につながったケースもあります。スマートフォン向けリッチ広告の開発・販売などを行う「リッチラボ株式会社」は、Hack Dayをきっかけに「スター育成プログラム」を経て2014年に営業を開始しました。
ハッカソンに参加する目的、事前に準備していることは?
「Yahoo! JAPAN Hack Day 2018」に参加していた方に、ハッカソンに参加する目的、参加前に準備していることなどを聞いてみました。
ハッカソンに参加する目的は?
- アウトプットの場を設けたいと思ったから
- 普段はまとめて開発する時間がなかなかとれないので、24時間通してなにかつくる機会になるから
- 仲間と同じ場所に集まって必死につくるのが楽しい!
- 初めて使う技術に挑戦するきっかけになるから。自分を追い込みたかった
- 他の友だちが参加することを知り、自分も参加しないとできる子からどんどん遅れをとってしまう。できる人がやっていることをまねしようと思ったから
- 「技術力をあげたい」という動機づけになる。(時間内に)間に合わないこともあるが、参加するたびに技術力は確実に上がるから。参加するからには、動くものを時間内に作りたいと思うので、追い込まれて集中力も上がる。
制限時間内に仕上げるためには、どこが余計なのかを判断し、仕様を切り捨てることも大事 - ものづくりがすきだから。いろいろな人と交流もできる
ハッカソンに参加する前に準備していることは何ですか?
- (その仕様が)実装可能か事前に調べておく
- 開発の役割分担を決めておく
- 使う技術を決めて、事前に勉強しておく
- ハッカソンの会場で何をやったらだめなのか、など開発環境面を確認しておいた
- 流れをフローチャートにかいて、どこができそう、どこが難しそう。難易度を考えて、これはこの人ができそうと分担しておく
- ちゃんと寝ておく
- ハッカソンに出ると、いろいろな情報が入ってくるので、それを知ることで事前に準備しておける。ハッカソンで勉強して、次のハッカソンで使う、というやり方
- つながりがない人で集まることもあるので事前に親交を深め、何をしようかという話を何度かしておく
- パーツ系は最初に買っておく
- 初めて学ぶ言語を調べておく
なかには、あえて何も決めずに集まり、つくるものを決めるところから楽しむ、というチームもありました。
また、当日体調不良で来られなくなった人がいたため、事前に決めていたものをつくれなくなってしまったチームも。せっかく準備していたが前提がくずれてしまい、どのように24時間でたてなおすかという、臨機応変さが試されるイベントでもあります。
「ものづくりをしてみたいけど、きっかけがなかなかない」と思っている方は、同僚や友人、ご家族などと一緒に、ハッカソンに参加してみてはいかがでしょうか。
【関連リンク】
- ログインアラート(不審なログインをメールでお知らせ)
- ヤフーのエンジニアはHack Dayでシックハックしてるんよ。その2(記事の最後で「ログインアラート」について触れています)
- ありがとう、MYM 安らかに眠れ
- おつかれさま、MYM 〜僕とMYMのフロントエンド戦争〜
- 開発イベントで提案した作品が 社内ベンチャーへと発展
- リッチラボ株式会社
- Yahoo! JAPAN Hack Day
【ヤフーのHack Dayについて】
「Yahoo! JAPAN Hack Day 」は、プログラマーを中心としたクリエイターが日本中から集まり、24時間でアプリやIoTデバイスなどの「動くプロトタイプ」を開発するイベントです。
各チームは限られた時間内に、アイデアを形にするための作品開発に取り組みます。開発終了後は、各チーム90秒で作品のプレゼンテーションを行い、審査員による審査の結果、優秀な作品を生み出したチームには豪華賞品が贈られます。