そーだいなるらくがき帳

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

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

4月からオミカレに戻ってきて半年たった。 ちょうど今月が期末だしこの半年を振り返る。

soudai.hatenablog.com

party-calendar.net

4月

CTOになった(1年と3ヶ月ぶり 2度目) オミカレを離れている間の事をキャッチアップするのに心血を注ぐ感じだった。 1年ぶりに読んだプロダクトコードは機能もコードも1年で随分育つというか驚きのレベルだった。 「男子三日会わざれば刮目して見よ」というがプロダクトコードも同じである。 変更点と新たに生まれた課題点の整理をするためにかなり時間を使った。 それと並行して運用フローの見直しであったり、体制変更に伴うツールの選定、移行などをやった一ヶ月だった。 その結果、課題はかなり整理できてこの半年~1年で何をやるかを整理できた。 前職でJOIN直後はやりたい放題するチャンスと学んだので4月の後半からはドラスティックな運用フローや体制変更の変更を行った。 ドラスティックに行ったものは以下の通り。

  • 毎日 全社朝会と開発朝会の実施
  • リリース前にレビューを必須に変更
  • Slackの有料化
  • Slackにbot導入
  • ドキュメント管理ツールをGoogle サイトからesaに移行
  • エンジニアにtimesを必須に
  • サイボウズLiveからBacklogに移行
  • メールサーバ+Dropbox運用からG Suiteへ移行
  • 調査タスクの依頼を一旦自分に集約
  • ZabbixからMackerelに移行
  • Github Projectの導入
  • 原則休日前のリリースは禁止に
  • エンジニア全員と1on1

なんだかんだ自分自身が書いたソースコードにツッコミを入れる日々だった。

5月

GWはオミカレとしては1年で見ても最大の繁忙期。 そこに合わせてのインフラの調整などした。 オミカレの大きな課題としてインフラ担当が居なかったというのがある。 自分が居ない間はスケールアップで対応してきており、それを適切なサイズであったり、スケールアウトであったりを調整した。 おかげでAWSに払うインフラコストは高級寿司を食べに行ってもお釣りが来るぐらいは削減したが別に高級寿司は食べれなかった。 あとは大規模DBリファクタリングを決意してテーブル設計をしてた。

soudai.hatenablog.com

soudai.hatenablog.com

何度も言うけどPostgreSQLを採用するのはリファクタリングにトリガーが複数個必要で、MySQL(というかAurora)のトリガーでは機能不足だったから。 MySQL 5.7だったらそのままMySQLで行ったかもしれない。 また5月から新体制になったということでアジャイルっぽい別の運用で回すようになった。 1週間スプリントでタスクをバックログとして詰んで消化する、みたいな感じ。 あとエンジニアが一人増えた。

ikkitang1211.hatenablog.jp

6月

エンジニアがまた一人増えた。 新入社員にいきなりPHP5.3からPHP7.1移行をしてもらう。 普通に上ってビビった。

note.mu

あとはPHPカンファレンスなどの勉強会を巡ったりしながらエンジニアを探す旅をしてた気がする。 結構登壇した気がする。 DjangoAPIサーバを作り始めたのもこの時期なはず。 API設計したり、DB設計の調整したり、スマホアプリの要件調整したりとそれっぽいことしてた気はする。 なんだかんだで5~6月は結構コード書いてた。

7月

事務の人を採用した。 事務職の人は夜の歓迎会は子供いたりで調整が難しいのでランチで歓迎会をひらいたりした。

soudai.hatenablog.com

あとは評価の指標を明確化するみたいな事を社長と話をした。

soudai.hatenablog.com

プライベートだけど真夏のLT大会をやった。

soudai.hatenablog.com

仕事ではある程度チームの開発の流れが出来てきたので月単位でかかる案件を同時に平行して進捗管理おじさんしてた。 大きなタスクはメンバーに任せてトラブル対応というかこぼれたタスクを拾う係を徹した。

8月

スマホ開発とAPI開発とブログリニューアルとサイトリニューアルが同時並行で動いてて管理が大変だったような気がする。 無事、ブログリニューアル、サイトリニューアルはリリース。 スマホ開発もAPI開発も大きな遅れも無く進めている。 ちょいちょいデータベース移行で課題は出てきたものの、適宜対応できたのは良い事。 代わりにプロジェクトは担当した人にかなり属人化してしまった(一時的に開発スピードは上がった代償) ここの知識をシェアするのはまだ完全には出来ていない。

9月

Buildersconがあったりとイベントが多かった。 4月から毎月採用していたが9月で連続採用がストップ。 積極採用しているのだが断られる事が多かったので採用にかなり力を入れた月となった。 飲み会がとにかく多かった… 選択肢を広げるためにコネクションを広げようとすると飲み会駆動になってしまい体調も崩した。 8月まではマイクロマネジメントというかトップダウンというかかなり細かくタスクを切っていたが9月からは粒度の調整や場合よってはディレクションも含めて担当のエンジニアに委託などを始めた。 ある程度チームメンバーのカラーが理解出来たことで、最適な問題のサイズが見えてきたのが大きい。 おかげで自分が全部やるみたいな事はだいぶ減って開発のコードを書くことは激減した。 チームとしては次のステップ移行が見えてきた気がする。

まとめ

振り返ってみると今期は元々居た人からすると色々と大きな変更だったり、メンバーが増えたりと変化の多き期だったように思う。 その中で離脱者や大きな問題なく進めてこれたのはチームメンバーのおかげだし、チームビルディングの初期としては成功していると認識している。 反面、自分も含め属人化しているところがスタートアップあるあるな感じで多く、そこを如何にスピード感を落とさずシェアするか?みたいな課題は残っている。 また来期への施策として今月にはアプリがリリースされる予定でその影響がどう出るかは読めない。 そういった読めない状況ではどれだけ変化に強いチームにするかが大事。 変化に強いチームとはなにか?という絶対的な答えはないが少なくとも現場のメンバーで判断し、現場に正しく裁量を委託できてるチームは変化に強い。 そういったチームを目指して行ける土壌はこの半年で種蒔き出来たのではなかろうか。

次の半年に向けて

大きく2つの目標がある。

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

前者と後者が相関関係にあるか?というと必ずしもそうではないのだけど、チームが自立した結果、売上がしっかり伸びてそれが成功体験に出来るようにするのが自分の来期の目標。 これが出来ると来年の今頃には自分の手を離れてチームもプロダクトとも走り出してるのではなかろうか。 そうなった時また一つ自分のCTOとしてのステップも上がると思う。 そのためにはまだまだ採用も含めてやることは沢山ある。 次の半年も全力疾走あるのみ。