LINE Fukuoka開発室エンジニアによるリモートハッカソンを実施しました

LINE Fukuoka開発室では、2週間に渡って80人のエンジニアがリモートでアイディアソンとハッカソンを実施しました。その開催の準備から発表された成果物をご紹介します。

LINE Fukuokaでは去年は実施できなかったですが、基本的に毎年ハッカソンを開催しています。今年も開催を予定していたのですが、新型コロナウィルスの感染拡大防止のためオフィスにみんなが集まることは難しく、リモートで開催することになりました。

事前準備

例年の流れだと、

アイデアソンの実施 -> エレベーターピッチの実施 -> チーム確定 -> ハッカソン実施 -> 発表会

というようにハッカソンの前にみんなでアイデアをブレインストーミングしたり、自分のアイデアを人に売り込んで仲間を集めたりするフェーズがありました。

LINE Fukuokaのエンジニアは全員合わせると80人以上にもなるので、ブレインストーミングは似たような興味のある人で小さいグループを作って話したいし、グループを渡り歩いたりしたいのですが、リモート飲み会などを経験したことがある方はわかると思うのですが、これをリモートでやるのは難しいです。

あらかじめ皆が考えそうなトピックをカテゴリー分けしました。そのトピックごとにZoomのroomとBox notesという共同編集可能なオンラインメモを作って、confluenceのハッカソンのページに貼り付けていました。

Zoomだけでは誰がどんな話を全員分把握することはできないのですが、その部分をオンラインメモが補完していました。

また、アイデアソンは2週にわたって実施したのですが、その間も、オンラインメモ上ではアイデアの共有やディスカッションができるのでリモートワーク向きだったと思います。

アイデアソンの2回目の終わりに、リモート飲み会兼カジュアルなプレインストーミングをspatial.chatを利用してやったのも自由な発想が出る手助けになったかもしれません。

例年、チームは二人以上というルールで実施していたのですが、今年はリモートワークの中で仲間を見つけるのは簡単ではないので、一人チームをokにしました。それにも関わらず、32チーム中18組は複数人チームでハッカソンに参加していました。

成果発表も例年はほぼ1日かけて全員プレゼン形式で発表という感じなのですが、今年はトピックも学習目的のものもokということ、そしてブログのようなテキスト形式があうこともあるだろうということで発表形式は、選択できるようにしました。

ハッカソン当日

全員がオフィスに来ることもないだろうということで、事前にアンケートでオフィスに来るかどうかを聞きつつもオフィス利用okにして実施しました。

もちろん、リモートでやっているチームも多く、それぞれに専用のSlack channelを作ってZoomを繋ぎっぱなしにしたりしているチームも多かったようです。

成果発表

LINE Fukuokaの開発組織には様々な国籍のエンジニアが所属していて、主に日本語と英語が使われています。発表はどちらの言語を利用しても良いのですが、どちらの言語も得意という人ばかりではないので、発表当日は同時通訳を利用することが理想です。ただし、ハッカソンは通常の開発と違い通訳の方もコンテキストがなかったり知らない単語が多かったりします。そのため通訳の方は、ハッカソンの当日から、各チームのSlackチャンネルに入って、キャッチアップしつつ、発表資料を事前に読んで質問をして発表当日の準備をされていました。

発表された成果物

空気中のCO2濃度可視化

普段直接は関わらないIoTものとして、空気中のCO2濃度を測定し、可視化や通知するシステムを作っているチームが三つありました。やり方は三者三様で、ESP32モジュール付きのArduinoとCO2センサーを合わせて作る正攻法?のもの、Smart Citizen Kitを利用して複数のデバイスのデータを切り替えて見れるようにしたもの、すでにインターネットに繋がらないモニター付きCO2センサーを持っていたため、そのモニターの画像を画像認識してデジタル化したものなどあり面白かったです。

ARコピペアプリ

