エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン

クックパッド×はてな×nanapi開発トップが見てきた「伸びるエンジニア」ってこんな人

公開

 

(写真右から)クックパッド舘野氏、はてな大西氏、nanapi和田氏

(写真右から)クックパッド舘野氏、はてな大西氏、nanapi和田氏

クラウド技術の進化や開発ツールの充実などを背景に、Webエンジニアに求められる開発知識は日々更新され、右肩上がりに高度化していっている。常に成長し続けることなしに、エンジニアが理想的なキャリアを描くことはできないと言っていいだろう。

そんな状況下、柔軟に知識と経験を増やしながら伸びていくエンジニアと、そうでないエンジニアとでは何が違うのか。弊誌姉妹サイト『@type』が主催する『エンジニア適職フェア』(東京ドームシティ)でこのほど、優秀なエンジニアを輩出することで名高いIT企業3社の開発トップを招き、「エンジニアが成長する職場の条件とは?」をテーマにトークセッションを開催した。

《登壇者》
クックパッド株式会社 執行役 最高技術責任者 舘野祐一氏
株式会社はてな 執行役員 サービス開発本部長 大西康裕氏
株式会社nanapi 取締役 執行役員 CTO 和田修一氏

エンジニア育成の取り組みから、過去の成功・失敗事例、伸びるエンジニアの条件まで、モデレータを務めた弊誌編集長・伊藤健吾が3者それぞれの持論に迫った。

フルスタックを目指すならビジネススキルも必須

今年からCTO職に就いたクックパッド舘野氏は、「モバイルファースト」に大きく舵を切った

今年からCTO職に就いたクックパッド舘野氏は、「モバイルファースト」に大きく舵を切った

―― さっそくですが、最近の業界の動向から見て、これからWeb開発をする上で必要とされるエンジニア像を、皆さんはどうお考えですか? 各社の最近の取り組みを含めて教えてください。

舘野 クックパッドでは今年から、モバイルアプリケーション開発を中心に据えた体制へと大きく舵を切りました。

というのも、クックパッドほか当社のサービスを利用するユーザーには主婦をはじめとする20~40代の女性が多く、そうした方が当たり前のようにスマホを使っているのが、この時代です。

クックパッドは古くからRuby on Rails、つまりWeb向けのフレームワークを使って開発していたため、モバイルアプリ開発を得意とする人の割合が少なかった。このままではユーザーにとって価値あるものを作れなくなるという危機感がありました。そこで実施したのがモバイルシフトです。

具体的には、まず会社として今後はこうやっていくという方針を明確に打ち出し、業務時間の一定の時間はモバイル開発技術の吸収に充てていいこととしました。

もう一つは「モバイルファースト室」の新設です。Webエンジニアが最短でモバイル開発をマスターするにはどうすればいいのか、モバイル開発が得意なエンジニアが集まって日々追究しながら、開発者全体のサポートを行っています。

大西 はてなは、もともとユーザー向けのBtoCサービスを提供してきましたが、最近はその強みを活かした企業向けのBtoBサービスにも力を入れています。

例えば、サーバ管理を自社で行ってきた強みを活かしたサーバ管理ツール『Mackerel』の提供、『はてなブログ』をベースにした企業向けブログメディア『はてなブログMedia』、『はてなブックマーク』の膨大なデータを利用した『BrandSafe はてな』によるアドテク方面への注力などがそれに当たります。

これからのWebエンジニア像についてですが、最近、フルスタックエンジニアの是非についての議論をよく耳にしますよね? 私は、フルスタックも一つの分野を深堀りするタイプも、どちらもアリなのではないかと思っています。

はてなについて言えば、現状はフルスタックな人の方が多いです。ただ、例えばアドテクは機会学習やアルゴリズムに精通した人が活躍できる分野ですし、今後はそういったスペシャリストのニーズも増えるのではないかと思います。

―― nanapiさんはいかがでしょう?

和田 2009年にnanapiを始めた当時は、まだAndroidが使い物にならず、iPhoneも3Gが出たばかりで、ほとんどがブラウザに閉じたインターネットでした。

しかしそれから5年が経ち、インターネットとのつながり方は激変し、圧倒的にアプリ中心になってきています。今後はIoTのように、ディスプレイのないものすらインターネットにつながる時代になっていくでしょう。

そうなると、Webとかブラウザに縛られた開発スタイルではついていけなくなる。こうした考えから、弊社ではモバイルを含めた新しい開発スキルを身に付ける勉強時間を業務時間内に設けるようにしています。

ネイティブアプリ開発のスキルについては、ひと通り勉強会をやってしまったので、今ではUNIXのソースコードを読むところまで行ってしまいました(笑)。

