Findy Engineer Lab

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

すごい技術で世界を変えることにこだわらず、誰よりも速く実装できる組織を作るようになったわけ

スマートニュース株式会社でエンジニアリングマネージャを務める天野仁史@amachangさんは、15年ほど前にWebフロントエンドのエンジニアとしてブログやカンファレンスでのアウトプットを精力的に行ってきました。一方で、その後には友人とカクテル株式会社を立ち上げ、10年にわたるベンチャー経営も経験しています。エンジニアから経営者に転じたことで見えたこと、そして現在また企業に属してマネージャーを務める上で重要だと考えていることなどを聞きました。

「この技術がすごい」という考え方からの脱却

── さまざまな立場を経験されてきたことで、エンジニアが自分のキャリアをどのように構築するか、天野さん自身は視点をいくつかお持ちではないかと思うのですが。

天野 エンジニアがキャリアについて考えるとき、3つの軸があると思います。

1つは、会社の事業にコミットするというアプローチです。所属する会社にはソフトウェアによって成し遂げたい事業があり、それを自分の技術力とスピードでどう成長させていけるかを考えることです。2つめはスキルを成長させることです。自分自身の技術力そのものを伸ばせる環境かどうかを考えることです。最後はもっと単純で、自分の生涯年収を増やせる環境であるかを考えることです。

僕がいま意識しているのは1つめの軸で、会社の事業を自分がいかに成長させられるかという気持ちが、とても強くあります。

── それは、起業を経て気付いたことでもありますよね。どういう変遷でそういった考え方にたどり着いたのか、聞かせていただけますか?

天野 はい。僕も最初からそういう考え方を持っていたかというと、そんなことはありません。

僕がWeb業界に転職したころ、ソフトウェアエンジニアの給与水準は今ほど高くなく、それでもあえてWebをやろうという人は、今より純粋に「技術が好き」だったり「プログラミングが好き」という人が多かったように思います。

僕自身、高専出身だったこともあり、そういう傾向がありました。技術が、自分のアイデンティティだったんですね。

── 天野さんは2006年ごろからブログでもJavaScript技術に関して熱心に情報発信をされていて、かなり「JavaScriptの人」という印象がありました。

天野 そのころは朝から晩までJavaScriptを書いていて、DOMの仕様をすっかり暗記してしまうくらいでした。それは少年漫画のように「ただただ修行して強くなる」というやり方で、ある意味では「JavaScriptすごい」という考え方だったのかもしれません。

ソフトウェアエンジニアには技術が好きな人が多いので、「この技術がすごい」ということを話すのが好きです。僕もそのころは「技術で一番になれば、自分の価値も高くなるだろう」「この技術がすごいで突き進むことでフォロワー(仲間)もでき、業界に携わる人々が協力して盛り上げていくことにつながるのでは?」と考えていました。

しかし、いま実際に「自分の価値を高められる戦略は何か?」を考えるなら、すごいと思っている「この技術」とは別に、いま求められているのは「どの技術か?」という視点も必要ではないでしょうか。

僕が得意としていたJavaScriptという技術は、幸運なことにその時点では会社の事業にとてもうまくフィットしていました。まさに求められていた技術でした。例えば、サイボウズでかかわっていたKintoneというプロダクトにとっても、そういった技術は差別化要因になり得るものでした。

それ以前は、たくさんの人が使うゲームやアプリを作りたいと思ったらC++でWindows APIを使ったり、Javaで書いたりという選択肢になっていたと思います。しかし、僕がサイボウズでJavaScriptを書いていたころには「アプリを作るならJavaScript」という時代になっていました。

── 2007年のDeveloper Summitで、天野さんは「JavaScriptの現在と未来」というテーマで登壇してベストスピーカー賞をもらっていますね。

天野 その発表では「これからはモバイルの時代だから、メモリのフットプリントを抑えることが大事だろう」という話をしています。しかし、本当にフットプリントが大事だっていうなら、「ブラウザアプリではなくネイティブアプリを作るべき」という話になるはずですよね。

実際、すぐにiPhoneが登場して、数年もするとみんなが使い始めていました。iPhoneで便利なアプリを作るなら、当時はObjective-Cを使うしかない。「そのためだけに新しい言語を覚えるの?」と言ったところで、JavaScriptはSafariを立ち上げないと動かないわけです。

