エンジニアの生存戦略

第3回 宮川達彦―最先端のWebエンジニアのキャリア

この記事を読むのに必要な時間:およそ 4.5 分

クックパッド時代(2012年~)

─⁠─次は現職のクックパッドですね。

宮川:dotCloudは今では会社の事業をDockerにピボットしてうまくいっていますが,当時はPaaSがほとんど儲かっておらず社内が混沌としていたので,技術的にはおもしろい会社だけど,もうちょっと違うことをやりたいなと思い始めました。シックスアパートではコンシューマ向けのプラットフォーム,dotCloudでは開発者向けのサービスを作ってきましたが,生活に密着したユーザ向けサービスはやったことがなく,またクックパッドはRubyコミュニティの中でも有名になり始めていたので,おもしろそうでした。

─⁠─今までやったことがなかった分野だからこそ選択した部分もあったんですね。クックパッドではどんなことをしていますか?

宮川:クックパッドでも,所属・住まいはアメリカです。2年前に入社した当時は,各部署が自立してプロダクトを作っていて,統一性がなかったり,別部署で同じような機能を作ったりしていました。それはそれで悪いわけではなく,結果として良い物が残り悪い物が淘汰されていけばよいのですが,つなげていくAPIも必要だよねという話になりました。そこで,まとめるためのリーダーシップをとったり,APIを作るためのフレームワークGarageを作ったり,API設計のレビューを行ったりしています。

─⁠─いわゆるアーキテクトとして,基盤部分を作っているんですね。

Rebuild

─⁠─2013年から趣味でRebuildを始められましたが,なぜ始めようと思ったんですか?

宮川:日本のポッドキャストの大部分は芸能人のラジオ番組のおまけとかですが,海外のポッドキャストには技術トピックについて1週間に1回とかのペースで深く話しているものがあり,話している人と聴いている人の距離が近いメディアだと感じていました。また,日本語の情報は,英語の情報がかなりフィルタされて入ってくる部分もあると感じています。そんな中,ある意味僕のフィルタがかかった情報ではあるのですが,メディアとして自ら情報を発信したいと思いました。

宮川さんの生存戦略

─⁠─さて,本題のキャリアについて聞かせてください。宮川さんほど技術力があるとキャリアを考えなくても生きていけるのかなと思ったりするのですが,考えたりするんですか?

宮川:考えたこと,あるにはあるんじゃないかな(笑)⁠ただ,僕の中で「こういうキャリアパスを歩みたい」とちゃんと設計したことはないですね。その都度に最善を決めていて,悪い言い方なら「出たとこ勝負」なんですが,転職はタイミングが重要なので,そのときに良いと思ったら行動しないとダメかなと思っています。

─⁠─これまでの宮川さんのキャリアは,コンシューマ向けだったり,開発者向けだったり,利用している技術も違ったりと,さまざまですよね。技術で会社を選んだりするのでしょうか?

宮川:どの技術をやるのかは,転職を考えるうえでは二の次ですね。一番は自分の能力をどう会社に還元でき,どう世の中にインパクトを与えられるのか,そして働く環境からいろいろなものを吸収できるかですね。技術も重要でないことはないけど,一番ではないです。

─⁠─宮川さんは,広く浅くではなく,広く深く技術に詳しいと思っているのですが,どうやって知識を得ているんですか?

宮川:僕の場合は,最初にPerlで上から下まで一通りやった感覚があります。プログラミング言語そのものを開発するところとか,言語のエコシステムを作っていくところとかも行いましたし,小さいサービスから大きいサービスまで作りました。ビジネス顧客向けも,コンシューマ向けも,開発者向けもやってきました。そのため,ミクロな視点とマクロな視点を持てていると思っていて,Perl以外の新しい技術でも,どこに注目すればよいのかは経験でわかるようになってきています。⁠何事も経験ですよ」と言っちゃうと身もふたもないんですが(笑)⁠そういう見方ができるってことですかね。

─⁠─なるほど,今までの経験があるからこそ,最短で技術の取捨選択ができるんですね。モバイル開発も,宮川さん自身がモバイルアプリ開発をしているわけではないけど,モバイル技術全般を知っているじゃないですか。そういう技術の吸収って,どんなところからモチベーションが発生しているのでしょうか。楽しいからなのか,興味からなのか,キャリアで必要だからなのでしょうか。

宮川:最初は興味からですね。ただ,防衛本能としてそうやっている面もあるのかもしれませんね。キャリアパスを築く方法としては,ある技術を極めるという方法があって,僕も昔はサーバサイド技術をそんな感じでやってきたんですけど,そういうのは馬力が物を言い,若い人のほうが吸収力やコードを書きまくる力があります。そこに対して負けないように自分の持っている知識を利用しつつ,新しい技術をささっと吸収できたほうが,変化に耐え得るようになるのかなと思います。そういう意味で言うと,キャリアパスの考えに近いのかもしれません。

─⁠─これはおもしろいなという技術は,ある程度は自分で手を動かして,どんなものか理解しているのでしょうか?