カメラで捉えた物体をコピーして、それをその写真の中にペーストして再配置することができるというスマートフォンアプリでした。機械学習(Tensorflow Lite)を利用し物体を検知してコピーしたり、AR Coreを利用し地面を検知して物体をペーストできるようにしたり、技術的にもとても面白かったです。

レーザーハープ

ミュージシャン平沢進氏のレーザーハープを作りたいというモチベーションのもとで、LEGOとレーザーとセンサーとArduinoでレーザーハープを作っていました。

以下のデモを見ていただければ言葉による説明は必要ないかなと思います。

Slackからの協業度可視化 (Slack Chat Map)

弊社では半期ごとに評価があるのですが、半年も前だと誰と働いていたのかきちんと思い出せないことがあります。リモートな働き方に移行してチャットツールの利用度が高まっている中で、チャットツールの会話から同僚の協業関係を可視化するために、チャットツールからソーシャルグラフを作っていました。

芋づる式!読書MAP

読書好きのエンジニアが、岩波書店の読書MAPにヒントを得て、自分たちで手に入る情報をもとに、自分の欲しい読書MAPを作っていました。

Neo4JというグラフDBを使ってみたり、WEB ViewのMAPを見るアプリだけでなく、本を探すことのできるiOSのアプリまで作っていました。

PMC Bot

LINEではPMCという内製のデプロイツールが多くのプロダクトで使われています。Browserで動くUIも提供されているのですが、歴史のあるプロダクトなのでUIが必ずしも初心者にフレンドリーでなかったりデプロイのログをchatツールで見たかったりするという理由でPMC BOTというSlackのBOTでデプロイ出来るツールを作っていました。そのツールに実装したかったロールバックに対応する機能などをハッカソンのタイミングで作っちゃおうということで、なんとこのエンジニアは二つ目のアイデアとして開発していました。ステートマシーンを用いた実装としても面白いものだったようです。

LINEスタンプのカスタムタグサーチ

LINEに最近追加された機能でスタンプのタグサーチというものがあります。現在は”OK”や”Thanks”といった固定のよく使われる単語の中から選ぶようになっているのですが、このタグをカスタマイズ可能にするという機能です。LINEのクライアントアプリを作成している開発者が自分の開発しているプロダクトに欲しい機能のプロトタイプをハッカソンで作ってしまおうということで、できたプロトタイプはチームに共有してみるとのことでした。自分で考えた機能をLINEに実装できるという体験はLINEで行うハッカソンならではの醍醐味なのではないかと思います。

他にも素晴らしいアイデアがたくさんありました。発表を見ていたのは80人以上いたので、多分実際にモノづくりには参加していない人もいたのではないかと思います。

感想

オフラインで出来たらもっと楽しいのにという意見もありつつも、ポジティブな意見が多かったです。

  • 実際に動くデバイスが作れて楽しかったです。
  • 業務時間を使って、純粋に何かを作るという楽しさに触れられる、また業務では関われないけど興味深い人と関われる
  • 学習目的のハッカソンプロジェクトにすることができたので、リラックスして取り組むことができた。
  • 気になっていたアイデアを自由に作る時間が取れて最高でした
  • I was able to work on thing
  • I get the time to focus on the research topic I’ve been wish for.
  • 日頃やらないことを調べて作れたり、他の人がいろいろやってるのはやはり面白かった。
  • けど、他の人がいろいろやっているところが見れなかったのがさびしい
  • 普段の業務から離れてコードをめっちゃ書けたので!でもやっぱりCovid-19がなければ物理的に集まってワイワイやって打ち上げまでできたのになぁというのが残念だった

通常あまり関わることにないセンサーなどのデバイスを使うことができたことや、自分の興味があるけど普段やらないことができたこと、業務では関わらない人と働くことができたことに満足する方がとても多かったです。皆さんに満足いただけるイベントになったので、オンラインという形でも開催できたことを大変喜ばしく感じます。今後も継続してハッカソンを開催していきたいと思います。