Findy Engineer Lab

次世代のエンジニアのキャリアを考える

「成長できる環境に身を置く」ことが本当のスタート。就活に失敗したニートからCTOになったエンジニアの話

id:Songmuです。現在は、Nature Remoというスマートリモコンや、Nature Remo Eというスマートエネルギーハブなど、電力系のIoT製品を開発しているNature株式会社で取締役CTOを務めています。

サーバーサイドからインフラにかけてのソフトウェアエンジニアリングが得意領域で、ISUCONというコンテストで3回優勝したり、Mackerelというクラウド監視SaaSのプロダクトマネージャーを務めたりもしていました。PerlやGoを中心に、多くのツールやライブラリをGitHubに上げています。

今でこそCTOという立場にありますが、私はあまり、他人のお手本になるような人生を送ってきていません。「将来こうなりたい」といったしっかりとした長期目標を立てることもなく、その場その場で適当に、時には真面目に生きてきた結果が現在です。うまくいったこととて、多分に生存バイアスがあり、運が良かった部分も大きいと自己認識しています。

ただ「選択」こそが人生の醍醐味だとは考えていて、今回「わたしの選択」という依頼にはぜひ書きたいと思い、この原稿を書いています。私の選択そのものが読者の役に立つとは思いませんが、その背景を共有して、参考にしてもらうことはできると思っています。

「人生に正着はなく、選択だけがある」

私たちの人生には、さまざまなスタンスの選択があります。例えば、先ほど書いたような「人生の長期目標を立てて逆算する」のか「先のことは考えず、目の前のことに集中する」のかも選択です。

  • 明確なキャリアプランがあるか、ないか
  • 作りたいものがあるから学ぶのか、学んでから作るのか
  • 退路を断つか、退路を作っておくか
  • フリーランスか、企業に所属するか
  • 終身雇用か、積極的なキャリアチェンジか
  • エッジな技術選択か、枯れた技術選択か

それぞれどちらを選ぶべきといった正解はありませんが、私自身はどちらかというと後者を志向しています。というより結果的にそうなったものもあります。

ただ、自分がどういう立場を選択しているかを自覚することが大事だと考えます。そして、それはあくまで自分のスタンスであって、他の選択があってももちろん良いのです。

私は「他人の選択を嗤うな」ということをたびたび思います。あくまで個々人のスタンスの問題であって、それぞれの選択を尊重すべきです。他者のスタンスを馬鹿にする態度を見ると「自分の選択に自信がないのかな」とも感じてしまいます。むしろ、自分と違うスタンスの人と組んだ方が、より大きな成果を出せることもあります。

人生の選択に、当然ですが正着はありません。絶対的な正解があったら面白くありません。選択を正解たらしめるのは、自分です。よく「後悔しない選択を」と言われますが、むしろ「選択した後に、後悔しないよう頑張る」のが正しいと思います。結婚と同様に、選択はゴールのように思われがちですが、それはスタートです。

前置きが長くなりました。私がこれまでに選択してきたことについて、つづっていきたいと思います。

何もなかった20代をかけて好きなものを見つける

Songmu

今もアイコンに使っているこの写真は、15年前の2004年6月5日、ツールド足柄という草レースに出場したときに、当時の恋人(今の妻)が撮影してくれたものです。日付まで覚えているのは、私の24歳の誕生日だったからです。

このレースはクリテリウム形式で、前との差から分かるように、コーナーが下手クソなせいで無駄脚を使ってしまい、最後の先頭集団には残ったものの、スプリントの脚が残っておらず、確か7位でした。

自転車は中途半端に速かったのですが、それ以外、当時の自分には何もなかった。大学を卒業したてのニートでした。

就職活動に失敗してフラフラとする

大学は情報系ではありましたが、プログラムもろくに書けません。就職活動はしたものの、内定はゼロでした。就職氷河期の谷底の翌年で、SE職なら募集があったものの、天の邪鬼な私はSEにはなりたくもなく、なんとなくで志望した出版業界は狭き門でした。

当時、私は自転車ロードレース以外にも多趣味な人間で、仕事は安定した楽な職務をそこそここなし、出世には興味なく、趣味に生きようと思っていました。そんな仕事を舐めた人間を、企業が採ってくれるはずもありません。 結果としてニートになり、このレースの頃は、公務員でも目指すかと思いながらも、まだ勉強も始めずにフラフラしていました。

そんな有様です。なので私は今でも、自分が本来「怠惰で安定志向の保守的な人間である」ということを強く肝に銘じています。いつ堕落するか分かったものではないので、油断しないように心しています。

