technology

完全リモートの3人が #TokyoBitcoinHackathon で3位になるためにやったこと。

こんにちは、早乙女まどか(@________saotome)です(本名ではありません)。

つい先日、大学時代の友人のあきふみ君(@akifumifukaya)、もりやさん(@hm0429)と一緒に第二回TokyoBitcoinHackathonに参加してきました。

そして結果として「総合3位」「CRYPTOAGE賞」を勝ち取ることができました。

今回僕たちは3人で1チームだったのですが、実は二日間まるまる会場にいたのはあきふみ君だけ!

僕は二日目からメインに、そして、もりやさんに関しては完全にリモートでの参加でした。

いつもの記事とは毛色が違いますが、今回このような形で結果を残すことができた過程を記録として記事に残しておきたいと思います。

TokyoBitcoinHackathonとは

「Bitcoin」をテーマにしたエンジニア向けのハッカソンです!!

「Bitcoinでコントラクトが書けるなんて知らなかった!」 「もっとBitcoinを勉強したい!プロダクトを作ってみたい!!」

と、大好評を頂いたBitcoin Hackathonが、第2回を実施します!!

今回はなんと、 「モバイルだけでなく、WebでもなんでもOK」 です! 

引用: 第2回 Tokyo Bitcoin Hackathon Connpass

TokyoBitcoinHackathonはイベント公式ページにあるように、エンジニア向けのイベントです。Bitcoinを活用したプロダクトの企画~開発を2日間で行うなかなかにハードなものでした。

しかし、その分得るものが多かったのも事実!

今回僕たちは参加するに当たり事前にこの3人でチームを組んで挑むことを決めていました。

ただ、メンバーのもりやさんはConsensus Singaporeに参加しており、2日間とも会場にいることは不可能、僕に関しても一日目は会場にいる時間は2時間程度と、フルで会場で参加できるメンバーはあきふみ君だけでした。

そんな僕たちのチームがバラバラの場所で、どのようにしてコミュニケーションを取りながら、実際にアイディア出しから企画の詰め、そしてプロトタイプの実装を行い、結果として2つの賞を勝ち取ることができたのか?

ツールの大活用

今回リモートでの参加ということで、普段3人で利用しているコミュニケーションツールやドキュメンティングツールをうまく活用していきました。そしてこのようにツールを最大限に活用できたことは、全体を通して大きなアドバンテージだったのではないかと思います。

Slackでのコミュニケーション

各々が別の場所で作業をしているということで、それぞれが「どういった作業をしているのか」や「現状のステイタス」を把握しやすいようにチャットでのコミュニケーションを大切にしていました。言葉で説明しにくい場合は、紙に書いたものをスクショで共有したりする工夫も!

クリティカルなコミュニケーションはGoogle Meetで顔を見ながら

ただ、実際に各々が自発的に動き出すにも「方針」が決まっていないと、効率的に動き出すことはできません。

そのため、今回のハッカソンの中でコアになってくる「アイディア出し」部分や「企画」のタイミングではGoogle Meet(ハングアウト的なやつ)を使って、画面越しに話しながらすすめていきました。

僕たちは今回「payment channelを利用した小規模決済」を実装したのですが、実は他にも同じくらい実装したら面白そうな案もあがっていたりして、ジャッジに迷う時間もありました。

ただ、このようにリモート環境でも、対面で話すことでお互いがハラオチして決定し、そして決定したことに向かって走りだせる状況を作ることができました!

(ずっと会場にいたあきふみ君は「こいつ一人で喋っている!と思われいたらどうしよう!笑」と少し感じていたようです。)

調べた内容、コードの断片Etc..知識はとりあえずscrapbox.ioに残す!

完全にリモートのメンバーもいたので、お互いがどういうことを調べていたり、どういう知識を持ち合わせているかを把握することはとても大切です。

そのため僕たちは今回、以前から知識の共有や議事録等様々な目的でフルに利用している「scrapbox.io」を活用しました。

こちらのサービスはチームのためのドキュメント共有ツールです。

ドキュメント共有ツールといっても様々なものがありますが、個人的にはscrapboxはその中でも頭一つ抜いて使いやすいと思っています。

シンタックスハイライトもあり、タグやリンク機能も充実。

各々が調べた内容やURLを細かくメモで残しておく。

