! This post is also available in the following languages. 英語, 韓国語

LINE iOS/Android Hackathon 2017

こんにちは。LINEのiOSアプリの開発を担当しているHyeonji Joです。2017年12月13日から15日にかけて開催されたLINE Hackathon 2017についてご紹介します。LINEはこれまで、iOS、Android担当開発者向けの社内ワークショップを開催してきました。セッションで情報を共有し、1日で終わるくらいのハッカソンを実施するといった内容です。ところが「たくさんの奇抜なアイデアをコードで書くには1日は短すぎる」という意見があったため、今回のワークショップはハッカソンのみでの開催となりました。時間が倍になったからといって、ハッカソン終了後の悔しさやもどかしさがなくなるわけではありません。ただ、十分な時間が与えられた分、成果物に対する満足度も格段にアップし、多彩で面白そうなテーマに触れられる、記憶に残るハッカソンになったのは間違いありません。

初日

今回のハッカソンにはLINEの日本、韓国、台湾オフィスからiOS、Android開発者とQAエンジニアが参加し、開催前に約30チームを結成。参加者の国籍がまちまちだったため、大会の進行・案内は英語で行われました。お知らせなどは専用に作成したLINE公式アカウントから発信されました。タイムスケジュールや会場利用時のコツなど情報を提供してもらったり、挨拶をしたり、問い合わせに回答してもらったりと、公式アカウントは3日間色々なところで参加者をアシストしてくれました。

参加者が全員集まると、名前を呼ばれた順に簡単な自己紹介をした後、いよいよワークショップ開始となりました。ここ1~2年で開発者数がかなり増えたため、LINE上で名前を知っているだけの人も多いのですが、一人ひとりの名前と顔をマッチさせながら挨拶することができて良かったと思います。各オフィスのiOS、Android開発者が一堂に会する機会はなかなかなく、とても有意義な時間でした。

ゲームで盛り上がろう

続いて行われた紙コップ積み上げゲームで、会場の雰囲気はさらに盛り上がっていきました。紙コップ積み上げゲームとは、ランダムに決められた相手と一定時間かけて紙コップを積み上げ、その高さを競うゲームです。私のチームは日本オフィスから来たある初対面の開発者と戦うことになりました。笑顔で挨拶を交わすと、早速ゲーム開始です。相手は一人。当然、勝ち目はこっちにあると思ったのですが、相手は私たちを上回る強敵でした。せっかく私たちを負かしたのだから他のチームにも絶対勝ってほしい、と後はずっと彼を応援しました。結局、一人では少し足りなかったのか彼は優勝には及びませんでしたが、それでもランキング入りできたのでこちらまで嬉しい気持ちでした。

ゲームが繰り広げられるにつれ、紙コップの数は増え、難度は高くなっていきました。そしていよいよ決勝戦。熱気はさらに高まっています。機転の利いた戦略と素早い手の動きでどんどんコップを積み上げていく優勝チーム。「もしかしたらあれは、長年の修行の結果?」と思うくらい驚きの実力でした。そうやってゲームで盛り上がった会場で、早速、ハッカソンが開かれました。

本番、始まります!

チームごとに打ち合わせルームを確保すると、プロジェクトは本格開始となりました。まず、あらかじめ考えていたアイデアを具体化し、テーマのアイデンティティや実装したい機能のユーザビリティについて深く考え、議論する時間が続きました。このときを待ってましたとばかりに目をキラキラさせながら意見交換していた人々の姿が今でも印象に残っています。

休憩時間ですよ~

続くディナータイムには、ゆったりした雰囲気の中、久しぶりに会った仲間とビール片手に会話を楽しんだり、実装予定の機能の話で熱く盛り上がったりと、楽しいひと時を満喫。2日連続して行われる開発を前に緊張を解きほぐし、穏やかな気持ちになれる時間でした。後はチームごとに分かれて開発を進めたり部屋で睡眠をとるなどしながら自由に過ごしました。中には作業に弾みがついて、夜遅くまで開発三昧だったチームも多かったようです。

2日目