もしあのとき、どこかの出版社に拾ってもらったり公務員になっていたりすれば、それはそれで器用にこなしていたのではないかとも思います。そのまま保守的な安定志向で満足していたのではないか、とも。

しかし、現実はこれから5回も転職するわけですから、人生何があるか分かりません。

中国語の研究室に拾われて中国で挫折する

在学中、なぜか中国語だけは真面目に取り組んでいたため、中国語研究室の教授からの覚えは良く、結果としてそれが救いになりました。卒業後も研究員として大学に籍を残させてもらい、研究費が出る産学協同の機械翻訳の研究案件を回してもらっていました。

その後、研究室の先輩が中国で起業するということで、声をかけてもらって付いて行くことにしたのです。そこから私の社会人人生が始まります。

中国では順徳というところで、日本人3人でベンチャーを立ち上げました。データセンターにサーバーを入れてホスティング事業のようなことをしたり、Javaのテキストを恐る恐る書いて日本の研修会社に納めたりして、収益を上げていました。

ただ、いろいろトラブルがあり、半年程度で日本に帰りました。あのとき帰る選択をしなければ、冗談抜きで野垂れ死んでいたでしょう。帰るかどうか迷った末、深夜にタクシーを拾って空港まで飛ばしてもらったあの経験は一生忘れません。

「何でも好きなことをしていいよ」と言われるも、できることはほとんどない、という「ビジョンのないダメなスタートアップあるある」な状況でした。とはいえ、その会社も今でも事業を続けているようですし、結局自分がスタートアップや仕事を舐めていて、実力不足だったのだな、と今からすると思います。

ただ、仕事で人は簡単に死ねる、ということはそのとき痛感したので、自分より若い人にはそういう思いはしてほしくないなと、今は強く思っています。

この経験もあり、人生いつ転落するか分からない、ということは強く意識しています。

語学学校の営業兼情報システム担当の便利屋として

帰国後、ITの仕事はもうこりごりだったので中国語を活かそうと、とある語学学校のスタッフ職に応募しました。駅前留学的なやつです。

応募はしたもののしばらく連絡が来ないので、ダメ元でこっちから電話したところ、英語と中国語のオンライン/電話レッスンの営業担当兼システム担当全般みたいなポジションで雇ってもらえることになりました。結局、ITと別れられません。

業界大手の語学学校ではありましたが、私が所属したのはオンラインレッスンや中国語教室の立ち上げを行っていた、社内ベンチャー的な部署でした。ワンマンな感じの担当役員直下だったので逆に動きやすく、便利屋として何でもやりましたし、薄給の契約社員ではありましたが、いろいろなことを好き勝手やらせてもらいました。

スクールでの営業、オンラインレッスンの電話営業およびサポート、雑居ビルへの新スクール設営、中国でのリモートレッスンセンターの開設、Web担、社内情報システム運用・開発、生徒向けレッスンシステムの開発、新人研修などなど。

エンジニア人生として考えるとずいぶん無駄足ですが、逆に今の私のWeb業界でのユニークな特性に活かされていると思っています。対人コミュニケーション、あまつさえ電話など苦手で大嫌いでしたが、この環境で否応なしに鍛えられました。生来不得手なものをスキルでカバーする術を覚え、人並みにはこなせるようになったのです。

自分はWeb技術が好きだと気づいた28歳

当時の私は、自分をエンジニアだとは思っておらず、ITスキルは単に生きるための術と割り切った、斜に構えた態度がありました。趣味に生きようとも、まだ思っていました。

ただ、いろいろ勉強したり、はてなブックマークで盛り上がっている技術系の記事などを見て刺激を受けるうちに、だんだんと楽しくなってきました。

そして「あ、自分はWebが好きだ」と認めた瞬間に、私の中でブレークスルーがありました。本当に視界が開けた感じがして、「Webエンジニアとして生きていきたい」と思うようになりました。2008年、28歳のときです。

精神的なモラトリアムをやっと抜けたとも言えるでしょう。さっさと「好きだ」と認めて、先に進んでいれば良かったと、今からすると思います。

語学学校時代の経験は、自分の社会人人生の土台になっています。当時は業界他社のスキャンダルもあり、語学学校への世の中の印象も悪い状況でしたが、そんな中でも情熱を持って語学教育に取り組んでいる人たちを間近で見ることができました。

変化の早い社内ベンチャーで担当役員の無茶振りに応える、なんなら先回りしておくといった経験も、自分がその後スタートアップ志向に変化していく過程に影響を与えているように思います。

