スタートアップのCEOを辞めてスタートアップのCTOとして2020年に考えたことと、これから。
みなさんこんにちは。師走をいかがお過ごしでしょうか。池内です。この記事は、日本CTO協会コミュニティによるAdvent Calendar である CTOA Advent Calendar 2020 23日目の記事として書かれるものです。
昨日は株式会社ハマヤ執行役員CTO、京都デジタル推進室代表 若井 信一郎さんによる記事でした。
長い伝統を持つ企業のデジタイゼーションはまさに我が国の課題であり、技術力と調整力のバランス感覚を持って果敢に挑む様は大変に興味をそそられる内容でした。
本日バトンを受け取った僕ですが、「最低限穴を開けないこと」という低めの志しでポエムを綴っていきたいと考えておりますのでよろしくお願いしまぁす!(裏声)
何をした2020年だったか
本稿のタイトルにスタートアップのCEOを辞めて、と添えましたが、CEOを辞めたのは2019年にのことで、同年から株式会社Hakali の CTO のポジションを預り、こんにちに至ります。そのあたりの経緯は下記の廃業エントリをご覧頂くとして、
株式会社Hakali では、Awarefy(アウェアファイ)の事業責任者 兼 開発責任者という任に就いています。プロダクトのそのものの話は今回の本題ではないのですが、Awarefy は、「気づくこと - Awareness」の総量を増やすことで人々の「メンタルウェルネス」向上を支援をする、ということをミッションとしています。認知行動療法の要素を盛り込んだチャットボットであったり、巷で話題の(?)マインドフルネスに取り組める機能などなどが搭載されています。Awarefy のローンチが今年の5月のことですので、まさに Awarefy とともに過ごした 2020年となりました。
Awarefy は現在 iOS ならびに Android 用アプリとしてストアにて絶賛配信中ですので、もしも気になった方がいらしたらぜひお手にとってご覧いただければと思います。
さておき、そんな僕がCTOとして2020年に考えていたことを整理・振り返りつつ、その中でもわずかでもみなさまの参考になるものを提供できればと考えている次第です。
技術スタックについて考える
Awarefy は Flutter を全面的に採用し、iOS版とAndroid版の両プラットフォーム対応を実現しています。僕自身、2019年以前は商用ないし相当のネイティブアプリの開発経験はなかったので、業務上の必要に応じて Dart 並びに Flutter を学習しました。たいへんな余談ですが、界隈ではプログラマ35歳定年説という都市伝説が流れていたこともあったらしいですが、僕自身、いちばんプログラミングに向き合い、力が付いたのも30歳を過ぎてからという実感が明確にあります。何事も思い立ったが吉日、遅すぎるということもないし限界を決めることもない、ましてや他人が決める必要はまったくない、ということを申し添えたいと思います(サンプルサイズ: 1)。
採用資料からの抜粋ですが、技術スタックとしてはこのようなラインナップでお届けしております。
採用するプログラミング言語やフレームワーク、プラットフォームについてはその時々のトレンドや自分(たち)の習熟度を総合的に判断し決定する、ということにはなりますが、あたらしいものを取り入れる場合(今回でいうと Flutter)、数年後に勢いが増していそうか、という点を重視して、その流れに乗るようにしています。この辺りの目利きは形式知にできないところもある気がし、責任重大かつ腕の見せ所でしょうか。Flutter の採用を決めたのは2019年6月頃だったので、1年半経った今のところは想定どおり、ここから先は神のみぞ知る... と他力本願にせず、少しでも Flutter 界にコントリビュートしていきたいなと思っております。
アーキテクチャについて考える
あえて先んじて技術スタックについて触れました。が、ここ2−3年、技術スタックというか、特定のプログラミング言語やフレームワークなどの知識を身につけるよりも、アーキテクチャについての理解を深めること、設計パターンの引き出しを増やすことを優先したほうがよいという考えを強く持つようになりました(今更気づいたのか、と思われるかも知れませんが、伸びしろ伸びしろ〜)。
アーキテクチャというと語義が広い言葉ですがここではいわゆる「クリーンアーキテクチャ」の文脈などで用いられるアーキテクチャを指しています。
現在弊チームでは、オニオンアーキテクチャを採用してコードを設計、実装しています。採用範囲は、Flutter(Dart)で実装しているネイティブアプリにとどまらず、バックエンドの Go、バッチ処理を担う Python の実装にも及びます。複数リポジトリ(サービス)間のアーキテクチャを統一することで、多言語を取り扱いつつも新規参入の学習コストを下げ、見通しのよいコードベースを構築することを目指しています。
ヘキサゴナルアーキテクチャの中でオニオンアーキテクチャは個人的には最も安心してお勧めできるアーキテクチャだと考えていますが、OOP の知識が前提となり、DDD とともに語られることも多く、それらを含めて習熟するには鍛練が必要だなぁと自他を見ながら感じる次第です。
技術的負債について考える
僕はあまり「技術的負債」という言葉が好きではありません。語義に諸説があったり、「負債」はネガティブなものとは限らないのに、といったことがその理由です。ソフトウェア以外のもので例えるなら「手抜き工事」が適当ではないでしょうか。軽口はさておき、このような表現が前例としてあるのか分かりませんが、本稿では一般に技術的負債と呼ばれるものの概念(のうちの一部)を「UNDONE なコード」と呼びたいと思います。UNDONE なコードとは、アーキテクチャ設計の原則を守らず、可読性が低く、テストコードのないコードです(なんとかシーコードという言葉もあったような...?)。
自分の経験を踏まえ言えることは、UNDONE なコードとともにプロダクトが出荷される理由は、ひとえに、CTO の知識・経験不足によるものだということです。これは他社・他者批判ではなく、自省・自戒の意思表明です。例えば上にあげたアーキテクチャの話題を例に取ると、一定のアーキテクチャに対する理解があれば、コードの増加によって極端に複雑度が増すという事態は(ある程度は)避けられます。アーキテクチャに対する理解水準が低いと、独自の熟れていない設計を持ち込む羽目になり、いずれ限界が訪れます(二敗経験済み)。
そうはいっても、アーキテクチャや言語、フレームワークに十全に習熟していない状態でプロダクトコードの実装を開始しなくてはならないという状況はこれまでもあったし、これからもあるでしょう。そうした曲面で、UNDONE なコードを生みだしているのはスタートアップという環境ではなく、自身のスキル不足それ自体であるとう戒めをもってことに当たりたいなと今では考えています。
採用について考える
2019年9月にプロダクト開発が始まり、開始前後の数ヶ月の期間を除くと、2020年8月に至るまでエンジニアは僕1名の体制でした。アプリのローンチにともない採用活動を始め、9月にエンジニア1名入社、同月中旬にもう1名が入社し現在では3名体制になっています。スタートアップのエンジニア採用マーケットは加熱の一途を極めているようで、タイミングも含めて今回の採用活動は大成功といってよい戦績ではないかと思います。
採用活動中はフルリモート体制だったため、すべての選考プロセスをリモートで進めたという初めての経験をしたのは記憶に新しいことです。
採用活動にあたりなにより重視するべきはスキルフィットよりもカルチャーフィット、という話はさまざまなところで聞くことではありますが、ご多分に漏れず、Awarefy の事業領域に共感してくれているか、現行のチームにフィットするか、という点を最優先事項とし少なくない方とお話しさせていただきました。
Flutter のエンジニア、採用できる(た)の? と思われたかた。Flutter に習熟していて、まだ名も知れぬスタートアップに転職する意志をこの瞬間に持っているというエンジニアと出会える確率、殆どないといってよいです。というより、そのような前提のもと採用戦略を進めるべきです。技術スタックの話にも繋がりますが、今日の時点で何ができるかよりも、これから何を学んでいけるかを重視することで、むしろ採用の間口を良い意味で広げることができるでしょう。
技術チームの強化方針について、採用よりも育成を重視するようになったという話もしばしば聞くようになりました。スタートアップの立ち上げ時期には人材育成の余力がないという現実的な問題もあるとは思いますが、「良い感じのエンジニアがいない」と無い物ねだりを続けるのであれば、ともに成長する覚悟を持つポテンシャル採用戦略をとるのも一手だと考えます。
ジェンダーについて考える
突然のポリティカルコレクトネス。
平成の終わりに我々が学んだことは、性別は二値ではなくグラデーションであるということだったと僕は思っています。従って、ことさら男性○○、女性○○ という二値プレフィックスを強調して物事を議論することはものの本質ではないと考えつつ、いっぽうで、どうやら統計的に女性管理職が少ない、女性経営者が少ない、女性閣僚が少ないといった一定の事実もありそうです。僕は残念ながら内閣総理大臣ではないので大臣の男女比率の是正に直接的にコミットはできないわけですが、さりとて「男性でない」というだけで何かしらの不均衡の負を受けている人々がいまも存在するのだとすれば、そうした社会の不具合を解消するために自分が何ができるか、ということに向き合っていきたい気持ちを持っています。そんな僕にできることは、ソフトウェアというものづくりに携わることをつうじて、女性活躍の機会創出を支援するということではなかろうか、と考えていて、これまであまり表だっては言ってきませんでしたが、下記のことを実践、あるいはこれから実践しようとしています。
・ダイバーシティ & インクルージョンを前提とした価値及び行動規範持ち周囲にも要請する
・採用や待遇面において女性優遇はしない(逆差別の防止)が、チームにフィットする可能性のある人材を自ら積極的に探しに行く
・女性の社会進出・活躍というロールモデルをともに探り、確立の支援をする
・ダイバーシティの促進を目的とするコミュニティ活動を支援する
社会の不具合が解消されるまでのアファーマティブ・アクションでもあることを自覚しつつ。何かもっと情報発信をしていけるといいなぁ。
コーチングについて考える
コーチング流行ってますよね。なにをかくそう僕も今年の秋から、国際コーチング連盟 ICF の認定資格のひとつである ACC の取得を目指し、コーチングを本格的に学び始めています。資格の保有有無は本質ではないせよ、今後、マネージメント層がコーチングないしそれに準ずるマインドセットを有することは必須、と言われるようになると思います。「聴くこと」や「フィードバックすること」というのは明確にスキルであり、訓練なしに適切に行えるほうが寧ろ幸運であり、訓練を受ける機会が与えられないがために生み出されている不幸があるとさえ最近では感じています。
ちなみに流行っているという証左に Google トレンドを調べてみましたが特にそんなことはなかったですね笑
しかしながら、コーチングのマッチングプラットフォームや関連サービスの増加率を見るに、僕の観測範囲内ではブームが起きているとは言えそうです。
CTOに就いてヒューマン・マネジメントに悩みを感じている方がいらっしゃったら、コーチングを学ぶことをお勧めします。僕自身も、来年はコーチングスキルを事業に活かしていきたいなと思っています。
スタートアップの資金調達について考える
弊社は、これまでにエクイティ・ファイナンスを実施していません。デット・ファイナンスを実行しつつ、短期的に事業収益を上げるビジネスモデルを構築し、利益回収がロングタームになるであろうプロダクト事業に自己投資するという経営スタイルをとっています。プロダクト事業を推し進める僕としては全社的に1つのものごとに専念したほうがよいのではないか、という葛藤があった時期もありましたが、今年一年を見ると、結果的にこの選択は企業活動に対しサステナビリティをもたらす結果になったのではないかと振り返っています。
いっぽうで、この種の力業(だと思っています)を成り立たせるには一定の人脈と経験が必要で、20代前半〜半ばでの起業においては、取り得る選択肢がより少ないのではないか、という問題意識を持つようになりました。ユニコーンではなくラクダ と言う考え方も広まりつつある昨今、国内のスタートアップエコシステムの更なる向上に何かできることはないかなぁ、と妄想を重ねる日々です。まぁ当事者からしたら余計なお世話かも知れませし、まず自社の事業の面倒を見よ、ということではありますね...。
とにかく「外部資本に頼らず大きなスケールを狙わないスタイル」 vs 「外部資本を注入しハイパースケールを狙うスタイル」という二値分類ではないなにか、を体験できているのは非常によいことだと捉えています。経営もグラデーション。なのかも。
ちなみに来期は資本政策も含めて本格的にアクセスを踏んでいく年にするつもりですので、関係各位どうぞよろしくお願いいたします。
CEOを経てのCTOについて考える
冒頭に触れた記事で言及していますが、2015年から2019年の4年間を、自ら立ち上げた企業の代表取締役として過ごしました。そのトライは上手くいかず廃業していまに至るわけですが、自分が上手くいかなかっただけに、「経営や社長業は簡単ではない」ということを実感できているということが既にプラスだと感じます。取締役としての責務はあるものの、日々のオペレーションとしては CEO がいるおかでげ担当範囲が明確になり、プロダクトとその先にいるユーザーと向き合う時間を確保できています。その意味で「足るを知る」と言いますか、事業開発とアプリ開発を行きつ戻りつする日々ではありつつ「あの頃よりは関心事の範囲が少ないな」という心の余裕を保てているのは、起業経験があったからこそだと考えています。
スタートアップエコシステムの話でも少し触れましたが、エンジニア社長がもっと増えるといいなと思っていて、エンジニア社長を支援できる取り組みに何からしら貢献したいと思っています。
なにをする2021年にしたいか
2021年は、国内外の状況もまた様変わりするのではないかと思われます。そんなこんなを横目に、2021年も引き続き僕の人生は弊社事業・Awarefy とともにありたいと思っています。2020年は、プロダクトをローンチするというはじまりの年でもありましたが、2021年に向けての仕込みの年でもありました。年始から気持ちを新たに事業、プロダクト、チーム、個人で成長して参ります。という作文のような締めとともに本稿を終えたいと思います。明日はモバイルファクトリー 小林 謙太さんの記事です!
cover image by Annie Spratt