Mercari HACK WEEKのつくり方

※この記事は、Mercari Advent Calendar 2021 の8日目の記事です。

こんにちは。メルカリのEngineering Officeの@afroscriptです。

メルカリでは2019年9月から、およそ半年に1回、エンジニアのための技術のお祭り「Mercari HACK WEEK(以下、HACK WEEK)」という社内イベントを開催しています。

HACK WEEKとは、シンプルに説明すると、通常業務から離れて、自由につくりたいものをつくるハッカソンのようなイベントです。開催中の1週間はプロダクト開発も原則完全ストップとし、好きなことに取り組めます。

例えば、現在の業務の延長にはないメルカリの新機能や、メルカリにまつわる新サービスを開発するのはもちろん、普段の業務では使わない新しい技術を勉強したり、OSSへ貢献したり、普段テコ入れできないリファクタリングなどに取り組んだりと、1週間の時間の使い方は完全に自由としています。チーム編成についても制限がないので、普段は一緒に業務をしないメンバーとも開発できますし、1人でもくもくと開発してもOKです。

僕自身は2020年3月に開催された第2回目のHACK WEEKから、およそ2年間このイベントの運営に携わっています。

(ちなみにこの記事を公開した週(12/6~12/10)に、実は第5回目となるHACK WEEKが目下開催中だったりします!今回はどんなアウトプットが出てくるか、楽しみでたまりません!:))

たまに「同様なイベントを開催したいんだけど、どのように運営してるの?」という相談を受けることもあるので、少しでもそういった方の助けになればと、今回の記事ではHACK WEEKを開催するための基本骨子を説明します。

HACK WEEK開催までの全体の流れ

図にある通りですが、約4ヶ月前から細々と準備を開始しています。特に開催時期の調整は、プロダクト開発の都合もあるので、なるべく早めに各部門の関係者たちと対話していく必要があります。

図の中の各イベントやアクティビティなどはこれから説明していきます。

HACK WEEKのMissionと開催背景

HACK WEEKのMissionは、下記のとおりです。

エンジニアたちが自身の裁量で「何をつくるか」から「どう作るか」まで一貫した意思決定を行い、クリエイティブな開発に専念できる場を提供し、エンジニアドリブンな開発カルチャーづくりに貢献する

メルカリの普段の開発では、基本的にはProduct Manager(PM)が「What / 何をつくるか」に、Engineerが「How / どう作るか」に責任を持っています。これに対して、HACK WEEKではEngineerがWhatからHowまで一貫して担当し、アウトプットを出す機会としています。

参考に、初のHACK WEEK開催を社内で推進したMercariの前CTO@suguru (現在はSouzohのCTO)の記事 の言葉を引用しておきます。

日々事業成果に追われ、高い事業目標を掲げていると、自然と優先順位が決まってきます。常に事業としての優先度の高いことしかできないと、エンジニアが自ら考えて作るという力が衰えてしまう恐れがあります。イノベーションを促進するには、普段からエンジニアが持っている素晴らしいアイデアを実験したり、お披露目する場所があるべきです。 メルカリでは、エンジニアの創造力を育て、イノベーションを生み出せる源泉とすることが、エンジニアの育成だと考えています。今年はエンジニアにもの作りの原点に立ち返ってもらうために、エンジニアが事業目標を忘れて、好きなことに時間を使える Hack Week を開催しました。

HACK WEEKに期待する効果

各メンバーから会社全体にフェーズを分けて、期待する効果を下記のように整理しています。

  • メンバーレベルで期待する効果
    • 自発的な行動を推奨する文化や、新技術の試用による開発効率向上に寄与する
    • 担当職種外の技術へもチャレンジすることで「全員Software Engineer」の文化(詳しくはこちらを参照)へのSTEPにもなる
  • チームレベルで期待する効果
    • チームや職種の枠を超えたコラボレーションが生まれエンジニア観点からも新しい提案が生まれる
    • 普段とは違うチームで開発することで、お互いを知り、チームと部門間のサイロ化防止に貢献する
  • エンジニア部門レベルで期待する効果
    • 1年/半期を通した開発全体スケジュールにメリハリがつく
  • カンパニーレベルで期待する効果
    • Hack Weekをメディア広報することでテックカンパニーとしてのプレゼンスを向上させる
    • 社内外の技術者に向けた「技術者がわくわくできる組織」というブランディングに寄与する

Pre-Events (HACK WEEK開催前の期間のイベント)

HACK WEEKを盛り上げるため、HACK WEEK期間の前にPre eventを開催することがあります。ここでは過去に開催したものを例として紹介します。

HACK WEEK Open door

HACK WEEKの概要を説明したり、HACK WEEKについての質問を受け付けるイベントです。(このように、ある事柄について説明する&質問やディスカッションをオープンに行うイベントを、メルカリ内ではOpen doorと呼んでいます。)

誰もが参加できますが、主に新しく入社したメンバーが対象になります。HACK WEEKのルールやおおまかなスケジュール、過去のアイデア例やイベントの様子などを説明し、イベントに対する具体的なイメージを持ってもらうことを目的としています。

アイデアピッチイベント

構想段階の自分のアイデアを3、4分程度で発表し、フィードバックや一緒に開発する仲間を募るイベントです。

開催メリットとしては、上述の通り広くフィードバックをもらって自分のアイデアをブラッシュアップしたり、チームビルディングのきっかけづくりとなります。

外部講師による特別講演

外部講師を呼んで、おもしろいアイデアの作り方など、HACK WEEKに役立つノウハウをテーマに講演してもらうイベントも開催しました。

社外から見た「メルカリにこんな機能あったらいいいな」という新しい視点ももらえるので、今後も定期的に開催していきたいなと考えています。

