『【CTOって本当にかけるの!?】ベンチャー6社のCTOチームと競う新規サービス立ち上げハッカソン』という、強いキーワード盛盛なハッカソンに参戦してきました。
果たして CTO たちは何を作ったのか、ハッカーズ軍団は CTO軍に勝ち得たのか、ハッカソン戦記です。
ハッカソン概要
『【CTOって本当にかけるの!?】ベンチャー6社のCTOチームと競う新規サービス立ち上げハッカソン』、なんという強烈で挑戦的なキーワードが並ぶイベントでしょう。
ベンチャー6社さんの CTO が参加者とサービス開発で戦うといいう趣旨のハッカソン・イベントです。
CTO が参加者に混ざるのではなく、CTO は CTOチーム、参加者は参加者でチームを作り開発をする形です。
募集は一般 30人、学生10人でしたが、初開催であることとタイトルの強い感があったためか、参加者は8名でした。
大きいイベントもいいですが、3チームの対戦となり動きやすかったりカジュアル感があってよかったです。
会場は HENNGE(N2つ大事/ヘンジでなくヘンゲです)株式会社さんのオフィスでシブヤ・ビットバレーなロケーションです。
室内は緑が多く配置され、仕切りがなくフリーな感じで、スタンディング、ソファー、テーブル、ファミレスタイプ、オフィスタイプ、集中席などと多様な席タイプがあり、とてもステキな感じです。(写真は後掲)
当日の進行
開会でまず CTO さん、スポンサーさんの自己紹介と会社紹介をいただきました。
社名 | お名前 | |
---|---|---|
シタテル株式会社 | 和泉 信生 執行役員CTO | 主催者さん、ゲーム作りなどもされている |
ラクスル株式会社 | 泉 雄介 取締役CTO | Chart.js でかっこいいグラフを作成 |
HENNGE 株式会社 | 小椋 一宏 代表取締役社長兼CTO | 会場提供者さん、和服がステキ、CEO兼 CTO |
Wovn Technologies 株式会社 | Jeffrey Sandford 共同創業者CTO | 急用につき欠席でした、残念 |
ENECHANGE株式会社 | 白木 敦夫 取締役CTO | 急用につき欠席でした、残念 |
ルームクリップ株式会社 | 平山 知宏 取締役CTO | 私たちのアイデアにキー・メッセージを! |
株式会社オプトベンチャーズ | 細野 尚孝 パートナー | スポンサードありがとうございます |
HENNGE 株式会社 | 天野 治夫 エグゼクティブオフィサー | 写真撮影と会場管理ありがとうございます |
続いて参加者の自己紹介。
「社会人1年目で~」「3年目~」「1年で~」って、みなさんお若くないですか!?
たぶん、おっさん1名(私)、中堅~ベテランさん1名、あと若い方の 8人のメンバー編成と思われます。若いとはいえ、CTO に挑むだけあってめちゃくちゃすごいエンジニアさんたちです。ご一緒させていただいた方は、ハッカソン優勝者、Django & DB でサーバーサイドのスペシャリスト、あっという間に iOS アプリを作り上げたモバイルアプリのスペシャリストと、とにかくすごかったです。(ご一緒できて楽しかったです。ありがとうございます。)
アイディアピッチを募集していましたが、応募がなかったとのことで、仮チーム分けをしてアイデアソン・タイム約1時間。テーマ設定はなく、フリーで議論。
昼食のサンドイッチ(とても美味しかった!)をつまみながら、アイデアソンの結果から開発対象を検討。
チームは最初の仮分けしたメンバーのまま進むことに。やっぱり自分で練ったアイデアを作りたいですよね。
開発開始!
11:00 ~ 17:30 の 6.5時間1本勝負!!
17:30 開発終了、発表、クロージング。
ハッシュタグ#cto_vs_hackers、当日は忙しすぎて何もかけなった(ツイートしたけど付け忘れた💦)
当日の雰囲気https://photos.app.goo.gl/LtJEL8TrvTPdRg4h8
チーム メンバー
今日はハッカソンだー!
— いも (@imodeicious)2019年3月8日
@imodeiciousは、ハッカソンのプロといっても差し支えないでしょう。
アイデアソンでのアイデアの広げ方、開発に当たっての進め方、エンジニア間の調整にドキュメンテーション、ファシリテーションにプレゼンテーションとチームを盛り上げ、そしてひとつへと導いてくれました。ありがとうございます!(せっかくのハッカソンなのにコーディングの方で活躍できる機会がなく、すみませんでした。)
六本木のハッカーズバー行きてぇ
— medyʕ ◔ϖ◔ʔ 🐍 (@dumblepytech1)2019年3月10日
@dumblepytech1は、Django & DB 使いでサーバーサイドのスペシャリスト。ざっくりとした要件から、見事なデータモデリングをしてサーバーの実装をしてくれました。ミュージシャンにしてスポーツマンそして技術書展に出展を狙うなどといった趣味と技術の広さがすごく、アイデアソンでもたくさんのアイデアを出してくれました。ありがとうございます!
「現場で使える Django の教科書」を紹介いただきました。そして自身でも技術書展での出展を目指すとのこと、すごいです。
出版なら(でなく出展だけど)ラクスル株式会社泉CTO。私は本ではないけど、アイコンの猫をステッカーにしてPCに貼りたいのと天板をがっちり覆うようなシールをしてみたいのでお話してみればよかった、しまった。
初ッカソン
— rnitta (@rn1tta)2019年3月9日
HENNGEさんオフィス強くて転職みがあるpic.twitter.com/pdvnEad6fh
@rn1ttaはモバイルアプリのスペシャリスト。
「自撮りで自分の写真をサーバーに送って~」みたいなざっくり要件をきっちり整理して、また必要なアプリ機能をしっかり分解してメニュー化しつつ短時間でアプリを作ってくれました。実装機能が膨らんでしまう部分についても、ハッカソンの当日向け代替実装を考える設計実装力、そしてキーとなる部分での核心に入る発言と、サービスの確実な実現をしてくれました。ありがとうございます!
素晴らしいメンバーとであえ、そして一緒に開発できとても楽しかったです。
アイデアソン
テーマ無しでのアイデアソンでアイデアを出しつつ、せっかくなので自分たちで「シブヤ | CTO」を設定してみました。フリーでアイデアを出していくのも楽しいですが、やっぱりテーマ設定すると軸がはっきりしてより楽しめたように感じます。
“シブヤ” の観点では、109 のファッションや路上ライブやタワレコなど音楽のイメージが連想されたり。
ファッションといえば、主催者のシタテル株式会社和泉CTO。アイデアソンで切り込んでみてもよかったかも(vs CTO ハッカソンではあるけど、アイデアソンは)
ハロウィン、これは暴動的な盛り上がりをどうした良いか。チョット難し。
規制や制限のためのシステムではなく、やっぱり「楽しいこと! 最近楽しいことありましたか!?」by@imodeicious。ですです。
イベントごとからは子供がいる場合でも楽しめるには?などと広がりがでました。
そこから、子供向けや、お子さんのいる世帯向け、そこから子供含め使っているであろう LINE を使ったアプリでできそうなことなどなど。
“CTO” の観点では、エンジニアのボスとして、エンジニアに向く人って知りたいかな?など。これは自分たちもで自己分析他、著名なハッカーさんとかを知りたいとか。
こちらは設定してみたものの、ちょっとイメージしにくかったなぁと思いました。
CTO、立場や役割は漠然と知っているものの、なかなかお話する機会もないし、やっていることも多様かなって。
懇親会の時間にお話させていただき気づいたHENNGE 株式会社小椋CTO、CEO もされていて経営者そのものなんですよね (もちろん CTO 職も経営陣ですが)。
“CTO” とテーマ打っているイベントなので、CTO のみなさんの役割や業務などのお話時間があってもおもしろかったかもしれません。懇親会で CTO LT とか。
そんなこんなで、10個近いアイデアが出てキーになる4つを発表しました。
開発6時間ではスタートしてからアイデアや実装困難から切り替えなどに悩む時間はないですが、アイデアソンでは実装技術度外視でたくさんのネタを出したいところです。
ウチのチームにはたくさんのアイデアが出て、どれも魅力的で、作りたいものを絞らなければならない贅沢な悩みをさせてもらいました。ありがとうございます。
こんなに順調に、 これだけのアイデアがでるってすごいし、各々のアイデアに敬意をもって楽しんで聞いて膨らませるといったステキなサイクルが回っていたように感じます。
開発!
幸運にもたくさんの魅力的なアイデアが続出。その中から「提案型ヘアサロン・アプリ」を作ることにしました。
この案をアイデアソンで発表した際に、ルームクリップ株式会社平山CTO から、強烈なメッセージをいただきました。そしてこのキー・メッセージこそが、私をこの案の実装に駆り立てたところがあります。
アプリ:ミツカルヘアサロン 〜提案型のヘアサロン〜
アプリ概要
- 髪を切りたい人が、写真やなりたいイメージを登録
- ヘアサロンが、登録された情報から、提案を作成
- 髪を切りたい人が、提案を見て決める
開発対象と主担当
- @imodeicious開発環境、アプリーサーバ間の設計、仕様書、スライド
- @dumblepytech1サーバー
- @rn1tta髪を切りたい人用アプリ
- @lulznekoヘアサロン用アプリ
開発対象と担当が決まり、開発開始。
アプリ2つにサーバーと作成物が完全に分離されているので Web API とデータ構造の認識があっていれば、得意な技術で一気に進められます。
他のアイデアもすごくよくて作りたかったのですが、開発対象が漠然としていたのと実装した際に作業が密になりそうだったので、限られた時間で実働と完成度を求めると、作業分担を明確にしたほうが良いと考えました。(他のアイデアを押してくださったのに、すみません)
@imodeiciousが速攻で GitHub のリポジトリを用意し、Slack チームの作成と開発環境を整え、続いて Web API 仕様を Google ドキュメントを使って画面共有しながら詰めていきます。そのまま設計を詰めつつ、Google スライドでプレゼン・スライドを作りました。このあたりの構築の速さと、ツールの使いこなしが抜群です。
こういったつなぎの部分を滞りなく構築するのは大事で助かりました。
サーバー は@dumblepytech1の Django です。データモデルを定義することで簡単に DB を作れ、しかも Web UI が起動してマスターメンテしていました。これは便利。
またローカルサーバとのインテグレーションには ngrokhttps://ngrok.comを使ったとのこと。こちらはローカルのポートをウェブサービスとして公開できるようにします。
髪を切りたい人用アプリは@rn1ttaのFlutterで Android, iOS のアプリを開発。シングルコードベースで両対応のネイティブ・アプリが作れるんですね。勉強になりました!
私@lulznekoヘアサロン用アプリは Nuxt.js の PWA です。ブラウザで見ることもできるし、モバイルアプリとして使うこともできます。
いつもの手法でって感じで GitHub Pages にホスティング。CircleCI は権限設定とかがあったので省略し、適時手動デプロイしました。今回のような短時間でしたら手動でもよいですが、やはり CI/CD は入れておきたいところ。この辺の話は別途整理します。
11:00 から設計開始の 17:30 終了で発表。
時間が圧倒的に足りないとは思いつつも、しっかり作り切れたようにも感じますが、集中しすぎでせっかくの開発憲章「楽しくコミュニケーションする」を満たせず「もくもく」で作業しすぎてしまったのが反省。
ソファー席エリアを使って、大型ディスプレイで音楽かけたり、映画流したりして緩い感じで、かつ集中して作業できました。(靴脱ぎソファーで全開くつろぎスタイルのコーディングしてましたが、めっちゃ集中!)
作ったアプリは、クリーンに再実装して勉強にしたり遊べるようにします。
(それなりにクリーンコードでコミットはキレイに積んだつもりですが、やはり時間制限中では変なものが混ざっちゃってますし)
CTO チームはモブ形式で楽しそうにやっていたので、やり方を考えてみるのも一考かもしれませんが、はじめて会った即席で技術もまったく異なる混成チームなので、短時間でモブるのはキツいかもしれない。ワークショップとかハンズオンだったらよいかも。
開発案件は会議中の参加者の感情をモニタリングするサービス。会議で話しているときに、参加者はどう感じ取っているのかをフィードバックできるようにする仕組みです。同意しているのか、反対なのか、理解しかねているとかをわかりやすくしたら意思統一を流行りやすいよねってところです。まずはアプリのボタンからフィードバックを入力、将来的には画像認識から感情を読み取ることを考えたいとのこと。
もう1つのチーム「さくらもち」さんは、オフィス型の外部ディスプレイが使える環境で開発していました。ちょっと離れていたので雰囲気はわかりませんでしたが、少しお邪魔させていただいたときは楽しそうにお話をされてた感じでした。チーム名がついているのいいですね。つけたかったけど回らなかった。
開発案件はミステリー。謎解きを楽しむアプリで、目的地とそこに至る経路のヒントをもとに、次々と謎を解いて目的地を目指すもの。「経路」も大事でルートがあってない場合は目的地についてもゴールにならないとのことで、経路判定がとても難しそうと感じた通り、GPS 周りの実装で苦労されたとのこと。とくに GPS は HTTPS でアクセスしないと利用できなかったり、GPS のブレがあると判定エリアが難しいなどの困難を乗り越えて実装されたのだとか。すごい。
全チームとてもおもしろいアイデアで、6.5h で実現できてすごかったです。
この集中感がたまらないですね。
会場の風景
HENNGE 株式会社さんのオフィスで、なんと執務エリア含め自由に使わせていただきました!
フリーアドレスで、スタンディング、ソファー、テーブル、ファミレスタイプ、オフィスタイプ、集中席などと多様な席タイプがありとてもステキな感じです。
エントランスに入って壁一面にメッセージ。熱いです。エントランスがイベントにも使えるようになっていて、当日は海外の方が英語でラズパイについて発表をされていました。
日本人エンジニアは約30% とグローバルな体制とのことです。
オフィスエリア入ってすぐに “銅鑼”、最後に「じゃーん」ってやればよかった。
オフィスグリコも充実しています。
ドリンクも充実。こちらのコーヒーマシンがとても美味しく、たくさんいただきました。懇親会ではビールもいただき、ごちそうさまでした。
0円ドクターペッパー自販機!?、”CEO の思い”HENNGE 株式会社小椋CTO(兼CEO) ですよね??
会議室エリアです。ステキな旅館の廊下みたいな場所から、くぐる感じで会議室に入ります。
畳の会議室で洒落た感じに、蔵のような部屋などがあります。こういった場所で話をするのもいいですね。
会議は 45分で!大事大事。
思いっきり開発を楽しめる1日でした。
1日の限られた時間の中、初顔合わせの4人でもサービスの基本機能までは作り上げられるものなのだなぁと感慨深いです。
懇親会の時間では CTOさんとエンジニアのボスとしての立場、経営者としての立場の二律背反の難しさなどの話を聞かせてもらいました。
開発終了の解放感から、いろいろと考えていたことも吹っ飛びビールを楽しむ方向に行ってしまったのは反省。CTO についてもっと踏み込んでいろいろと聞けばよかった。
とはいえ、いろいろのなお話を聞いたりでき、とても楽しい時間でした。
熱い1日、ありがとうございました!!