―― さきほど大西さんからフルスタックか専門性かというお話がありましたが、和田さんと舘野さんは、そのあたりをどのようにお考えですか?

和田 どちらかしかダメという話ではないですが、幅広い意味でフルスタックの方へ行ってほしいですね。当たり前ですが、1人ではモノは作れません。コミュニケーションの能力だったり、プロジェクトを進める力は絶対に必要です。

その意味で、ビジネススキルを含めたフルスタックになっていかないと、今後はどんどん厳しくなるのではないでしょうか。

舘野 クックパッドが定める方向性は3つあります。

1つは、幅広い技術を前提に、ユーザが必要とするものを自ら考えるフルスタックなエンジニア。2つ目は、何かを徹底的に深堀りすることで価値を生み出すスペシャリスト。3つ目は、技術に加えてリーダーシップやマネジメントなどのビジネススキルを備えた総合職タイプです。

中でも、スペシャリストとして生きていくのは非常に覚悟のいることだと思います。

10年、20年とエンジニアリングを続けていると、普通はだんだんと幅広い方向へ興味が移っていくもの。そこをちゃんと深堀りしてサービス価値やビジネスに結び付けられるのは、ごくわずかな人だと思っています。弊社の例で言えば、全エンジニアの1、2割程度に過ぎません。

技術がどのように課題解決につながっているかを意識せよ

「面接で重視するのは話の内容そのものよりも、話すプロセスが論理的かどうか」とnanapi和田氏

「面接で重視するのは話の内容そのものよりも、話すプロセスが論理的かどうか」とnanapi和田氏

―― では、そうした考え方やトレンドを踏まえて、各社ともエンジニアを採用する際にはどういう点を重視しているのでしょうか。

和田 nanapiで見ているのはスキルとパーソナリティーの2つ。特に後者を重視しています。

スキル面の必要要件ももちろんありますが、それ以上に、自分の3~5年後のキャリアについて考えた上で「なぜ今この仕事をやっているのか」を順序立てて説明できるロジカルシンキングが大切です。

思考能力は、その人のOSになる部分です。それさえあれば、エンジニアとしてはもちろん、ほかのことをやってもうまくいきます。逆にそこがないと、仮に技術があったとしても、時代が変化するとついていけない可能性が高い。

だから面接では、その人の話の内容そのものよりも、話すプロセスがどれだけ論理的かに意識を置いて見ています。もっとも、思考プロセスがしっかりしていて、それを説明できる人であれば、結果的にスキル面でも優秀なことがほとんどですけどね。

大西 はてなで重視しているのは、スキル、コミュニケーション能力、Web好き度の3点です。このうちスキルに関しては和田さんの考え方と同じで、スイッチングコストはそれほど高くないので、言語の違いなどにはこだわりません。

はてなでは、どのプロダクトも5~10人のチームで開発しているので、コミュニケーション能力は非常に重要です。

基本的に自社サービスで、自分たちで使うサービスでもありますから、どれだけ熱心に自分事としてとらえられるかも重視しています。

面接では、はてなのサービスの変えたいところ、やりたいことを聞くようにしています。実際に、企画を持って入る人や、「ここだけはどうしても改善したい」と言って入ってくる人も多くいます。

舘野 私も、スキルそのものよりも、その技術がどれだけ課題解決につながっているかを見ますね。今まで自分が取り組んできた仕事やその中で身に付けたスキルが、どのように課題解決に結び付いたのかを順を追って説明できる人がいいです。

社内のエンジニアに向けても、常に「マネジメントをする必要はないが、リーダーシップは持つようにしてほしい」と言っています。エンジニアは技術があるからこそ、自ら提案して組織を動かすことができます。いちプログラマーとしての道を選んだとしても、その技術が最終的に行き着く先である会社としての方向性まで言及できることが、大きなことを成し遂げる上では必須なのではないでしょうか。

その意味では、エンジニアも、エンジニア以外のメンバーも違いはありません。エンジニア以外の人もテクノロジーをしっかりと理解していることで、会社としてやれることは広がります。

そのため、新卒向けにそういった技術の教育も行っています。

―― 以前、取材でも伺いましたが、nanapiさんもエンジニア以外の人に向けた技術勉強会を行っているんですよね?

和田 そうですね。とはいえ、エンジニアでない人に技術的な仕事をしてほしいというわけではありません。

技術があればこんなにすごいことができる、ということを全員に知ってもらうことで、「技術が正義」な会社の風土をつくっていきたいと思ってやっています。