HACK WEEK Hints

これはパネルディスカッション形式のイベントで、過去に2回開催しました。

第1回目は、社内のメルカリヘビーユーザー社員を集め、「メルカリにこんな機能があったらいいな」と自由に妄想を広げてもらいました。イベントの様子はこちらの記事にまとめています。

第2回目は、メルカリJPの開発メンバーとメルカリUSの開発メンバーでのパネルディスカッションで、メルカリUS開発における取り組みの中からJPにも展開できそうなアイデアはないかを探りました。詳しくはこちらの記事にまとめています。

Main Events(HACK WEEK期間のイベント)

ここからはHACK WEEK期間中の1週間に開催するイベントを紹介します。

1週間という時間は意外と一瞬で過ぎ去ってしまいます。そのため、基本的にはなるべく多くの時間を自身のやりたいことにフォーカスできるよう、オープニングイベントや発表会などの時間は最低限に抑えるようにしています。が、なにもしなさすぎると盛り上がりに欠けてしまうので、そのへんのバランスは難しいなと毎回思いつつ、現在はシンプルに初日にOpening Eventを開催し、最終日にDemoDay(成果発表会) -> Judging time(審査タイム) -> Award Ceremony(授賞式)を一気に開催する形に落ち着いています。

HACK WEEK Opening

HACK WEEK全体のスケジュールから、細かいルール等を説明するイベントです。HACK WEEK期間の初日の12:00から30-40分程度で開催します。

コンテンツは以下のようになっています。

HACK WEEK DemoDay

HACK WEEK期間の最終日に行う成果発表会です。この1週間で開発したものを発表します。14:00に開始し、休憩を挟みながら2時間半で30ほどの発表を聞く一大イベントとなります。

エントリー締切はHACK WEEK期間の4日目15時までです。DemoDayで発表する/しないは、この1週間のアウトプットの進捗しだいとなるので、なるべくギリギリのタイミングに締切を設定しています。その1時間後には発表順を公表しています。

なお、発表枠にはDemo枠とPitch枠を用意しています。それぞれの違いは下記の通りです。

  • 4min Demo枠
    • 4分間の発表+2分間のQ&Aタイムで自身のアウトプットをプレゼンする
    • そのプレゼン内容で審査が行われる
    • 発表枠数は最大20件(先着順)
  • 1min Pitch枠
    • 1min以内で、自分が取り組んだ内容の目的/概要/アピールポイントのプレゼンを行う
    • Q&A timeなし
    • その発表内容に加え、あとで審査員に確認してほしいアウトプット内容(docs, コード, etc…)を指定できる
    • その内容で審査が行われる
    • 発表枠数は最大8件(先着順)

1min Pitch枠を用意しているのは、アウトプット内容を審査員に伝える手段としてDemoが最適でない場合があるためです。例えば、不要なコード100行消した、ずっと後回しにされていた負債を解消した、成果物として分かりやすくUIで見せられるものがない、といった発表です。

また、第4回目(前回)から、HACK WEEK Special Mealを用意して、各メンバーのおうちに届けるようにしました。こちらの食事には、スターフェスティバル社のごちクルを利用させてもらっています。自宅配送してくれるだけでなく、好きな画像のクッキーや旗も用意してくれます。

Judging time

すべてのDemoが終わったら、そのままその日のうちに審査も行います。1時間ほどのJudging timeの中で、審査員全員でディスカッションを行い、Gold / Silver / Bronze Awardの受賞者を決定します。その場の判断で、Gold / Silver / Bronzeには選べないが、どうしてもピックアップしたいものは審査員特別賞とすることもあります。

HACK WEEK Award Ceremony

Award Ceremony(授賞式)もその日に行うようにしています。DemoDayの熱量が高まっている間に、受賞者をしっかりと称賛するためです。

受賞者には、毎回変わる賞品とミニトロフィーが贈呈されます。現在はオンラインでの開催をベースにしているので、賞品はイベント後に各メンバーのおうちに郵送しています。

まとめ

最後にこのイベントへの個人的なの思い入れを少し書いておくと、HACK WEEKは、「つくりたい」という欲求をすぐさま形にできるというEngineeringの楽しさの本質(だと僕は思っている)をまさに体現するイベントです。

僕自身、プログラミングを始めて間もない頃にハマっていったのは、学べば学ぶほどいろんな「つくりたい!」を実現できることに感動したからでした。

(と言いつつ、僕自身はエンジニアを目指してただけで、結局仕事上エンジニアとして働いたことはないのですが…笑)

HACK WEEKを運営していて最高だなと思うのは、DemoDayでみんなが自分が作ったものを、心から楽しそうに、そして嬉しそうに発表しているのを見ているときです。

ときには、「HACK WEEKがあるからメルカリにずっといるんだよ!」とまで言ってくれる人もいます。

普段の業務ではやはり開発前に様々な調査等が必要となることが多いですが、HACK WEEKでは、「つくりたい!」->「よしつくろう!」ができます。だからこそ、発表しているみなさんがここまで楽しそうに発表してくれてるんじゃないかと思います。

HACK WEEKは、プロダクト開発を1週間止めるなど、影響範囲もかなり大きなイベントで、もちろん開催するには細かい調整や大変なことが多々あります。

しかし、まだまだ改善したいところや試してみたいこともたくさんあるので、今後も社内のみんなに楽しんでもらえるよう、運営側も楽しみながらより良いイベントにしていこうと思います!

関連記事

HACK WEEKのことをもっと知りたい方は、ぜひ関連する過去記事もご参考ください。

※明日の記事はurahiroshiさんです。引き続きMercari Advent Calendar 2021をお楽しみください!