そーだいなるらくがき帳

そーだいが自由気侭に更新します。

CTOを始めて一年経ったので振り返る

前回から更に半年経ったので振り返る。

soudai.hatenablog.com

前提

今は株式会社 オミカレって会社でCTOをしてる。 オミカレは婚活パーティーポータルサイトで、男女問わず、幅広い年齢をカバーした婚活パーティーを取り扱っている。

party-calendar.net

もうサイトとしては8年目で息の長いサービスとなっており、レガシィなところも目立ってきた。 それを払拭するためにチーム、サービス、ビジネスの3本柱をメンテナンスしてるフェーズ。

この半年は前回のまとめに書いた通り、大きな目標が2つあった。

  • 自立型のチームとして確立する
  • 売上をしっかり伸ばす

それを踏まえて、振り返りをしていく。

10月

スマホアプリがリリースされた。 春からずっとここに標準を合わせて、アプリケーションの設計やらプロジェクト管理やらAPI作成やらしてたので無事出たことに驚きと共に、そんなに大きなリスケ等も発生せずリリースされたことには驚いた。 いやまぁプロジェクトマネージャーは自分だったので自分が頑張った、すごい!って気持ちもあるけど、何よりチームメンバーが頑張った。 無理することなく(過度の残業、徹夜や休日出勤などを強いる事なく)ほぼ予定通りにリリース出来たことは良い経験になったはず。

APIはアプリに合わせて開発始めていて、いくつかの重要度の高いAPIはWebで先行リリースすることで枯らしておく運用もリリースが安定した理由の一つ。 APPリリースはなんだかんだバタバタとしたが自分の人生の中ではこの規模でこの平和なリリースは5指に残る。 CTOというよりはプロジェクトマネージャーとしては一定の成果だったと言えるのではなかろうか。

party-calendar.net

あとPostgreSQL 11が出た。

11月

待望のフロントエンドエンジニアが入社した。 昔の会社の先輩が後輩を慕って入社、って感じではないけど来てくれたのは嬉しいこと。

maepon.blog

アプリリリースしたし、アピールしていくぞ!ってことでTechCrunchに出たり、PostgreSQLカンファレンスにスポンサーしたりした。 アプリ、ダウンロード数が伸びずに苦戦。 売上もアプリによって爆発的に伸びる!みたいなことは全く無く、マーケの難しさを知る。 ただアプリをインストールして利用さえしてくれればコンバージョン率はWebより高く、ここに活路はあることはわかった。

12月

年末、クソ忙しかった。 あと待望のフロントエンドエンジニア二人目が入った。

rukiadia.hatenablog.jp

会社としては大きなリリースは結婚相談所のポータルサイトと趣味コンのポータルサイトが出た。

party-calendar.net

party-calendar.net

2つとも特に自分がプロジェクトマネージャー的な仕事をすることもなく、各人のEngineerに一任してリリースされるところまでストレートに解決してくれて、自立したチームの成果の一つと言える。

特に趣味コンは @maepon が入って1ヶ月しか経ってないに任せて完遂してくれた。 経験が豊富な人にはフォローするよりも任せた方がうまくいくという好例だったように思う。

また自分は自分のせいなのだけど登壇・登壇・原稿・登壇・原稿みたいな感じで年末は12/22から休みを取って原稿をしてた。 よく言われる「一週間くらい上司が休んでも大丈夫な組織が健全」ってやつを実際に試した形。 特に全く問題なかったので次は年末年始でなく、普通のタイミングで1週間休もうと思う。

1月

バックエンドエンジニアが入社。 2018年4月からでいうとEngineerが俺を入れて7人増えたことになる。

  • バックエンドエンジニア 5人
  • フロントエンドエンジニア 2人
  • インフラエンジニア←自分

全部自分で頑張る必要がなくなったのは贅沢なものであるが、しかしアプリやインフラエンジニアはおらず、エンジニア募集中。

また新年明けたので今年のチャレンジをどうするか決めた。 Engineerとしては以下のとおり。

  • 完全API化し、アプリケーションの技術的負債の返済
  • DBリファクタリングの完遂とAWS DMSの脱却
  • PWAを始めとした、高速化へのチャレンジ

このへんは元々決まっていた既定路線なのだけど、それに加えてデザインリニューアルをしたいという現場からの声があがった。 現状、オミカレはデザイナーが専任でおらず、採用にも苦戦している中でのデザインリニューアルはリスキーなのではないか?という声もあったが、チャレンジしないとデザイナーからデザインに興味がない会社だと思われるという意見もあったりでチャレンジしていくこととなる。 まぁ高速化するためにも今のままのデザインで行くにはBootstrapが大きすぎる。 いやBootstrapめちゃめちゃ便利で大好きなんだけどね。 あっデザイナーは現状も居ないので 自分でオミカレをデザインしてリードしていきたい 人は絶賛大募集中。 DMなり、コメントなりください。

2月