なぜインターネットはつながるのか、というところから始めて、フレームワークを使った開発ができるようになるまで教えます。半年前に始めた取り組みですが、今では総務の女の子までコードが書けるようになっています。

大西 はてなでは一般社員へのエンジニアリング教育は行っていませんが、GitHub Enterpriseのようなエンジニア向けのツールを営業やユーザーサポートの人も使っていて、全社的に同じ文化を共有できている面はあります。

自発的な行動を促す風土を作れるか

"はてなでは、先輩エンジニアが評価とは関係なく後輩のキャリアに関する相談を受ける「シニアエンジニア」制度を設けている

“はてなでは、先輩エンジニアが評価とは関係なく後輩のキャリアに関する相談を受ける「シニアエンジニア」制度を設けている

―― 社内の風土づくり、文化づくりは皆さん力を入れて取り組んでいるようですね。では、話を絞って、エンジニアが成長するための環境づくり、組織づくりではどんな取り組みをされているのでしょうか。失敗談も含めてお話いただきたいのですが。

舘野 社内の技術レベルを上げようと、座学で教えたり、ペアプロを毎日やってみたりと、いろいろ試していた時期がありました。その結果、最終的に効いてきたのはGitHubです。

3年前にEnterpriseを導入し、毎回必ずコードレビューを挟みながら開発を進めるようにしたところ、着実にスキルが上がっていきました。

コーディングの習慣を変えるほどの仕組みを導入する際は、時間的なコストもかかるので、最初は反対意見もありました。

でも、小さなチームからやり始めて徐々に広げていったところ、トータルで見れば生産性が上がるというコンセンサスが次第にでき上がっていき、最終的に組織全体に適用することができました。

―― 今振り返ってみて、成功したポイントって何なのでしょう?

舘野 大事なのは、トップダウンで決めなかったということです。

組織全体の生産性を上げるという目的に向けて、1チーム1チーム、1人1人が自発的に動くような環境を作ることで、エンジニアは自然と成長していくのではないでしょうか。

和田 トップダウンで物事を押し付けないのは大事ですね。

大西 はてなでは、新卒採用を始めた2008年から、サマーインターン制度を導入しています。4週間の日程の前半2週間は毎日講義で、Webアプリケーションエンジニアをゼロから育成するカリキュラムになっています。この制度が、社内エンジニアの育成という面でも、想定していなかった副次的な効果をもたらしてくれました。

一つは、インターンの資料がそのまま、社内の研修資料になったこと。もう一つは、入社1、2年目の若手エンジニアが講師やメンターを務めることで、自分自身の成長にもつながったということです。

もちろん、中には失敗した取り組みもあります。

開発フロー改善のために流行りに乗ってスクラムを取り入れましたが、そのメリットを十分に説明できないままに取り組んだために、うまくいかなかったということがありました。

舘野さんも和田さんもおっしゃっていましたが、やっぱりトップダウンでやるとうまくいかない。メンバーから「こういうことがやりたい」という声が自然と上がってくる文化づくりが大事なのだと思います。

会社がやるのは、そうした自発的な動きを起こしやすくするためのサポートです。今は、チームに裁量を預けていますが、例えば1日1時間までは開発フロー改善のために時間を割いていいといった分かりやすいルールを設けて、雰囲気づくりに努めています。

和田 雰囲気づくりという点で言うと、nanapiが最近力を入れているのは、キャリアを考える機会をつくることです。

育成にはどうしても目標設定や評価が伴いますが、目標を定めるとなると、「今期はこういう数字を追います」、「こういう技術を身に付けます」といった話に終始してしまいがちです。5年後、10年後に自分がどうなっていたいかという、キャリア形成と結び付かないケースが多いんです。

今って、一つの会社でずっと働き続ける時代ではないじゃないですか。だから、うちの会社にいる間にその先の明確なキャリアを考えることができたら、その人の人生にとってハッピーなはずです。

キャリアに関する目標設定の場を設けて、成長につながる気付きを提供することを心掛けています。

―― なるほど。和田さんは面接でもこの点を重視しているとおっしゃってましたね。クックパッドさんとはてなさんは、こういったキャリア意識の醸成という意味で行っていることはありますか?

舘野 やはり上長とのコミュニケーションが大事だと思うので、半年に1度、70人強いるエンジニア全員と面談して、1年後、5年後、10年後にどういうキャリアを歩んでいこうと考えているのか話し合うようにしています。

今それぞれが取り組んでいる仕事が、本人の将来にどうつながっていくのか、というところは常に考えていますね。

大西 当社では、人事部が主導する面談とは別に、シニアエンジニアという制度を導入しています。