それでも当時の僕は「iPhoneでもいずれはブラウザアプリが使われる時代がくる」みたいな話をしていました。それで「あまちゃん、バカなの?」と言われたこともあります。結局は「JavaScriptがすごい」という考え方から抜け出せていなかったのかもしれません。

── 中心となる技術がWebブラウザからスマートフォンに移っていたのですね。

天野 みんながiPhoneを便利に使っているのに「それJavaScriptなら、同じことがWebブラウザでできるよ」と言うのはダサいでしょう。ユーザーが求めているものという視点では、どの言語で書かれているかは関係ないわけで「JavaScriptはすごい技術だから、ブラウザアプリでいい」と主張するのは無理ですよね。

そういう状況で「JavaScriptの人」と思われていることも、自分の得意な技術こそ正しいということも虚しいですよね。しみじみ「ほかの人から見るとバカみたいなこと言ってるのか……」とも考えました。

よく考えると、JavaScriptがすごいのはWebブラウザがJavaScriptを使っているからであって、すごいのはむしろWebブラウザによる市場の支配の方です。それがあって、はじめてJavaScriptを書く人の食い扶持がある。つまり、自分の「すごい技術」が市場にマッチしていれば価値は高まるけれど、マッチしなければ資本主義のルールでは勝てないんです。

世界を変えるのは、技術か? ベストプラクティスか?

── 技術が市場とマッチしているかどうか? というのは興味深い考え方です。なぜそういう考え方に至ったか教えていただけますか。

天野 ベースには、Webエンジニアとして最初の経験を積んだガイアックスを辞めるときに、当時CTOだった鳥居晋太郎さんに言われた言葉があります。僕はずっと「技術で世界を変えたい」と思っていて、送別会でもそういう話をしていました。

そんな自分に鳥居さんは「技術だけで世界を変えるほどのエンジニアは、そもそも業界で随一の稀有な存在だ」ということ、しかも「その技術が市場に求められていなければ、世界は変えられない」と語ってくれました。

どれだけ少年漫画みたいに修行して努力して強くなっても、世界を変えられるかどうかは、その技術が市場にフィットするかどうかという運の要素に左右されてしまう。コントロールできないものに左右されるのは嫌ですよね。

技術で世界を変えるなら、基本的にはこの2つのパターンしかないでしょう。

  • 業界で随一の技術力を手に入れて、その人しか解けない、しかも市場にマッチする課題を解く
  • 新しいアイディアが注目されたときに、世界一早く実装し、そのアイディアの最初の体現者となる

そのとき僕は、後者の方が実現の可能性が高いのではないかと考えました。今では世界を変えたいとまでは思っていませんが、これが自分の考え方の基本になっているように思います。

── 「新しいアイディアが注目されたとき」というのは、必ずしも自分でアイディアを考えつくわけではないということですか? 天野さんはそれを目指していたのかと思っていましたが。

天野 よく「巨人の肩の上に立つ」と言いますが、必ずしも自分のアイディアが重要であるとは思いません。むしろ、エンジニアが取り組む課題には、採用すべきベストプラクティスがあることが多いです。

僕は「市場にフィットしそうだとみんなが感じている技術をフォローし続けて、最後の一手を打つ」ことが得意で、そのため誰かが考えたベストプラクティスを学び、キャッチアップし続けることを重視してきました。ひたすらJavaScriptを書いていたのも、そういうことなのです。

そうやって学んだ知恵の上に、いろいろな人のアイデアや、自分しか気づいていないニーズを載せて、市場にうまくフィットした形で素早くリリースする。この戦略を取るなら、「誰より速く実装する」ことは運頼みではなく、修行を重ねた努力の先にあります。

特にIT業界では、必要なものを速く作れる技術は、どこに行っても重宝されます。だからいまは「とにかく速く作る」こと、そのために自分の技術を使うことを大事にしています。

── それは鳥居さんの言葉を聞いてすぐそういう結論に達したのでしょうか?

天野 もちろんそれもありますが、技術にこだわる一人のエンジニアだった僕がこう考えられるようになったのは、やはり起業した経験が大きく影響しています。共同経営者の死や家庭環境の変化もあり、事業の内容に自分でも責任を持たなければいけないと意識するようになりました。

── そうすると、起業はエンジニアにとっても貴重な体験になりますね。

天野 そういう意味で「エンジニアも起業しよう!」と言いたい気持ちはありますが、起業は本当に大変です。お勧めはしません。お勧めはしませんが、起業は自分にとって確実に一つの大きな選択だったなと思います。