2日目は結果発表と投票の日。夜8時に行われる発表会に備え、開発と発表の準備が自由に行われました。朝から晩まで食事以外の予定はなく、開発だけにどっぷり集中できる時間でした。会社近くの見慣れた風景から離れ、雪景色を眺めながら気分転換することもできました。好きなテーマで、時間が経つのを忘れて開発に没頭できるというのがハッカソンの魅力なのかもしれません。

チームの仲間や他のチームメンバーたちが開発している様子を傍から見ることができるというのもハッカソンならではの特別な経験です。私も入社早々にして開かれたハッカソン大会に、当時Swiftなどを勉強していたので参加したことがありました。その時一緒だった先輩が問題にアプローチし、コードを調べていく様子から、たくさんのことを学んだものです。そこで今回も、先輩開発者たちの様子を注意深く観察していたのだと思います。もちろんGitHubでは他の開発者が書いたコードが常時閲覧できるのですが、人々が問題解決に取り組んでいる姿を直に見るということは、私のような新人開発者には大きな勉強になります。

QAも参加するハッカソン

今回のハッカソンは前回と違ってQAチームも参加した中で行われました。彼らは開発者たちが実装したものをテストしてコメントをくれるなど、成果物のクオリティアップに尽力してくれました。QAエンジニアがより簡単にバグ登録できるようにサポートするツールを開発したチームがありましたが、彼らはQAエンジニアに認められ、Quality Control Approvedマークを獲得しました。

いよいよ発表の時間!

長かった開発時間が終わり、日も暮れ、発表の時間になりました。発表されたテーマは、iPhoneXのアニ文字、iOS 11 Core ML Vision Frameworkなど新技術を生かしたアイデア、LINEと他のプラットフォームとの連携、普段「LINEにあったらいいのにな」と思っていた機能など多岐にわたりました。準備時間が長かったこともあって、以前より多彩で興味深いテーマに触れられる大会だったと思います。そのためか、数時間に及ぶ発表にも皆疲れた様子もなく内容に聞き入っていました。

参加チーム数が多かったので1チームあたりの発表時間は5分、スライド数は10枚と制限されました。コンパクトで聞き手を退屈させないプレゼンをしようとすると工夫が必要で、準備に時間がかかります。受賞は投票結果で決まることになっていたため、有権者の関心を引くための戦略として、面白いシナリオやコントを用意したチームもたくさんありました。充実したアイデアと、発表者の抜群の演技力の組み合わせに拍手しながら笑っているうちに、そのチームの発表テーマはおのずと頭に刻まれていきました。ユニークなアイデアの数々と優れた技術力、プレゼンのセンスの良さまで、人々を説得する能力を垣間見ることのできる楽しい時間でした。

第1位の栄誉に輝いたのは?

投票の結果、1位の座を獲得したのは、LINEのチャットリストをグループ分けして手軽に管理できる機能を発表したチーム。個人チャット、グループチャットなど、チャットをタイプごとにグループ分けすることでアクセスと管理をしやすくし、ユーザが追加グループを作って目的に合わせてチャットルームを分類できるようにした、とても面白いアイデアでした。短い時間でこれだけたくさん実装できたのも驚きですが、それがLINEユーザとして一番欲しい機能だったことが支持されたのだと思います。

おわりに

今回のワークショップは、普段勤務するオフィスではない別の場所で、やってみたかったこと、日ごろあまり扱う機会のなかったものに自由に挑むことのできるワクワクする時間でした。さらには、テーマや技術をめぐって活発な意見交換を行い、アプリのユーザビリティや技術に関する視野を広げる上でも良いきっかけとなりました。そうした開発の楽しみ以外に記憶に残るものがあるとしたら、ハッカソン参加を通じてたくさんの方と知り合い、親しくなれたことだと思います。隣のチームが開発する様子を横で見て、ともに食事をしたりおやつを食べたりしながら一日中一緒に過ごしているうちに自然と会話が広がり、とても楽しい時間が過ごせました。なお、違う場所で働く開発者とも、LINEでではなく直接会ってお話することで付き合いが深まっていきました。多くの方のプレゼンを見て改めて感じたこと、それは、ユーザがLINEに求める機能、足りないと感じるところは何かと皆真剣に考えているということ。そして毎日顔を合わせることはできないけれど、私たちは同じ船の仲間だということでした。