そして、Web技術が好きだという自分の情熱を自覚し、自分の生きる道を決めたことにより、視野が開けたことが、この時期の大きな体験になっています。

エンジニアへと転身してスタートアップを志向する

Web技術への情熱を自覚してから、社外のコミュニティにも憧れるようになり、1000speakersというカンファレンスで登壇したりしました。Shibuya.pmにも初参加し、Perlを学び始めたのもこの頃です。

おそらくはそれさえも平凡な日々: 家に帰って、ブログにアップするまでが1000speakersって話なので

Perlを学び始めた背景として、当時扱っていたシステムがVBScriptで書かれたレガシーASPであり、それでは潰しが効かないという危機感がありました。そこで、よく使われている言語をちゃんと学びたいと思い、その頃のPerlエンジニアたちや、はてななどのPerl企業が魅力的に見えたので、Perlを選びました。

ちなみに、当時は年収が200万円台でした。このときの反省点は、便利屋として長く居過ぎたことです。ユニークな立場で面白い経験はできたのですが、比較対象の社員がいないので、営業以外の部分では評価されなかった。私自身も自分の価値を分かっていなかった。

結局は営業の会社なので、営業成績で評価が決まるし、それは健全でもあります。しかし、低単価なオンラインレッスンのノルマしかなかった私の営業成績は、たとえノルマを達成したとしても、良いものにはなり得ませんでした。

結婚を考えていた時期でもあり、先の通りWebエンジニアになりたいとも思っていたので、必然的に転職活動をすることになります。まだまだ安定志向だった私は「次が最後の転職だから、後悔しないように、無理だとしても、行きたいところから順番に受けよう」と考えました。

最初に受けたのがはてなで、その次がGoogleでした。その2つは、もちろんあっさりと落ちました。その後、転職エージェントの方が薦めてくれたWeb企業を片っ端から受け、全部落ちました。合わせて21社落ちました。

28歳で、チーム開発経験もろくにない人間を、そりゃ雇うわけありません。実際、あの頃の自分のスキルは本当にお粗末なものでした。まさかその6年後に、はてなでチーフエンジニアをやることになるなど、当時の私は夢想だにしないことでした。

安定志向から変化を重視する価値観への転換

そこで転職活動を見直して、候補の幅をSIerにまで広げたところ、今度はいくつか簡単に内定が出ました。Web企業と違って技術スキルではなく、学歴や面接の受け答えで判定していることが分かりやすく感じ取れて、複雑な思いもありました。

それでも何でも良いからエンジニアになれるということは嬉しくて、とある印刷系のSIerに行くことにしたのです。そこには、2009年と2010年の2年間だけいました。

入社直後は満足していました。本当に。社内制度や福利厚生もしっかりしていて、組合もあり、社員に手厚い会社でした。安定志向の自分としては、この会社にずっといるんだろうなと思っていました。結婚式には当時の課長と部長を呼びました。

しかし、しばらく働いていると「あれ?」と思うようなことが増えてきました。一番の違和感は、自分のスキルが思っていたより通用したことです。我流で学んできただけの自分の技術力が、周りより高かったのです。

そして、周囲に「技術が好きだ」という人がいないことにも気が付きました。私は収入が少なかったときでも技術書にはお金をケチらず、迷わず買うようにしていましたが、そもそも自費で技術書を買うこと自体に驚かれました。

社内ではすぐエースクラスになりましたが、社外のコミュニティに目を向けると、話にならないレベルなのです。そのギャップに苦しみました。当時の自分も成長はしていましたが、オープンなコミュニティにいる人たちは、もっと違う曲線で成長しているように見えたからです。こんなことで生き残っていけるのかと焦りを感じました。

安定した会社に安住してしまって、成長意欲が少ない人が多いことも気になりました。特に、管理職になれるくらい優秀だったはずの人が、技術の変化に付いていけず、仕事ができなくなり、周りからも尊敬されなくなり、おそらくそのまま定年を迎える、という光景を見てしまったのはショックでした。安定していても、キャリアの終わりをこういう形で迎えたくない、と思うようになりました。

変化の速い業界では、変化に付いていけない人が残酷なほど成果を出せなくなるため、変化し続ける必要がある。そういった価値観の転換がありました。また、変化の早い業界だからこそ将来性があり、むしろ安定しているのだ、とも。

とはいえ、SIerでもいろいろ学ぶことはありました。SIのワークフローを経験できたのは良かったです。顧客の業務要件を整理して、仕様を決めて実装する。これを全て受け持ったことで、設計力が身に付いたように感じます。