エンジニアの組織でもベストプラクティスを学び、作る

── 起業を経て、2018年に会社ごとスマートニュースにジョインされました。

天野 スマートニュースでは、エンジニアとしてのスキルで事業に貢献するためプロダクトマネージャーをやりたいと思っていたのですが、いつの間にかエンジニアリングをマネジメントすることが主な仕事になってきました。

会社の成長に合わせて組織をどう変えていけばいいか、それに合わせてソフトウェアのアーキテクチャをどう変更するか、ということを考えています。いまでは、自分が事業を最も加速できるのは「エンジニアの組織を作る」ことだと感じています。

── 会社が成長してくるとエンジニアの数が増えてきて、エンジニアリングマネージャーの役割に注力する組織も増えていますね。

天野 実は、エンジニアの組織をどう作るべきかということについても、グローバルスタンダードが既にいくつかあります。Netflix型、Google型、Facebook型、Spotify型といったベストプラクティスと呼べるものですね。

いまはエンジニアの流動性が高いので、組織作りのさまざまな方法論も共有され、独自の方法で組織を作るより、グローバルスタンダードに合わせた方が生存戦略として都合がいいと言えます。

そういった既存の方法論を参考にしながら、今後半年くらいでどれくらいの規模のエンジニア組織にするか、どのタイミングで組織を分けるか、それぞれの組織をなるべく粗結合、かつコミュニケーションギャップが生じないように分けるには責任範囲をどう決めればいいか、そういう議論をしています。

── 組織論のグローバルスタンダードは、どのように学べるのでしょうか?

天野 エンジニアの流動性が高いことが幸いして、組織作りのグローバルなベストプラクティスを実体験として知っている人と一緒に働く機会も増えました。中に実際いた人や、現在いる人にヒアリングしてみると、コンポーネントごとに部署を分けるとどうなるか、マトリックス型の組織がどう変わっていくか、そういったことがちゃんと分かります。

── 組織論の書籍もたくさん出ていますよね。

天野 書籍を読んだりもしますが、それに加えて「実体験として知っている人に直接話を聞く」ことは本当に重要です。本を読むだけでは、「この会社ではこうやっていました」という説明があっても、実際の生々しい詳細までは書かれていません。

「こういう課題についてこう対応したと書いてあるけど、目の前の具体的な状況に当てはめるとこういう解釈であってるのかな?」という疑問に対する答え合わせができません。ところが、実体験がある本人に直接聞いてみれば、悩みに対する答えも具体的に返ってきます。

組織作りにおいて、ブログや本だけでなく、個別に話を聞きに行くと面白いことがいっぱいあります。「このあと組織がどうなっていくんだろう?」って話を振ると真剣に相談に乗ってくれる方もたくさんいます。僕のところに聞きにきてくれても、お話しできることがあると思います。

最速な人がとにかく速く走れるように

── エンジニアリングマネージャーになった今でも、ベストプラクティスを学んで価値を高めていきたいという気持ちは同じですか?

天野 それは、JavaScriptエンジニアだったころからずっと変わっていません。しかし、一人のエンジニアが出せる価値にはどうしても限りがあります。限られていない領域まで行ける場合もありますが、それにはさまざまな偶然が重なってくれる必要があります。

そういうことに気がついて、「ジャンルにこだわらず事業の課題を最短で解くことが、自分の価値を高める正しい努力」だと考えるようになりました。変わらないのは、常に「やってやる」という気持ちを持って仕事しているということです。

会社の中で大きなインパクトを出せるなと思った仕事は、どんなに身もふたもない些細な部分であっても、積極的に取りに行きます。結局のところ、お金のない会社で面白いことは何もできないので、事業の成長に寄与するなら何でもやってやると考えています。

いまエンジニア組織のことを考えているのも、その延長です。組織が大きくなって小さく分けていく必要が生じたとき、それをどう管理するかではなく、それぞれで最速な人が、とにかく速く走れるようにするにはどうするか? 一人ひとりのエンジニアが全速力で走れるようにするにはどうすればいいか? そのように考えて、組織作りをしているところです。

天野さん近影

取材・構成:鹿野桂一郎(技術書出版ラムダノート)

※新型コロナウィルス感染拡大防止の観点から、インタビューはWeb会議ツールを用いてリモートで行いました。