宮川:はい。今はポッドキャストをやっているので,触らないで評論したり意見を述べたりするのはかっこ悪いし,見当違いのことを言うと恥ずかしいですしね。プログラミング言語はリファレンスを見て1~2日は遊んでみたりしているけれど,細かい物をさすがに一つ一つきちんと触るのは難しいので,良さそうなものをつまみ食いしたり,スクリーンキャストとかブログを読んだりして,まあこんなものかなって。

─⁠─必要なところは自分で手を動かすけれど,そうでないところは最低限の知識を得ておくんですね。そういう技術の取捨選択力は,どこから身につけたのでしょうか。若いころからコードをたくさん書いて,OSS活動をしていたことの影響はあるのでしょうか?

宮川:OSSで公開したり,情報発信したりしている人には情報が集まってくるとよく言われますが,やはりありますね。特にOSSだと,いろいろなフィードバックが集まってきます。

画像

もし今社会人になりたての若者なら

─⁠─もし宮川さんが今社会人になりたての若者で,まっさらな状態で技術を学ぶなら,どんなテクノロジを学んでみたいですか? 技術は多様化していて,コンシューマ向けサービスだとスマートフォンが当たり前ですし,Makeブームみたいな感じでハードウェアブームもあったりするじゃないですか。

宮川:コンピュータサイエンスと数学の基礎を学ぶのは大事だと思います。最近は海外を含め若い人がどんどんスタートアップを作りますが,大学などでコンピュータサイエンスと数学の基礎をちゃんと学んだうえでやる人のほうが伸びていくスピードが速いと思います。今は中学生でもプログラムを書けたりするので,そういう意味での学びやすさはすごいんですが,それでもコンピュータサイエンスと数学は学んだほうがよいと思いますね。

─⁠─なるほど。技術が汎用的になって作りやすくなったからこそ,最低限の基礎を身につけたほうが良いと?

宮川:そうですね。学びやすくなっているのは確実に良いことなので,利用すればよいと思います。でも流行りものだけやっていても,5年後,10年後に役立つかを判断するのは難しいでしょう。

─⁠─あとは英語ですか?

宮川:そうですね,やはり英語は重要。情報にアクセスできるスピードは英語を使えるかどうかでだいぶ変わってくるので,読み書き,特にリーディングは絶対にできたほうが良いです。日本語に翻訳された情報を読んでいるだけでは,フィルタされた情報しか受け取れないし,その翻訳が間違っている可能性もあります。サービスを作っていくうえでも,日本は大きなマーケットではありますけど,今後人口は縮小していきますし,大きいところに出ていくには英語ができないとダメです。また,開発者コミュニティで情報発信していくときに英語ができるのとできないのとでは雲泥の差があります。日本のソフトウェアエンジニアはすごく優秀な人が多いですけど,海外のカンファレンスやブログを見るとまだちょっと弱くて,それは単純に英語が障壁になっているパターンがかなり多いと思うんですよね。自分の思っていること,やっていることを発信できる道具だから,英語は相当な武器になると思いますよ。

─⁠─数学,コンピュータサイエンス,英語はとりあえず学んでおけと。

宮川:勉強しろみたいな話になっちゃった(笑)⁠

宮川さんのようになるには

─⁠─宮川さんみたいに,技術力が高く,自由に生きられるキャリアはエンジニアのあこがれですよね。そういうふうになるには何が必要ですか?

宮川:難しい質問ですが……,何かを一つを極めることでしょうか。ほかの人に負けないもの,自分にしかできないものがあると,それを武器にいろいろな突破口を開くことができます。今は何でもできる「フルスタックエンジニア」という言葉が盛り上がっていますけど,フルスタックエンジニアになるにしても,どれもまんべんなく普通にできますだと全然おもしろくないと思います。浅く広くやっても全部が中途半端に終わるだけなので,まず一つのことを極めて,そのうえでほかのことをやると,ものすごく強くなると思いますね。昔はサーバサイドを極めていて,最近フロントエンドやデザインもやり始めましたって人なんかは,すごく価値が上がっていると思います。僕自身があまり偉そうなことは言えないけれど,そういうふうになっていくべきかなという気はします。

─⁠─一つの強みを活かしつつ,ほかのスキルも身に付けるということでしょうか。

宮川:そうですね。たとえばWebデザインとサーバサイドのWeb設計は,全然違うように見えるかもしれないけれど,共通するところがあると思います。一つを極めてからいろいろなものを身に付けると,経験が活きてくる部分がかなりありますね。

─⁠─本日は貴重なお話,ありがとうございました。

画像

本インタビュー後に,Rebuildと本誌の連動企画として,宮川さんと舘野さんとでRebuildの特別エピソードを録音しました。こちらもぜひお聴きください!

http://rebuild.fm/webdb83

著者プロフィール

舘野祐一(たてのゆういち)

はてなブックマークのリードプログラマ・エンジニアリングマネージャを経てクックパッドに入社。ユーザに価値を届けるためにさまざまな技術的な挑戦を行っているうちに,いつの間にかクックパッドのCTOに。昔はコードを書くことが死ぬほど好きだったが,最近は技術をどう生かすかが好きになってきているお年頃。

GitHub:https://github.com/hotchpotch
はてな:http://secondlife.hatenablog.jp/

コメント

コメントの記入