他にも教育プログラムが整備されていたり、良いところもありました。ここに書いたことは、あくまで当時の私の体験であって、SIerが一概にどうという話ではありません。

自分のメディアとしてBlogを育てる

話は少しそれますが、私は大学時代にHTMLで手書きのWeb日記をつけていて、Blogも2005年から書いています。最初はレンタルサーバーを借りて、MovableTypeをインストールしてました。今は、自作のRijiというBlogエンジンをVPS上で動かしています。

昔のBlogを読み返すと恥ずかしいし、稚拙なものばかりです。それでも書き続けたことは良かったと思っていて、継続的に書いていると目に止めてくれる人は案外いるもので、勉強会などで「あの自転車の人だ」などと声をかけてくれる人も出てきました。

ブログを長く続けていると、それが「自分のメディア」になります。時間はかかりますが、継続的に発信してメディアのコンテクストを醸成していけば、前提共有少なく記事を書くことができ、変に曲解されて炎上するリスクも減る。自分の意見を発信する場所として最適なものになるのです。これは外部メディアではできない、個人のブログならではのメリットだと考えています。

私のBlogでは、書き始めて7〜8年たった頃からはてなブックマークが少しずつ付くようになり、PVも増えてきました。Blogを育てることはそれだけ時間がかかることであり、だからこそ他人がすぐ真似できない大きな武器になります。

たまに更新が途絶えたりもしますが、あまり縛りを設けず、気が向いたときに書くくらいの方が自分の性には合っていて、それが逆に細く長く続けられる要因だとも思っています。

そして、発信を続けていると「機会が寄ってくる」ようになるとも感じています。

コミュニティにも救われる

さて、よりレベルの高い環境に身を置きたいと、SIerから再び転職活動することになりますが、ここでも難航します。当時はShibuya.pmやYAPCで発表しているPerlハッカーへの憧れが強く、CPAN Authorが所属している東京の大きなPerl企業に絞って受けていましたが、次々と落ちてしまいました。

そこで手を差し伸べてくれたのが、id:hokacchaです。彼とはSugamo.cssという勉強会で知り合い、交流がありました。私が転職活動をしていることを知り、彼が所属していたカヤックを紹介してくれたのです。私のスキルレベルを理解してくれていたので、推薦文も書いてくれました。

そして、選考を受け、無事カヤックに入ることができました。カヤックにも@typesterというPerlハッカーがいることは知っていたので、入社できたのはうれしかった。これはBlogを書いたり、コミュニティに参加していたからこそ拓けた道だったと思います。

とはいえ、当時のソーシャルゲームバブルに伴うエンジニア不足から、採用になんとか引っ掛かっただけでもありました。自分の実力不足を改めて痛感し、いつでも転職できるくらいのスキルを身に付けたいと強く感じるようになりました。

会社に守ってもらうのではなく、「自分の安定は自分で作る」と考えるようになりました。

いきなりのリードエンジニア経験から得たもの

カヤック入社は2011年、30歳のときでした。30歳だと、当時の平均年齢からするといきなりベテラン扱いで、とあるソーシャルゲームの開発・運用のリードを任されます。人手不足だったのもあるでしょう。

それまで、Windows上でコードを書き、サーバーやDB構築などもほとんどやったことがなく、FTPツールでの本番反映しかしてなかった身からすると、複数台構成のWebシステムをスケーラブルにSPOF少なく構築し、それなりのトラフィックをさばきながら開発・運用する経験はあまりにも未知でした。

これはまずいと思い、それ以降、PC内にLinux VMを立ててその中で開発するようになりました。vim、zsh、GNU screenなどを使い始めたのもその頃です。それまでそれらのツールは知っていて、一時的に使ったりはしていたものの、なじめずに諦めていましたが、必要に迫られて使い始めた結果、使えるようになりました。

任された仕事をなんとかこなしながら、エンジニアとしての成長を感じられるようになりました。社内の技術レベルは高く、Blog等のアウトプットや対外発表、OSSを開発するのが当然という、求めていた刺激的な環境の中で、本当に成長させてもらったと感じています。

自分は、ここからやっとエンジニアとしてまともな成長を始めたと思っています。結局、身を置く環境が一番大事で、良い環境に行く努力はできるだけ早くした方が良い、というのは私が若い人にできる数少ないアドバイスかも知れません。私は書いてきたとおりすごく回り道をしてきて、後悔がまったくないわけではないですが、それが自分の武器にもなっているのでポジティブに捉えてもいます。

