見出し画像

ゲーム系スタートアップを退職しました

CTOを務めていた株式会社トランスリミットを退職することになりました。
本日が最終出社日です。
気づけば5年4ヶ月、過去3社と比較しても一番長く在籍していた会社になっていました。

ありがたいことにCTOとしていろいろな経験をさせて頂けたので、いままでのことを少しふりかえってみたいと思います。

ふりかえり

会社の事業としては、主に以下のアプリゲームをリリースしてきました。

アプリゲームであることと、日本の会社としては珍しく海外をターゲットに開発しているため、以下のような点に注意しているのが特徴的かなと思います。

・どの国からでも利用可能に
 ・AWSを採用、メインリージョンに米国のオレゴンを利用
  (米国内で新しめで、アジアやEUからのアクセス速度も悪くなかった)
 ・GCPも検証したが、今は中国からのアクセスできないため断念
・宗教や地域の考慮
 ・特定の宗教や文化に寄らないように
  (クリスマスイベント → ウィンターイベント)
 ・「国と地域」という表現で(台湾などの配慮)
・AppStoreやGoogle Playのフィーチャーによるスパイク
 ・事前通知がなく、突然どこかの国でフィーチャーされる場合もあるため、スパイクに備えたインフラ構成が必須
・チート対策
 ・通信の暗号化やクライアントのメモリの値の暗号化
・多言語対応
 ・なるべく多くの言語でプレイできるように提供
  (多いものは18言語に対応)

この4タイトルはいずれもAppleとGoogleからフィーチャーを頂けたりその年のBest of Gamesに選ばれており、累計7,000万を超えるダウンロード数(海外ユーザ比率95%)に達しています。
1タイトルで1億ダウンロードを超えるような、世界的ヒットタイトルを目指し、現在も新たな開発を続けています。

その中で自分が担当していた主な仕事は以下でした。

・サーバサイド全般
 ・システム設計、アーキテクチャ設計
 ・言語選定、フレームワーク選定、実装
 ・インフラ構築
・クライアントサイド開発支援
 ・cocos2d-x用コアライブラリ群の開発
  (AWS、広告、MQTT、クラッシュ分析、firebase、通信基盤、セキュリティ基盤、プラットフォーム連携など、20以上)
 ・上記コアライブラリ群の導入の仕組み
  (CocoaPodsを参考に、iOSはxcconfig、Androidはbuild.gradleに数行の記述を追加するだけで利用可能に)
・運用に必要なツール類の開発
 ・SlackからiOSとAndroidのビルドから申請まで行えるChatOpsの実現
 ・CS対応用のツール類(ChatOpsやWebの管理画面)
 ・クラッシュ分析基盤(クラッシュ情報をBigQueryに集約してWebアプリで分析表示)
 ・プッシュ通知基盤(ユーザの言語やタイムゾーンに合わせて現地時間を考慮してプッシュ通知を飛ばす仕組み)
・障害対応

スタートアップだとそもそも社員が少ないので、バックエンドを中心にやりつつ、みんなの開発効率を上げるためにクライアントから運用まで幅広くカバーをするような動き方だったかなと(球拾い精神大事)。

私がメインで関わったタイトル(Brain Wars、Brain Dots、Craft Warriors)のアーキテクチャが気になる方は、SlideShareで過去に公開しているスライドをご覧いただければと思います。

その他、隔週でT-Cube(Translimit Tech Talk)と名付けた社内向け勉強会を開催したりと、エンジニアの情報共有やスキルアップを目的とした活動などもしていました。

また直近では、プロダクトオーナーとなって6人チーム(私、エンジニアx3人、企画x1人、デザイナーx1人)でハイパーカジュアルゲームの開発をしていました。

ハイパーカジュアルゲームについては、日本の会社で大きな成功を収めている芸者東京さんの記事などがわかりやすいかと。

CPI < LTVを目指し、10ヶ月で6本のタイトルをソフトローンチ(米国、中国、一部タイトルは日本も)しました。
しかし、自分の力不足でいずれもグローバルリリースは難しいという判断になってしまい、そのままクローズという形に。
一緒に頑張ってくれたメンバーには本当に申し訳なかったなぁと。

ハイパーカジュアルゲーム市場で戦う難しさを痛感した10ヶ月でした…(娘たちが友達と一緒に楽しく遊んでくれてたのは嬉しかったです)

辞めるきっかけ

いくつかの理由がありますが、一番は家族との時間です。

私は妻と娘2人(4歳と8歳)の4人家族なのですが、通勤が1時間半かかるため、平日は家族と会話をする時間がほとんどありません。
また妻もパートタイムで働いていて平日や土日に出勤することもあるため、休日は子どもたちの面倒を1人で見ることもたびたびあります。

平日一緒にいれない分、子どもたちと一緒に過ごしたい。
でも忙しいときは家で仕事をすることもあるし、障害があれば対応も必要。業務以外のことを学ぶための学習時間も確保したい。
きっとご家庭、特にお子さんのいるエンジニアの方は同じような悩みを持たれてる方も多いのではないでしょうか。

ほどほどの忙しさであればなんとかなったのですが、スタートアップでゲーム開発となると、やはりリリース前は激務になりがち。帰宅が0時過ぎになり、隔週の土日は家でもテストプレイ、リスケを何度も重ねて追い込み期間を1年以上続けるなど、一時期の忙しさはいま考えても本当に辛い状況でした(いまはそんな働き方はしていませんよ!)
そのせいで家族にも迷惑をかけることが多く、あの頃にもっと家族の時間が取れていれば…という気持ちになることも。

転職したときはスタートアップで働くという覚悟はあったし、日本から海外向けにヒットタイトルを出したいという大きな目標もありました。
ただ子どもが生まれ、大きくなるうちに、家族と過ごす時間をもっと大切にしていきたいという想いが強くなり、環境を変えるために退職することにしました。
子どもたちの成長とともに、考え方も変わるものですね。

それ以外の理由としては、

・前職から合わせると8年ぐらいゲーム開発をしてきたので、ゲーム以外の開発をやりたい
・CTOといってもスタートアップで少人数の環境だったので、スタートアップ以外でマネジメントにも関わっていきたい
・あとはまあいろいろと

会社としてはまだまだ開発は続いていますし、若手で頑張っている子たちもたくさんいるので、今後のタイトルにもぜひご期待ください!

今後のこと

来週から早速次の会社で働きはじめます。
いまよりは時間の都合がつきやすく、副業もOKなので、家庭のことを大事にしつつ、新しいチャレンジもいろいろしていきたいなと思います。


初のnoteでの投稿でした。
書きやすかったー!

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

40
ソフトウェアエンジニア 【スキル】Node.js、Java、Go、Python、Ruby、AWS、GCP、etc 【著書】Git逆引き入門、Slack入門 【趣味】カメラ、折りたたみ自転車、ゲーム、漫画
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。