Eyes, JAPAN
特別対談企画第一弾!竹迫良範さんに聞いた 『組織づくりとエンジニアのキャリア』
Masato Kaneko
2019 年 1 月 28 日から 2 月 3 日までの 7 日間、福島県の磐梯町にて、一般社団法人 Living Anywhere 主催のもと、「Living Anywhere Week in 会津磐梯 Vol.2 冬の磐梯山編」が開催されました。
Living Anywhere プロジェクトとは、次のようなマニフェストを掲げているプロジェクトです。(以下、公式 Facebook ページより引用)
「好きな場所で働き、暮らす事ができるのではないか?」
「Living Anywhere」は「定住」の暮らし方のアタリマエを解放し、
「自分らしくを、もっと自由に」な暮らしの実現を目指す、
DIO(Do It Ourself=みんなで作ろう)プロジェクトです。
LA week (Living Anywhere は LA と略されます) では、地域や業種を問わず、多種多様な方々が集まり、開催期間中にはユニークな企画が行われます。その中の LA workshop 「LA で働き方はどう変わる?」という座談会企画のゲストとして、株式会社リクルートテクノロジーズ 執行役員の竹迫良範さんをお招きしました。
竹迫さんは、日本最大の情報セキュリティコンテストイベントである「SECCON」の初代実行委員長として、プロジェクトの立ち上げに携わられていたほか、次のように非常に多くの場所で活躍されており、日本の情報セキュリティ業界を牽引されている方のひとりです。
- 株式会社リクルートテクノロジーズ 執行役員
- 日本ネットワークセキュリティ協会 SECCON 初代実行委員長
- 株式会社メルカリ 技術顧問
- 国立高等専門学校機構 高知工業高等専門学校 客員教授
- 国立大学法人大阪大学 大学院情報科学研究科 招聘教員
- IPA産業サイバーセキュリティセンター 非常勤嘱託
- NICTナショナルサイバートレーニングセンター 協力研究員
- IPA未踏IT人材発掘・育成事業プロジェクトマネージャー
様々な立場として活躍されている竹迫さんに、『組織づくりとエンジニアのキャリア』という広いテーマで、エンジニアの活躍や挑戦、自己成長や学びについて、また役員という観点での組織づくりの考え方、エンジニアの評価方法や採用など、竹迫さん自身の経験に基づいた貴重なお話を伺うことができましたので、それらを対談形式で記事にまとめました。
セキュリティ業界での活躍のきっかけ
金子「竹迫さんと私たちは、セキュリティ業界でのご活躍がきっかけとなり、知り合うことが出来ました。竹迫さんがセキュリティ業界に進出したきっかけを最初にお聞きしても良いでしょうか?」
竹迫さん「実は自分で積極的に選んでセキュリティ業界に進んだ訳ではないんですよ。『Namazu』という、オープンソースの日本語全文検索システムの開発をしていた頃、ある日突然、高木浩光先生、はせがわようすけさんからクロスサイトスクリプティング (XSS) の脆弱性があります、との連絡を受けたんです。そこで、開発者としてセキュリティはちゃんとやらないといけないということ、世の中には、悪意を持ったハッカーではなくて、脆弱性を指摘してくれるような善意を持ったハッカーもいて、そういった方達がものづくりには重要なんじゃないかということに気がつきました。そして、その体験談を地元広島の「セキュリティもみじ」という勉強会で講演したところ、セキュリティ・キャンプ事業に携わっていた園田道夫先生と知り合い、声をかけられたのがきっかけで、セキュリティ業界に進むことになったんです。」
金子「竹迫さんと言えば、『SECCON 実行委員長』というイメージが強いのですが、SECCON を始めたきっかけは何ですか?」
竹迫さん「SECCON のスタートは 2012 年ですが、2011 年に韓国を訪れた際、POC (Power of Community) というセキュリティカンファレンスに参加し、カンファレンスの隣に CTF コーナーがあって、自由に参加できるようになっていたことを参考に、日本でも CTF ができないか、とぼんやり考えていたんです。そうしたところに、日本で CTF の大会を開催したいから手伝って欲しい、と園田先生からお声がけいただいたのがきっかけです。園田先生に発掘された、とも言えますね。」
金子「竹迫さんのセキュリティ業界での活躍は、園田先生のお力が大きかったんですね。」
尖った人材が活躍できる組織づくりの秘訣とは
金子「現在は組織づくりのお仕事をされていますが、そちらのきっかけも教えてください。」
竹迫さん「2006 年からセキュリティ・キャンプ講師として、尖った人材に最先端のプログラミングやハッキングのスキルを教えてきたのですが、優秀な人材が出てきても、日本の大企業をすぐに辞めてしまうことに対して、問題意識を持っていました。また、なぜ日本の会社は尖った人材をうまくマネージメントできないのか、と疑問に思っていたんです。そこで、実際に中に入って見てみようと、2015 年に転職を決意し、エンジニアの組織づくりに携わるようになりました。当初は 25 人くらいのエンジニアチームで、数年で 2 倍、3 倍と人が増えていったので、エンジニアのグループをまとめることのできる、エンジニアのマネージャー的な人を 10 人くらい登用しました。そこで、どのようにマネジメントしたら良いかを議論しながら作っていきました。」
金子「竹迫さんが今のお仕事をされるようになったのは、社会に対する問題意識からだったんですね。転職後はどのようにしてその課題解決に取り組んできたんですか?」
竹迫さん「エンジニアチームを強化していきたいという会社の意向があり、裁量をもたせてくれたことが大きかったですね。権限委譲されたので、思い切ったことが色々できました。将来困るであろう人、今困っている人を利他的になんとかしなければいけないとの思いがありました。その中で、組織の制度を変えていったり、エンジニアが成長を実感できるように、 評価基準や給与制度、人事制度など、根本的な見直しを図りました。」
金子「課題を解決するには、組織の根本的な部分から変えていく必要があったんですね。」
効果的なエンジニアの評価方法
金子「エンジニアの評価の仕方について、竹迫さんのご意見や取り組みを詳しくお聞きしても良いでしょうか?」
竹迫さん「エンジニアを一つの軸で評価してはいけないと思っています。ロールプレイングゲームのキャラクターにあるような個性や役割のように、エンジニア個人個人にも個性や得意技があるので、その人の持っているパラメータを色々な軸で可視化して評価することが大事だと思います。得意分野、尖っている部分を活かせる分野で活躍してもらったり、逆に成長を期待して未経験の技術分野を扱うようなプロジェクトに割り当てることで、知識や経験の幅や視野を広げてもらったり。
そのために、会社の中では上司とエンジニアで「will」「can」「must」という三つの要素を軸に会話するようにしています。
will = なりたいこと、やりたいこと
can = 今できること
must = やりたいことに近づくためにしなければならないこと
こういうつながりのコミュニケーションをすることが大事だと思っていて、定期的にエンジニアと面談をする機会を設けています。プロジェクトを終わらせるためには、ちょっと我慢してでもやって欲しいこともあったりしますが、その節目ではきちんと成果を評価してあげて、ボーナスの支給や昇給、表彰のインセンティブなどで本人に還元してあげるように意識しています。」
チームの中でエンジニアが成長する機会を作る
金子「苦手だったり、未経験の技術分野に挑戦してもらうことも大事ではあるものの、重要な仕事ではリスクを伴う側面もあると思います。そういった中で成長の機会を作るには、どのような工夫をされていますか?」
竹迫さん「そのようなリスクは、チームのアサインで担保するのが大事だと思いますね。ダメかもしれないところで、最後にカバーできる人がいるかどうかを考慮してメンバーをアサインするようにしています。ただ、そういったカバーできる人に対する負荷も掛かってくるので、給与や休暇なども含めて検討する必要があると思っています。あとは、マネージャーだけに負荷がかかるとそれも大変なので、成長を期待する人にはメンターをつけることで対処することもあります。メンターとの距離感も大事なポイントです。」
チーム開発における新技術の上手な取り入れ方
金子「新技術とその利点を知る機会があり、プロジェクトでも活かしてみたい、という思いを抱くエンジニアは少なからずいるんじゃないかと思いますが、超えなければいけないハードルもあると思います。竹迫さんはどのようにしてプロジェクトに新技術を取り入れているんでしょうか?」
竹迫さん「私はプロジェクトを成功させるために必要なエンジニアのパターンを分けることで対応しています。元アプレッソCTOの小野和俊さんが提唱されている『エンジニアの風林火山』がその一つのパターンで、それぞれの役割は次のような感じです。
火のエンジニア=最新技術を使って燃えるプロダクトを作る。(失敗すると炎上するリスクがある)
山のエンジニア=品質重視。手堅い仕事をする。
林のエンジニア=運用した時に、安定したトラブルシューティングを行う。
風のエンジニア=それを実現するためのアーキテクチャや設計を行う。
この 4 種類の成分がバランスよく組み合わさらないと、ひずみができてしまうんです。
IT ソフトウェアの開発は、身近な例として、映画製作のマネジメントも参考になるかもしれません。少ない予算の中で、納期が決まっていて、専門職として色々な人が集まっている中、監督やプロデューサーがいて、さあ作るぞ!という感じは、ソフトウェアの開発事情と非常に似ていますよね。そして大事なのは、プロジェクトが終了した節目には、みんなでお祝いをしたり、実際に世の中に出て使われているのを実感することです。これは自分が作ったんだと誇れるものを作ることも大切です。内密にしておかないといけないようなプロジェクトでは、イースターエッグを作りこんでおくことも。ただ、イースターエッグにバグがあって、そのせいでソフトウェアが正常に動かない、ということのないように(笑)」
金子「ちなみに、プロジェクトで利用する技術はどのような基準で選定されていますか?」
竹迫さん「技術の選定は、採用も含めて考えています。永続的に保守や運用をしていくようなものの場合は、それができる人を継続的に採用し続けなければいけないので、経営判断が必要になってきます。使える人が少ないような言語や技術の場合でも、高速で品質の高いものを作ることができて、コストがかかっても運用・保守ができるのであれば採用しても良いと思います。プロトタイプのような、永続的な保守や運用の必要のないものに関しては、新しい技術をお試しで取り入れてみても良いでしょう。そのためには、プロトタイプ制作や、いわゆるハッカソンのような、新しいものを作るチャレンジの場を整えることが会社には求められます。そこではリスクを伴うことなく技術的な挑戦ができる土壌と企業文化が大切になってきます。」
エンジニア採用において組織が目指すべきところは
金子「エンジニアの効果的な採用方法について、竹迫さんの考えを聞かせていただけますか?」
竹迫さん「エンジニアは、給料が高ければみんな来てくれるかというと、そういうわけではないですよね。給料のほかに、エンジニアが働きたいと思うものは何かをしっかりと言語化する作業が大事だと思います。例えばその中では、リモートワークだったり、働きやすい職場だったり、技術的な裁量を持って働けたりなどが挙げられます。エンジニアは、自分が得意なところで価値が発揮できて初めてパフォーマンスが出せるので、それができる環境かどうか。あとは、新しいことを仕事で学ぶことができる環境かどうか。それらも大事な観点になってくるでしょう。」
金子「自分の得意分野を活かせなかったり、勝手に決められていることが多いと働きにくいのはたしかですね。エンジニアにも選択の余地を持たせることが大事ということでしょうか?」
竹迫さん「そうですね。エンジニアに対して「こうしなさい」という指示を全て出してしまうことは、「プログラミング」でなく「コーディング」になってしまう。それだと、キーボードをただタイプするだけの人、すなわち「コーダー」と化してしまいます。そうではなくて、エンジニア自身の裁量を持ってプログラムを作ることのできるような環境づくりが大切です。ただその場合は、きちんと自分で考えられる人を採用しないといけない点には注意が必要です。」
エンジニア自身の成長や学びにおいて大事なこと
金子「エンジニアは、自分の得意分野を持っていることが多いと思いますが、成長するためには、その得意な部分を突き詰めて磨いていくべきか、広く色々なことに手を伸ばして吸収していくべきか、学びの方向性を定める判断はなかなか難しいと思います。竹迫さんは、その辺りに関してはどのようなお考えをお持ちですか?」
竹迫さん「本当に大切なのは、自ら学ぶ姿勢を持っているかどうかと、学び方を知っているかどうかだと思います。人を採用する場合には、ひとつのことしか得意でない人でも、その人の知識や技術は授業で習ったことの延長で身についたものなのか、自分で学んで獲得してきたものなのかの違いを見極める必要があります。自ら勉強してきた人は学び方を知っているので、新しいことでも自ら学んで身に付けることができるかもしれませんが、そうでない人はどうでしょうか。指示されたことは出来るかもしれませんが、それ以外のことには時間がかかったり、やり遂げるのが難しいかもしれません。あとは、博士課程 (PhD) に関して言えば、世界で初めての新規性のある論文を出すために、過去の先人の積み重ねをキャッチアップした上で、さらに自分の新しい切り口で考えることが求められます。そういった実績を持つ人は、別の新しいことでも同じような成果を上げることが出来るかもしれません。さらに言うと、異なる分野で成果を出しているような人は、再現性が高いといえます。たったひとつのことを突き詰めてきたような人は、ポテンシャルをきちんと見極めないといけないでしょう。」
金子「なるほど。今度は竹迫さん自身のことをお聞きしたいのですが、学習する際に心がけていることなどはありますか?」
竹迫さん「私は、きちんと原点だったり、古典にあたることを心がけています。インターネット上には「こう使えば良いよ」というようなハウツー記事が多く出回っていますが、きちんと原点にあたって、「なぜそうなっているのか」「なぜそれが可能なのか」という「なぜ」の部分を裏付ける根拠まで知っておくことです。」
金子「言うなれば『歴史に学ぶ』というニュアンスに近いですね。」
竹迫さん「そうですね。考古学的なスキルも必要になるかもしれません。考古学的思考を身につけるには『MASTERキートン』という漫画がおすすめですので、是非読んでみてください。」
金子「竹迫さんは持てる知識の幅がとても広いですが、日頃から何か心がけているんですか?」
竹迫さん「日頃から IT 分野だけでなく幅広く色々なものを調べています。特に社会問題には敏感です。高校生の頃、原子力発電所の仕組みとエコシステムについて理科の宿題でやったことがきっかけで、社会の仕組みを変えるためにはどうしたら良いかを考えるようにもなりました。エンジニアとして大事なのは、技術の変化がとても早いので、常に学び続ける姿勢を持つことだと思っています。」
さいごに
役員でありながら、エンジニアの経歴を併せ持つ竹迫さんならではの視点でのお話はいかがでしたでしょうか?
私自身を含むエンジニアの方々や、エンジニアを抱えるマネージャーや経営者の方々にも、非常に多くの気づきを与えてくれたのではないでしょうか。
皆さんの組織で抱える課題に対する解決策のヒントが見つかれば幸いです。
竹迫さん、とても参考になる貴重なお話をありがとうございました!