なぜかミクシィ社でエンジニアだった人々がアドベントカレンダーを書くことになってしまったex-mixi Advent Calendar 2017、12月11日担当の @tnj です。
一般的に、会社を退職することになったら退職届というものを会社に提出することになります。その退職理由には「一身上の都合」と書くのが通例だと思いますが、私はちょっと変わった退職の経緯を持っているので、今回はそれについて共有してみたいと思います。思いのほか長くなってしまいましたが、社会人歴10年目のソフトウェアエンジニアのキャリアの変遷の一例としてお楽しみください。
TL;DR
- Android開発者としての自分の経験を基に新規事業を立ち上げることになり、エンジニアとして参画したつもりが気がつくと事業責任者になり、果ては事業を買い取って経営者になった
- 好きでやってる話だしまあなんだかんだ乗り越えていけるよねと思ってたら、それぞれやること違いすぎて無能感がすごくて大変だった、でも色んなものを得た
- エンジニアのキャリアパスってスペシャリストとマネージャーだけじゃなくて実質無限にあるのでもっと広く考えてみてもいいと思う
入社してから退職するまで
私は株式会社ミクシィに2008年の新卒1期生として入社した後、日本有数のトラフィックを持つキャリア公式サイト「mixiモバイル」全体の機能開発に2年弱ほど携わりました。その後、たんぽぽグループとよばれる基盤開発グループに異動してガラケー開発向け基盤の開発をする傍ら、memcachedの不具合で丸2日間mixiが落ちた際には復旧に24時間体制で挑むなんて貴重な経験をさせていただいたりもしました。
2010年、日本国内でもAndroid端末が普及し始めた頃、Google Developer DayでもらったDev Phoneでアドレス帳周りをハックして遊んでいたら、いつの間にかソーシャルフォンなんて名前でSHARP 003SH/005SHへのプリインストールの話が決まり、当時スマホ開発経験がゼロのミクシィで急ピッチ(納期的な意味で)にAndroid開発体制を立ち上げ、mixi公式クライアントアプリをリリースしたりしました。
後に開発メンバーが増え、開発基盤としてJenkinsやGerritを使ったレビュー・QA体制を整えるのですが、その経験が基となり、ミクシィの新規事業第一弾としてDeployGateの開発が2012年7月に決まり、2ヶ月後の9月にリリース。最初は開発者として携わっていたのですが、翌年6月頃に元々のリーダーだった @kyoro353 が他の事業立ち上げに移ることになり、それを引き継ぐ形で事業責任者となりました。
それから約1年半後、2015年2月末に株式会社ミクシィよりDeployGate事業の譲渡を受け、同日付で私もミクシィを退職しました。「社員が所属していた会社の中の事業を買い取る」のは EBO (Employee Buyout) と呼ばれるスキームですが、日本の上場企業でこれをやるのは相当珍しかったようで、当時はたくさんインタビューを受けたりしました。エンジニアtypeの記事では詳しい背景に触れていただいているので興味があれば是非読んでみてください。
エンジニアから事業責任者になるということ
前述の通り私自身は、DeployGateまでは完全にソフトウェアエンジニアに特化したキャリアを積んできました。コードを書いたり開発体制を整える以外に、ユーザー体験やUIの設計、Webデザインといったものづくり系のスキルは持っていましたが、事業責任者や経営者としての知識やノウハウはまったくありませんでした。事業計画はおろか営業の仕方もP/Lの引き方もまったく分からないし、正直にいうと、エンジニアが予算や売上を気にしないといけないのは組織の業務分掌が未熟な証拠だ、なんて毛嫌いしていたぐらいだったので、本当に何も分からない状態でした。
最近同じようにエンジニアから事業責任者になったリクルートマーケティングパートナーズの方の記事を読んだのですが、分かりすぎて首がもげそうになりました。
ほんの軽い気持ちで飛び込んだ
そんな自分が何故事業責任者になることを選んだかというと、実はその時点ではあまり深く考えておらず、単にまだやりきってないサービスの開発を続けたいな、という気持ちによるものでした。
DeployGateはもともと自分の課題から始まっているプロダクトで、自分が使いたいと思うような機能をしっかり作り上げたかったし、またそれを維持し続けられる仕組みを作りたいと思っていました。GitHubのように世界にしっかり広げるということをやってみたいという気持ちもありました。元々いろんなことに興味があってとにかくやってみるというのは好きな方だし、自分のコントロール可能な範囲は広い方がやれることも増えるし、とにかくやってみようという感じだったと思います。
あと自分で立ち上げた事業で売上を上げられるという経験を持てば、将来不安にならなくていいなと漠然と思っていたのも理由の一つでした。自分が本当にやりたいことを誰にも邪魔されずにやり続けるためには「それに100%コミットしていてもきちんとご飯を食べて健全な生活ができる」部分までを仕組みとして作る必要があります。逆にいえば、それができれば後はどんなチャレンジもできるだろうと思っていました。
まったく違うスキルセットに向き合うということ
とはいえ、現実はもちろん一筋縄にはいかず様々な問題にぶつかり続けました。前述したように、自分は事業運営のノウハウなんて持っていないしそもそもマネージャーの経験さえない状態なのに、突然上場企業の事業責任者として立ち振る舞わなければならない状況が生まれてしまったわけです。最初は色々模索しつつ相談しつつでなんとか試行錯誤していたのですが、ある日体調を崩して入院してしまい、インターンの子が来る初日にリーダー不在というおもしろおかしい状況を作ってしまいました。
とにかく一気に成長しないといけない、と思っていたのですが、それは無理だということがこれでわかりました。これまで開発者として生活する中で、手の付け方がまったくわからないといった種類の困難のぶつかるなんてことがなかったので、完全になにも分からない、けどやらないと前に進めない、というのは自分の根拠のない全能感をへし折るには十分な状況で、今振り返るといいターニングポイントだったなと思います。
傾向と対策
損益計算書?貸借対照表?なんでこんなの書いてるの?何をするにもまずは知識が欲しい、と本を読みました。自分は元々本を読むのは苦手で積ん読ばかり捗る種類の人間だったのですが、ある時社内ハッカソンでKindle Paperwhiteを勝ち取ったおかげで本を読むことに抵抗が薄れ始めており、グロービスのMBAシリーズとかチームマネジメント系の本とか、あと財務3表実践ドリルとか…色んな本を当時の上司に薦めてもらっては読んでいました。
事業責任者としての作業は開発と違って形にならないものが多く、まったく進捗している感じがしない、というのも仕事を辛く感じる理由のひとつでした。この調査はどこまで精度を出せば完成なんだ、作業をしている間に機能の一つや二つ開発できるんじゃないか、と焦る感覚は、当時は経験不足だし仕方がないと思っていたのですが、そういう時は大体いつも新しいことをやってる(以前の繰り返しだったらそもそも使い回している)ので新技術を使った開発と同じように工数が読みづらく、今でも進捗感が薄いのでそういうものだと最近は割り切るようになりました。
入院事件以降、徐々に人に助けを求めることができるようになった気がします。地味なところで電話嫌いが治りました。以前は、お店の予約のために掛ける電話さえ辛いというぐらいには電話アレルギーだったのですが、これも相手に変に思われないようにしないといけない、話す内容を事前にしっかり考えないと話せない、という妙なプライドが負担だったので、とりあえず話しながらゴールにたどり着ければよいと考えられるようになった今は問題なく掛けられます。
会社員が経営者になる日
その後も試行錯誤を続け、iOS対応などの機能拡張やオフライン・オンラインでのマーケティングを続けてきましたが、今ひとつ鳴かず飛ばずという印象は否めませんでした。微妙な状況が続いたある日、ミクシィ社が考えているスピード感で今後想定している事業規模を目指すのは難しいという決断が下されることになります。
この先どうしていくべきか、当時新規事業室の運営側メンバーであったにも関わらず全力でコミットしていてくれた @kazooligan1982 と、これからの自身の将来を含め長い時間話し合いました。自分としてはそれでもまだ可能性があるという気持ちが強くありました。役員陣を含む議論の末、DeployGate事業を自分と @kazooligan1982 で買い取らせてほしいという提案をさせていただき、最終的に承認していただくことができました。
安定して勤められる上場企業から独立し、しかも十分な売上の立っていないサービスを買い取って、自分たちで運営していくことを選ぶのは、一見合理性に欠けた選択に見えます。一旦DeployGateの提供を終了し、経験を活かしてまた新しい事業に取り組むという選択もありました。でも自分にとって、次の事業をやるときにこそ欲しいサービスがDeployGateでした。自分が欲しいものが世界に存在しない、あるいは存在しているのにそこに自分が携わっていない状況が自分にとっては何よりも悔しいことだと感じていました。
予想に難しくないと思いますが、決断をする上で一番の課題はお金でした。買収にかかる費用はもちろんその後の資金も考える必要がありました。でも、もし今の自分がこれを乗り越えられないのであれば、この先のいつ乗り越えられるというのだろうと考えました。自分と @kazooligan1982 がそれぞれ資金繰りに奔走した結果、6名いたチームをそのまま引き継ぐことはできませんでしたが、どうにか当面必要なお金を工面することができました。
そうして、この記事の投稿日からちょうど3年前の2014年12月11日、株式会社デプロイゲートが誕生します。実際の譲渡は翌年2月28日ですが、社外に譲渡を発表する時点で譲渡先となる会社が存在している必要がありました。恵比寿の小さな事務所で、司法書士の方と登記に必要な書類に判子をついた風景を今でもよく覚えています。
経営者の仕事
2015年2月28日に譲渡を受けて退職した後も引き継いだ事業を続けているわけなので、実務として普段の運営や開発の内容はなにひとつ変わらず、翌日もいつも通りに開発タスクが消化されていました。むしろ会社が変わったことさえ忘れてしまうぐらいの不思議な感覚でした。開発者が2人になり開発スピードは落ちたものの、プロセスの改善や自動化でカバーすることで2週間ほどで日常業務としてのサービス開発は回るようになりました。独立前後の営業活動とバーンレートの低下の合わせ技で黒字化も想定したより早く実現して、事業責任者としてはまず一息つける状況を迎えることができました。
しかし経営者には会社そのものを作るという仕事があり、業務の幅が更に広がります。いまの会社にある部署を全部、自分たちでやることになると想像してみてください。仕事をしようにもまずオフィスはないし、就労規則や社会保険はどうすればいいのか分からないし、利用規約やプライバシーポリシーを用意するのに相談できる部署もありません。オフィスは最初1年間は自分たちでは持たず、TECH LAB PAAKでお世話になりました。社労士や弁理士の先生も方々から紹介いただき、必要なものをひとつひとつ整えていきました。といっても、この辺はほぼすべて @kazooligan1982 に丸投げで、自分自身はほとんど事業開発に専念していました。
会社の代表取締役になって一番変わったことが何かというと、責任の在処だと感じています。なんでも自分で決められるということは、自分自身が会社におけるすべての制約条件だということと等価です。人が足りない?採用すればいい。採用するお金がない?借りるなり出資を受ければいい。できない?他の会社はできているのに?なぜ?といった具合で、そこに会社が、上司が、という逃げ口上はありません。毎日そんな意識で物事を考えているとひたすら考える力がつきますが、一歩間違えば自分を責め続けてしまい不健康まっしぐらなので、適度にやっていくバランス感覚も大事です。
また、いざ自分の仕事を自分で定義しようとすると、どの役割にどれだけ時間を使っていいかたくさんの迷いが出ます。私は今もDeployGateの開発に携わっていますが、自分が開発者として活動している時間は会社の経営について考える時間を削っていることになります。今の規模・事業フェーズで四六時中経営を考える必要があるかは分かりませんが、将来の戦略を考える時間まで削ってしまうのは自殺行為です。それぞれのバランスを見ながら続けていますが、そろそろタスクを持ちすぎてしまっていると感じていることもあり、最近は積極的に開発者採用を行っています。
得たもの、失ったもの
今の会社を始めてから得たものとして、まず、素晴らしいチームを得ました。スタートアップの最初のプロダクトはチームだとよく言われます。今のチームは @kyoro353 も再び参画しサービス立ち上げ当初から関わるメンバーで構成されていて、さらにそこから議論と試行錯誤を積み重ね、サービスの展開はもちろん会社そのもののあり方まで全員で話し合えるチームになりました。中心にある考え方は共通しながらも、それぞれ違う得意分野を持ち、オンでもオフでもなにかと楽しくワイワイやっています。このチームの空気感を保ちつつ、拡大していくというのが組織としての直近のチャレンジです。
同時に、自分達らしい働き方を得ました。ワークライフバランスについては色んな考え方があると思いますが、私は基本的にアウトプットが出しやすいなら好きなときに働きやすい形で仕事をすればいいと考えています。私たちが普段いるオフィスにしても、リモートやらノマドやら色々試して最終的に居心地がいい働きやすい場所が欲しいよね、と今の形になりました。USに至ってはオフィススペースそのものまで自作してしまいました。金曜日に開催しているTGIFも、普段一緒にいるチームだけでなく界隈のいろんなエンジニアと話したり、繋がったりする場が欲しいよね、というのをほぼ理想の形で実行しています。
反対に失ったものとして、好きなことを選んだ結果、以前のように毎日開発だけに集中できる生活ではなくなりました。周りの優秀なエンジニアの友人に囲まれる中で、もはや開発に100%コミットするということができない自分がエンジニアを名乗っていいのか、という葛藤を持ったことも一時期ありました。でも職業にする前からソフトウェア開発をずっとやっていて、現時点も結局それなりに開発はやってるし、今度もDroidKaigi 2018でGradleプラグインの話をするために登壇したりするので、引き続きエンジニアと名乗っていきたいと思っています。この辺はマネージャーとかフリーランスになった人も同じような感覚かもしれません。
会社と個人を切り離しにくくなったという点も失ったものに数えられるかもしれません。完全にプライベートな休みの日でも気を抜くと仕事のことを考えていたりします。コードを書くだけでなくマーケティングや組織づくり、果ては経済まで興味が広がった状態で好きなことを仕事にしているので、日常的に考えてしまうのはある意味必然なのかもしれません。といっても休みの日に出社したりすることはなく、むしろ年末年始の休みも誰より長く取ったりしています。
エンジニアのキャリアパスは無限にある
私はいま自分がミクシィに入社したときには想像してなかった未来に立っています。入社後の人事面談(という名の雑談)では「ぶっちゃけ何年いる?」「3年ぐらいですかねー」「ああ妥当だねー」みたいな会話をしていたのに、気がつけば7年弱もお世話になり、しかも最後は会社の予算を使って立ち上げた事業を買い取らせてもらうという経験までさせていただきました。
会社における業務分掌や職種というのはあくまで分類上必要となった後付けの概念です。ソフトウェアエンジニアのキャリアはスペシャリストかマネージャーか、のような議論がありますが、実際にはそれ以外にも選択肢は無限にあります。スペシャリストとしての自分の経験を活かして、世界中のプロダクトに採用される著名なオープンソースプロダクトの作者になりながら、開発のロードマップやコミッターのモチベーションを考えるようになり、図らずもマネージャーとしてのスキルが身につく人もいます。あまり言葉の定義に振り回されずに、目の前で必要だと思ったことをやっていくことで、将来その点が繋がることが多々あります。
「人生における選択は全てトレードオフで、何かを選ぶということは、他の何かを諦めるということだ」と言われます。とはいえ、もしそこで何かを一度諦めても、再挑戦ができないわけではありません。せっかく選ぶならその時自分が本当にやりたいことを選んで、駄目だったらまた戻ればいいと考えると、選択はずいぶん楽になります。以前は時間は有限だから失敗したくないという気持ちもありましたが、それは試行錯誤を拒否する免罪符にはならないと思うようになりました。
仕事としてソフトウェアエンジニアをされている方は、元々仕事にする前からプログラミングが好きでこの職を選んだ方が多いと思います。自分のやりたいことを選んで、時には興味の赴くまま違う世界に飛び込んで、楽しいエンジニアライフを過ごしましょう!
明日はモバイル委員会(というものがありました)仲間の @imaifactory さんの結婚記念日ポストだそうです。記念日が続きますね!
追記: これから6年後の話を書きました