シニアエンジニア、つまり先輩エンジニアがチームに関係なく後輩のメンタリングをする場で、毎月4、5人とキャリアについて話します。実際にエンジニアから「キャリアが見えない」という相談が多かったから始まった制度で、これもある意味で現場発と言えますね(笑)。

嫌な仕事からでも学びを見つけられる人が伸びる

嫌な仕事からでもいかに多くの学びを得られるかは、成長できるかどうかの分かれ目になるという

嫌な仕事からでもいかに多くの学びを得られるかは、成長できるかどうかの分かれ目になるという

―― 皆さん、さまざまな形で環境づくり、文化づくりに取り組んでいることが分かりました。しかし、そうやって整えられた環境をうまく使って、最終的に伸びるエンジニア、伸びないエンジニアを分けるのは何でしょうか。

和田 先ほどの話ともつながりますが、なりたいことの像が明確な人だと思います。エンジニアとしてだけでなく、極端な話、将来こういう暮らしをしていたい、といったことでもいいんです。

その上で、なりたい像に向かって今、何をするかを意識的に選択できていることが大事です。未来の自分は今の延長上にあります。なりたい像と今やっていることがリンクしていないと、ただやらされているだけの仕事になってしまいますから。

大西 成長できるのは、自分の強みをちゃんと認識できる人、そして変化できる人ではないでしょうか。

例えば、マネジャーになれと言われるとすぐに拒否反応を示す人がいます。自分もそう思っていた1人ですが、結果的にはマネジャーになった後の変化を面白がれたし、意外に“地続き”だった気がします。

エンジニアが開発フローを考えることの延長で、チームのコミュニケーションがうまくいくための仕組みづくりをするとか、そういったことの積み重ねがマネジメントそのものになっていきました。

「マネジャー」という言葉の響きにただ拒否反応する人よりは、エンジニアであることの強みを活かしたマネジメントを考えられる人の方が、成長できるのではないでしょうか。

舘野 お2人がおっしゃっているように、いろいろな角度からキャリアを築く道はあると思います。ですが、私がここで強調したいのは、すごい人に共通しているのは、とにかくがむしゃらに仕事に取り組んできたということです。

特にスキルのない若いうちは、持っているのは時間だけです。現在いいポジションにいる人たちは、若いうちにものすごい時間を投資して、モノづくりやサービスづくりを考えてきた人たちです。もちろん、好きだからやっているわけですが。

―― プロフェッショナルに共通すると言われる「1万時間の法則」のようなお話ですね。ただ、仕事をする上では自分の好きなことばかりができるわけではありません。そういった自分でコントロールできないこととは、どう向き合っていけばいいのでしょう?

舘野 思い通りにならないこととの付き合い方には2通りあると思っています。

一つは、自分が成果を上げることで会社に認めさせることです。そうすれば自由な裁量が与えられるようになり、やりたい仕事に取り組みやすくなります。

もう一つは、あえて環境を変えることです。やりたくないことをいくら続けていても、モチベーション高く取り組むことはできません。自分の腕一本で生きていくという覚悟があるのであれば、環境を変えるというリスクを負うことで、やりたいことにコミットできる立場を掴み取ることもできるでしょう。

和田 仕事の中には確かに、やりたくなくてもやらなければならないことがたくさん含まれます。そういう場合は、やった後に自分が成長できるかどうかを考えればいいのではないでしょうか。

単純作業のアルバイトを含めても、まったく成長できない仕事なんてほとんどないと思います。嫌な仕事から、いかに学びを見つけられるかは大事なポイントです。

もちろん、それが長期にわたるとすれば、さすがに仕事を変えることも考えないといけないでしょうが。

大西 これは僕自身が経験したエピソードなのですが、部下にある日、「やりたくない仕事をやらされてモチベーションが出ない」とブログに書かれたことがあるんです(苦笑)。とはいえ、それを言わずに黙ってモチベーションを下げるよりは、書いてくれて良かったと思っています。

僕としては価値のある仕事だと思ったのですが、それが伝えられていなかったのは、マネジャーとしての僕の反省です。僕も和田さんと同じで、本当に価値のない仕事はないと思うので、そこをちゃんと共有した上でやれるかどうかではないでしょうか。

そこが気に入らなかったら言ってほしいし、それでもダメなら環境を変えるのもありでしょう。ベタではありますが、ちゃんとコミュニケーションを取ってやっていきましょう、ということですね。

――結局、一緒に働く人との関係がうまくいかないと、成長は望めないという側面もあるということですね。本日はお3方とも、貴重なお話をありがとうございました。

取材・文/鈴木陸夫(編集部) 写真/佐藤健太(編集部)