見つけたサンプルコード、書いたサンプルコードも積極的に残しておく。

リアルタイムで反映されるのでアイディア出しの時もGoogle Meetで話しながらScrapboxでドキュメントに3人で同じノートに書き込んでいました。

アイディア出し時のnote

(アイディアをいくつかに絞ったあとは新規性・実装コスト・難易度という2つの軸でMappingしていきます。その際はGoogle Slideを利用してリアルタイムに3人でマッピングを行っていきました。)

チーム力!〜各々の自発性、同じゴールを見据えて走り切る姿勢〜

なんだかんだ、やっぱりチームにいるメンバーの自発性はとても大切で、そしてチームメンバーが同じゴールを見据えて走り切るコミット力は、こういった時間の限られている中でなにか成果を残さなければならない場合にとても大切になってきます。

いわゆるチーム力です。

上のSlackのスクショを見ればおわかりいただけるかもしれませんが、朝の4時、5時に活発にチャットで盛り上がっているんです。

2日間しか時間がない中、メンバー全員が睡眠時間までも削って目標に向かって走り抜く、そういったことが可能なチームというのはやっぱり強いなと。(睡眠時間を削ることが正しいと言っているわけではありません、むしろ効率を低下させる場合が殆どです。)

限られた人的・時間的リソースの中で何かをやり遂げる時、少しもチームの士気が下がることなく走りきり・やり遂げられたことは、とても大きなアドバンテージだったと思います。

もともと3人が同じ大学出身、友達(先輩後輩)で、同じバイト先(Pankaku)でエンジニアとしてバイトをしていたり、そういったバックグランドがあり信頼関係があったからこそなのかもしれませんが、これが

チームとしての強みです。

なんだかんだ、メンバーが強い!

メンバーそれぞれのベース能力が高かったことは大きな要因です。

Ethereum、そしてSolidity等を用いた開発経験や知識はありましたが、実のところ3人とも暗号通貨の低レイヤの技術部分についての詳しい知識はありませんでした。

ことさら、今回のお題でもあった「BCH」「BTC」に関しては知識がありません。「UTXOとは???」くらいの知識です。(Mastering Bitcoin読まないと…..!)

しかしながら、ベースとなるプログラミングスキルや新しい技術へのキャッチアップ力はピカイチで、今回僕たちがプロトタイプを開発したものに関しても、それを実現するにあたり利用した「payment channel」というものに関しては聞いたことはあるものの、詳しい仕様や技術的な実装方法などは全く知りませんでした。

ただ、この2日間を通して講師の方に聞きまくり、そして調べていく中でなんとか技術的にキャッチアップし、そしてそれをプロトタイプに落とし込むことができたのは、基礎となる能力があってこそだったともいます。僕を除き、お二人の力は計り知れません!!!!

まとめ

最後になりますが、ハッカソンを主催してくださったYenomの皆様、 スポンサーのbitcoin.com様、会場提供のNeutrino様、審査員のおび様、ありがとうございました。

この場をお借りしてお礼申し上げます。

そして、今回メインで実装をしてくれたあきふみ君、様々なアイディア出しやサンプルコードを書いてくれたもりやさんありがとうございました!これからも一緒に色々やっていきましょう!

最後に、今回たくさんのサポートをしてくださったサポートメンバーの皆様、本当にありがとうございました。

何を聞いても答えてくださり、しかも自分たちと同年代、若い方々が圧倒的な知識を持ち合わせているということで、とても刺激になり今後の開発意欲も爆上げです。笑

これからも引き続き暗号通貨関係で色々なプロトタイプを作っていこうと思います!

また、どこかのハッカソンでお会いしましょう!

  1. ツール群を活用しまくる!
  2. チームで勝つ!
  3. メンバーのベース知識!

 

あわせて読みたい
AWS IoT エンタープライズボタンで有給休暇取得を気軽にできるようにしてみた。こんにちは、こんばんは。 実はこう見えてソフトウェア・インフラエンジニアな早乙女まどか(@________saotome)です。 ...
ABOUT ME
早乙女まどか
早乙女まどか
彼女と僕、そして猫一匹の横濱桜木町での同棲生活を綴ります。写真やグルメ情報中心に生活のちょっとした工夫や日々の何気ない幸せを皆様に伝えていきます。