こんにちは。HashHub エンジニアリングマネージャーの @flada_auxv です。
19 年 7 月に HashHub にジョインしてから早いもので半年近い月日が経ったようですが、会社の実現したいビジョンに向かってもっとエンジニアの仲間が欲しい!のだけれども、「HashHubはブロックチェーン領域のコワーキングスペースじゃなかった?なんでエンジニア募集しているの?」とか、「実際にはいまどういうことやっているの?」などという声を相変わらずよく聞く今日この頃。
この記事では、特に開発チームの中の人として、あれもこれも上手くいっている訳ではないですがその現状をありのままに、くわえて、目指すところを少しでもお伝えできたならと思います。
HashHub という会社そのものについて全く知らないよという場合は、CEO 平野が書いた会社全体のことをお伝えしようとする以下のような記事も公開しているのでぜひそちらも見てください。
また、この記事は LayerXのプロダクト開発:チーム・開発プロセス・技術スタック にインスパイアされて書かれました。他社様ですがこちらも興味深い内容になっています。でもね、HashHub もなかなか面白いんだよ?ぜひこの記事も最後まで読んでいってね!
なにをやっているのか
最初にですが、意外と開発やってきています。開発まで含んで HashHub で行っているものとして、以下のようなプロジェクトがこれまでにありました(私が在籍するようになってから以降の話です)。
PoC・受託開発
- Lightning Network を利用する投げ銭サービスの開発
- Solidity, Truffle を使った Ethereum のコントラクト開発
自社サービス
- Sanka Network というステーキングサービス(現在は一時停止中です)
- d10nLab の Web サービス化
優先順位としてはもちろん(いや、意外と思われる方が多いかもしれない?ですが、)長期的な視野での自社サービス開発が一番となっています。実際に、社内で頻繁に新規事業のブレストであったり、伸びそうな事業領域・期待できそうな技術の意見交換がよく行われています。
しかし、将来的な構想を実現していく手立てを考えた時、かなりのスピードで業界自体も変わっていく中で大きくある領域に会社として張らねばならないのに、いま会社として持っているアセットで進めていくには確度高く見通しを立てられないという結論に至ることも多くありました。
すでに一時停止中ではありますが Sanka Network というステーキングサービスを運営したり、いま現在注力している d10nLab の開発などの経験から学んだことも非常に多いのですが、さらに力を蓄え次を見据えて一歩ずつ前進していくことをより優先するという判断の中で、PoC や受託開発に力を割く割合が今後はより増えるかもしれません。この辺りは、以下の記事でも触れていたりします。
また、上記にあげたプロジェクト以外に開発を含まないコンサルやリサーチといった形でも他社様と協業しているので、それらを含めるとかなりの数のプロジェクトをこなし、知見を溜めることができています。
これは、コワーキングスペースとしてのコネクションに加え、昨年秋に HashHub と経営統合した https://d10nlab.com 経由でのコネクションに恵まれていることが大きいです。
開発チームとしてもこれら案件での期待に答えていきたいところですが、人手が不足していて中々あれもこれもと手を出せないもどかしさを感じてもいる所です。
どうやっているのか
ここからはより具体的に、HashHub 開発チームの日常がどんな感じかをお伝えしたいと思います。コードやインフラといったレベルの話はプロジェクトごとに変わるものでもあるので、開発を回していくプロセスとしてどういったことを意識しているかを主な話題にします。
朝会
毎朝決まった時間にカンバン前に集まって朝会をやっています。昨日やったこと・今日やることを軽く共有した後に、お互いに確認したいことや困っていることなどを相談するきっかけになる場所です。
全員参加でやっているので、ダラダラと仕様の話をそのまましないことも意識していたりします。朝会としては一度区切って全体は解散し、必要ある人で必要な話をその後また始めればいいというスタイルです。手短に終わらせようという意図で、少人数でもその場で立って行っています。
週次のふりかえり
今週やったことをふりかえりながら、次週の見積もり・計画を立てています。
見積もりは大事なプロセスだと考えていて、単に後から進捗を図るための指標としてだけではなく、メンバー間での仕様に対する共通理解とある程度の設計の場としての意味合いが強いです。尺度は相対見積もりとしてある基準となるタスクとの相対的なポイントであって、日数に置き換えるものではないというのも意識して取り組んでいます。
月次のふりかえり
月次では KPT を実施して自分たちの振る舞いを振り返っています。
軽くその月内にあったイベントを皆で思い出した後に、時間を区切って Keep・Problem・Try を各自付箋に書き出して、思いを口頭で説明しながらホワイトボードなどに貼っていきます。
特に創業期のスタートアップとしてはあるあるだと思いますが、タスクに追われてつい近視眼的な視野に陥りがちだよねなんていう話をちょうど最近の振り返りでしました。あえて用意された機会でもなければ皆の前で言わないような、でも思い出そうとしたら最初に思い出すような、そんな微妙なレベルの思いもチーム間で共有できた気がして良かったです。
慣れてくると各自から出てくる意見にも真新しさがなくなったりしてダレてしまったりもするものですが、自分たちの振る舞いを正し続けて地道な改善を積み上げること以外に良いプロダクトを作る開発チームを作り上げる効率の良い方法は存在しない、と肝に命じて今後も続けていきたいと思っています。
ブロックチェーンまわりのキャッチアップ
勉強会
もともとは Cosmos というそれなりに注目されているプロジェクトの理想とするインターオペラビリティ実現のための仕様である ICS(Inter Chain Standard) について、その重要さからすれば情報があまりにも無さすぎるので自分たちでもっと知りたい・調べたいという気持ちで仕様を各自読み込んでから集まって理解を確かめ合う輪読会のような形の勉強会を週一で行うようになりました。
ICS のスペックはひと通り読み終えたのですが、十分に理解が深まったと言えない箇所も多く、より深い理解のために ICS が(間接的に)ベースとしているであろう Tendermint と Cosmos SDK を主たるテーマに変更して現在も続いています。
この勉強会を始めた前後で、開発チーム内での会話のレベルが深まったのを実感として感じています。チーム内でレベル感がバラバラであったり、興味の方向性・温度感も違っていて当然ですが、ブロックチェーンに関しては技術的なところに絞ってもテーマやネタが多いですし新しいものが頻繁に登場してきており、そういった中である程度お互いの会話の中心となるような共通の知識を手に入れる事が出来たのは良かったです。
この勉強会で得た ICS に関する知識は以下のスライドにもまとまっています。
また、開発チームを中心に技術的な部分を扱う勉強会が先ほどの勉強会ですが、それとは別に全社でも毎週金曜にランチ勉強会として社内外から発表者を募り行なっている集まりがあります。これは外部の方の参加も受け付けておりますので、もし興味のある方がいらしたらぜひご連絡・ご参加ください。
イベント・コミュニティ
大きいイベントだと 19 年 10 月に行われた Ethereum の開発者カンファレンスである Devcon 5 に会社の支援を得て参加してきました。その他、参加費用が掛かるようなカンファレンスにも補助を出す仕組みがあります。
また、コワーキングスペースでもあるので、普段の執務スペースがイベント会場として貸し出されることも多いです。興味あるイベントであれば会場係として参加することも場合によっては可能です。エンジニアよりのイベントがもともと多いですが、直近でそういうイベントを適当にピックアップしてみます。
これはオフィシャルな何かというわけではありませんが、ボードゲームを結構な数取り揃えている(入居者さんの私物も含む!)ので、仕事終わりに皆でわいわい遊べたりもします。実際、ここ最近は月に一度くらいの頻度では突発的なボドゲの集まりが起きているようです。
最後に
少しでも HashHub 開発チームの様子が伝われば嬉しいです。こう書き出してみると、特に新しいことは何もやっていない事が浮き彫りになった気もしますが、真面目にプロダクト開発に精を出してきた方であればどなたでもすぐ活躍できるというのをよく表しているかもしれません。
実際に、採用プロセスを始めるにあたり現状でのブロックチェーンに関する知識の深さは問うていません。ここら辺は難しさも感じているところなのですが、それはまた別の機会に。
もし興味を持っていただけた方がいらしたら、ぜひ下のリンクから「話を聞きにいきたい」を押してください!お話しできるのを楽しみにしています〜!