ずっと登壇してたし原稿をしてたが仕事は「何をどうするか?」みたいな話であっという間に過ぎたように思う。 ある程度、自立して大きなタスクを任せるようになった反面、把握が難しくフォローするだけで精一杯になり、自分のプレイヤーとしてのタスクが回らないみたいな状況。 さすがにプレイングマネージャーで行くにはチームの規模が大きくなってきたので考えなければいけないが、でもインフラエンジニアの責務を割り当てる先がないので悩み中。 個人的にはcontainerに対する理解が深まり、インフラアーキテクチャについて学ぶことが出来た。

チームとしては地道な改善と割れ窓を潰す時間が多かったように思う。 Memberが増えてきて、開発速度が上がるということは当たり前だけど技術的負債、つまり割れ窓もできやすい。 特に新しい人は技術的、歴史的な背景を知らないため考慮漏れが生まれやすい。 また既存の古株は知りすぎることで、新しい人が作った機能が想定と違う振る舞いをしてハマる、みたいな事が多発した。 これらのフォローするだけで時間が無限に溶けるのでこのままではまずいと考えたがなかなか答えが出ず、厳しい日々でもあった。

普通に考えて1名しかエンジニアが居なかった状態から10ヶ月でエンジニアが7名も増えればそれはカオスにもなる。 タックマンモデルの形成期や混乱期なのかもしれない。 そう考えるとここまで離脱者もなく、スムーズにメンバーがジョイン出来た方である。 ブルックスの法則で言えば、11月以降に入ってきた人はやっと成果が出てくるかもな?くらいな時期でもある。 プロダクトの背景など知らなくて当然だし、そう考えるとよくやってくれている。 それに既存の古株メンバーはこういう苦しい時にも関わらず、縁の下の力持ちとして割れ窓の対応や技術的負債の返済など苦しい仕事を倒してくれた。 各人が必死に戦った2月と言え、それなりにフォローは必要ではあったがチームに必要な試練だったのだと思う。

3月

試練は続く。

オミカレ史上、障害以外でこんな長時間メンテナンス(1:00 - 7:00)は初だった。 そんな長時間メンテナンスをしたにも関わらず、ロールバックをしたりした。 想定外の事が起こることは世の常だが悔しい想いをしたし、メンバーには負担をかけてしまった。 なお、翌日リベンジを行い、無事に大きな技術的負債を回収することが出来た。

このように新機能では無いが技術的負債の返却のような大きなリリースも多く、メンバーからも苦悩の声を聞くこともあった。 また任せたプロジェクトで上手く行ってるモノと上手く行かなかったモノの明暗が別れてしまった。 これは一任した上で上手くフォローできなかった自分の責任だ。 課題を渡すときの問題の粒度はいつの時代も調整が難しい。 新しいチャレンジを継続していくしかない。

まとめ

前回も書いたが不確実性と向き合っていくには各人が素早く判断してサイクルを高速に回した方がより変化に強いし、遠くに行ける。 そういうチャレンジの結果、色々あったがチームが形成されつつあるというのは一つの成長のだと考えている。 しかし自立したチームを形成するというのは一朝一夕で成し遂げれるものではなく、時間がかかるものだと実感した。 特に自分が手を離す、または属人化しているところを引っ剥がすというのはパワーが居るし、ときには痛みも伴う。 しかしそういうチャレンジを行わなければ次のフェーズには行けず、各人のパワープレイで乗り越えるフェーズは超えた証とも言える。

反省点としては充分な収益が出てはいるものの、みんなの努力が報われて爆発的な売上増加にならなかったところに尽きる。 これは新しいチャレンジのために、まず割れ窓を直したこともあるし、アプリが思うようにダウンロードされていないと事にも起因する。 今、マーケは2名居るがもっと企画やユーザの動線を考える人、SEOを専任で見る人などが必要なのかもしれない。 オミカレはエンジニア以外も採用しているので興味があれば連絡してほしい。 ここに無い職種でも「自分がオミカレでできるイメージ」があるのであれば聞かせてほしいし、WinWinなロールを一緒に考えていきたいとも思う。

party-calendar.net

というわけで振り返るとエンジニアを始め、メンバーは順調に増えたがそれに比例して売上が激増したわけではないので経営者としての自分の能力不足を強く感じる半年であった。

次の半年に向けて

メンバーは様々な事情の中、一生懸命やってくれているのでそれをちゃんと成果として成功体験につなげたい。 例えばリニューアルや新機能によって、売上が上がる、PVが増えるなどである。 あとはもう一歩先のチームの自立の形を目指していきたい。 チームが自立して課題を見つけ、企画し、リリースしていくのが理想で、これを個人に依存することなく回せたとき、もう一つ早く精度の高いプロダクトになっていくと思う。 つまりは纏めると前回同様の目標になる。

  • 自立型のチームとして確立する
  • 売上をしっかり伸ばす

簡単にできることでは無いし、出来なかったからといって目標を変更することも違う。 ただもう少し手前のラインで毎月具達的な目標をもってチャレンジしていこうと思う。 その先の10月には、嬉しい決算報告になっているはずだから。