ここから対外発表やOSS活動も積極的に行うようになり、エンジニアとしてまた次の成長段階に入るのですが、その話は別の機会に書ければと思います。

便利屋をやめて立場を取りに行くという選択

SIer時代の反省として、語学学校時代と同様に、あまり主張をしなかったことがありました、エースではあったものの、便利屋の平社員のままだったのです。

その反省もあり、カヤックではある程度の結果を出してから、自ら「リーダーにしてほしい」という話をしました。リーダーというのは、カヤックの管理職層のことです。

リーダーになることで、会社をより自分ごと化したいということと、リーダーになりたがるエンジニアが少なかったため、逆に自分がリーダーになって、エンジニアの立場を向上させる動きをしたいということもありました。社内のエンジニアの中では相対的には社会人力もあると感じていたので、それを活かそうという思いもありました。

リーダーになってみると、思っていた以上に良い方向に動きました。新規ゲームタイトルのリードエンジニアを任せてもらうなど、面白い仕事がやってくるようになり、状況に振り回されるのではなく、自分で仕事を回す感覚も持てるようになりました。

そして、状況をコントロールしやすくなった分、周りに対する言い訳もできなくなり、自分で責任を持ってやりきるという感覚も持てるようになりました。

分不相応でも、立場を取りに行くと面白い仕事がやってくるというのは、このときの体験から感じています。これも、出世欲のなかった自分からすると大きな変化でした。

不思議な縁が取り持つその後の選択

その後、はてなを経て、今はNatureでCTOを務めています。

カヤックには、先に触れたtypesterに加えてもうひとり、@maaashさんというエースエンジニアがいました。このmaaashさんが、Natureの初代CTOであり、2代目がtypesterです。この2人がそれぞれ海外に移住したことで、3代目CTOにお声がけいただき、務めています。不思議な縁を感じます。

まとめ:キャリアの選択で大事に思うこと

最後に、自分が仕事やキャリアの選択の上で大事だと思っていることを4つほど挙げて、この記事を締めようと思います。

  1. 価値観にベットする
  2. 自分と別の選択をしている人と仕事をする
  3. 迷ったときの決め方を決めておく
  4. 好きなことしかしない覚悟を持つ

価値観にベットする

例えば技術的な話では、OSSかプロプライエタリか、動的言語か静的言語か、これらは別にどちらが正しいといった正解があるものではありません。世の中のほとんどがそうであるとも言えます。

そんな中で、自分が「どの価値観に賭けたいか?」を考えて、ベットするのが良いと思っています。そしてベットした以上は、迷わないで行動する。先に述べたように、選択を正解たらしめるのは自分の行動なので、迷うのは無駄です。ただし、盲信は良くないので、定期的に見直しは必要です。

自分と別の選択をしている人と仕事をする

自分と違う選択をしている人は、仕事をする上で大事なパートナーになり得ます。だからこそ、他人の選択を馬鹿にしてはいけないと考えています。

例えば、私は「のめりこめるかどうか」で仕事を選びますし、のめりこむことで成果を出すタイプです。だから逆に、一歩引いて、ニュートラルに判断できる人が一緒にいてくれた方が、窮地で冷静な判断をして助けてくれると思っています。

また、私は比較的枯れた技術選定をする方ですが、エッジな技術をどんどん取り入れたい人とも一緒に働いて、刺激を受けながらシステムを改善していきたいとも思っています。

迷ったときの決め方を決めておく

誰でも選択に迷います。そういうときに「どう決めるか?」を決めておくと良いでしょう。

例えば、id:sasata299さんは「迷ったら難しい方を選ぶ」と言っていました。そのストイックさには驚きます。私の場合は「変化の大きい新しいチャレンジを選ぶ」といったところです。

好きなことしかしない覚悟

まともな判断力を奪われた悲惨な状態でもない限り、自分の人生の選択に対して最終的に判断を下しているのは自分なので、それは結局「自分が選んだ。自分が好きなことだ」と考えるようにしています。

自分はわがままなので、やりたいことだけをやりたいし、今本当に自分のやりたいことができているかどうかは自問しています。「今はつらくてもいい」とか「我慢している」というのは自分への言い訳で、思考停止だと考えています。そういう状態でも、なんで今やっていることがつらいのか、どうやれば楽しくなるのか、面白くなるのか、を自問するようにしています。

これを私は「好きなことしかしない覚悟」と言ったりしています。

今、私は自分が選択したエンジニアとして、自分の好きなことができているので、満足して働くことができています。

(記事カバー写真提供 ©Songmu)