現在、ニジボックスの開発組織を束ねるのは、2016年にリクルートに入社し、開発のスペシャリスト集団を率いる古川陽介さんです。社外では『Japan Node.js Association』の代表理事や『JSConf JP』のオーガナイザーも務めており、ご存じの方も多いのではないでしょうか? 今回は、古川さんにニジボックスの開発組織についてはもちろん、ご自身のエンジニアとしての原体験、エンジニアとして成長していくために大切なこと、業界のトレンドなど、さまざまな視点でお話を伺いました。
「ものづくりで世界を変えたい」子どもの頃の志を胸に、エンジニア業界へ。
--古川さんがエンジニアを志した理由や原体験などを教えてください。
親がゲーム会社に勤めていたこともあり、子どもの頃からゲームやものづくりが大好きでした。当時読んだ、ソニーのエンジニアが携帯音楽プレーヤーを作った話が書かれた伝記にとても影響を受けましたね。それは一人のエンジニアが、周りの人に迷惑をかけずに音楽を聴きながら作業をしたいと思って、自作したものが開発の起点になったというストーリーでした。身の回りをちょっと豊かにしたいという思いから作ったものが商品になって、今ではどこでも手軽に音楽を聴ける時代にまでなっている。これこそまさに、ものづくりによるイノベーションですよね。その伝記を読んですごくワクワクしたことを今でもよく覚えていて、エンジニアになりたいと思った最初のきっかけだったように思います。ものづくりで世界に革命を起こすような仕事をしたい、子どもながらにそう思ったんですよね。
--その後、IT業界へ進もうと考えられたのは、なぜですか?
進路を決める段階で、数学が得意だったので理系に進み、大学は情報系の学科へ進学しました。当時、『AIBO』や『ASIMO』がはやっていた時代で、ロボット開発にすごくワクワクしたんですよね。
ただ、研究室を選ぶ段階で、ロボットよりも検索エンジンを作る方が面白そうだなと思うようになり、多くの研究室が基礎研究やプログラミングの言語寄りの話をしている中で、より応用的な研究をしている研究室に入り、検索エンジンばかりをやっていました。その辺りから、卒業後はソフトウェアエンジニアになろうと思うようになりました。
--卒業後は、バックエンドエンジニアとしてキャリアをスタートされたそうですね。その後の道のりと、フロントエンドエンジニアへ転身することになった経緯を教えてください。
卒業後は、複合機メーカーである富士ゼロックス(現:富士フイルムホールディングス)に就職し、文書管理システムの開発担当のバックエンドエンジニアとして、主にパフォーマンスをチューニングする業務を行っていました。パフォーマンスが改善するとお客さんから直接喜びの声をいただけるので、当時はとてもやりがいを感じていたんです。
そんなある日、僕の部署とは関係のないフロントエンド側で、システムがGoogle Chromeに対応したんですね。すると目に見えて速度が速くなって、お客さんも「すごく速くなったね、ありがとう」とこれまでにないくらいに喜んでくれたんです。その出来事がきっかけで、バックエンド側だけやっていてもインパクトは出なくて、フロントエンドとバックエンド、トータルに見て高速化していかないと本当の意味でパフォーマンスを上げることはできないのかもしれないと思うようになったんです。その頃からフロントエンドエンジニアへ転身することを決意し、勉強をし始めました。
エンジニアとして成長するために必要なことは、習慣づけ、継続して実践すること。
--フロントエンドエンジニアへ転身されてからニジボックスの開発室室長となるまでの経緯を教えてください。
富士ゼロックスに3、4年ほど在籍した後に、当時急成長中のゲーム会社だったDeNAから声をかけていただき、転職しました。元々ゲーム好きだったこともあり、面白そうだなと思ったんです。実際に入社してみると、本当に刺激的な会社ですごく楽しかったですね。優秀なエンジニアがたくさんいていろんなことを吸収できたし、Webアプリケーションを0から開発して運用するには、どこまで考慮する必要があるのかを改めて考えさせられる、とても貴重な経験になりました。その後、さらなるキャリアアップを目指してリクルートに入社し、ニジボックスのデベロップメント室の室長を兼任するようになって今に至ります。
--エンジニアとして、これまで大切にしてきたことやモットーを教えてください。
何より大切だなと感じているのは、継続して何かをすること、習慣化することですね。僕の場合、以前から「週に1回は技術ブログを書く」や、「3ヶ月に1回は登壇する」とか、「年に1回はアプリケーションを作る」など定期的に学ぶサイクルを作っておいて、それを継続していくということをやっていました。ブログを書いたり、登壇したり、アウトプットし続けるためには、おのずとインプットが必要になるんです。
何よりメンバーの成長を見ることがうれしい。
--古川さんの現在の担当業務について教えてください。
リクルートとニジボックスを兼務する形でともに開発組織の推進を行っています。リクルートではグループ全体の開発専門家集団の育成、ニジボックスでは、リクルートで培ったスキルや経験を生かし、運用開発を行う組織をマネジメントする立場にいます。
ニジボックスでは、開発組織を高度な技術が使えるエンジニア集団としてリクルートグループ内での価値発揮をするため採用と育成の両面で注力しています。
採用フローの中では応募者の方お一人お一人に対して、技術の習得状況や興味のある分野などについて幅広く伺っています。そして、入社後のスキルアップ面では、技術トレンドが目まぐるしく変化する中、現在主軸となっているReactやTypeScript、Next.jsなど、こうしていけば確実に身に付くという学習システムはない状況でもあります。そこで、自分たちでそのための研修メニューなどを作り、自分たちで学ぶことができる環境を整えていく、ということに注力しています。また、最近はニジボックスの開発メンバーも90名近くになっているので、個別に直接話す機会は少ないですが、定期的によもやまを設定したり、オフラインのキックオフイベントなどで話をしたりするようにしています。
--日々の業務の中でうれしさや喜びを感じる瞬間は、どんな時ですか?
マネージャーとしては、採用時から見てきたメンバーが成長した姿を見れたり、彼らが褒められたりするとやっぱりうれしいです。例えば最近でいうと、リクルートの学習支援アプリの開発を行っているメンバーがいるんですが、その部署ではNext.js、GraphQLなどかなり高い技術を使って開発を行っていて、最初はリクルートのメンバーとタッグを組んでやっていたんです。でも、今はリクルートのメンバーからサポートを受けることなくニジボックスのメンバー主導で開発を進められていて、その成長スピードには僕も驚かされますね。
また、ほとんどのメンバーがリクルートの案件を担当しているので、リクルート社内でその案件の担当者に偶然会うことがよくあって、「〇〇さん、頑張っていますよ」と言われると自分のことのようにうれしいです。特に技術面で褒められたり、「また〇〇さんにお願いしたい」と直接指名を受けたりすると、育ててきた立場としてはよりうれしくなります。
理想とする「学習する組織」まであと一歩のところまで来ている、ニジボックス。
--古川さんが考える、理想の開発組織について教えてください。
私が目指す理想の組織は、「学習する組織」です。元々ピーター・M・センゲの著した『学習する組織‐システム思考で未来を創造する』という本があるんですが、この「学習する組織」では「自分を律することができるか?」や「アウトプットを率先してやっているか?」といったことが求められます。私は現在、Node.jsの日本ユーザーグループコミュニティーの代表を務めているのですが、そこでは全員が自発的に学びながら知見を共有し合い、お互いを高めていくことが日常的なんです。私自身も、そのようなプログラミングコミュニティーの中で育ってきた人間なので、現在の組織でも積極的に取り入れられたら良いなと思っています。
既にニジボックスの開発組織は理想に近い状態に達していると思いますが、どうしてもメンバーの中には人前に出て発表をするのが苦手なメンバーもいます。そういうメンバーにも、最初は誰かの発表のサポートをして慣れていくなど、少しずつアウトプットする機会を増やしてもらいながら、みんなで成長していけたらと思っています。
--ニジボックスの開発組織の特長や魅力に感じているところを教えてください。
メンバーは20代後半から30代前半が中心で、「これからフロントエンドエンジニアとして頑張っていこう!」という意気込みのメンバーも多く、チャレンジ精神旺盛なところがいいなと思っています。自ら学ぼうとする意欲がかなり高いんですよね。
例えば、Slackにメンバーが立ち上げたアウトプットチャンネルがあるんですが、その日に学んだTipsみたいなものを毎日書き込んでいます。日常の中でのちょっとした気付きでもよいので、みんなで共有し合おうという趣旨なんですが、これは私が指示したわけではなくて、メンバーが自発的にチャンネルを作ったんですよ。まさに私が理想とする「学習する組織」に近づいているなと感じています。
--この先、ニジボックスの開発組織が世の中にさらなる価値を発揮していく組織になるために、どのような考えをお持ちですか?
ニジボックスの開発組織は、リクルートとタッグを組んで高度な開発を進めつつ、リクルート以外の企業の案件も積極的に受けるという2軸で推進しています。これまで、そのような2軸の案件に対応するために、エンジニアを積極的に採用してきました。これからも組織を拡大し続け、さらにエンジニアをまとめ上げていくリーダークラスの人材も増やしていきたいと考えています。そうすることで組織力が強化され、よりチャレンジしやすい環境になっていくのではないかと考えています。
求めるのは、基礎を抑えつつ、貪欲な向上心があるフロントエンドエンジニア。
--フロントエンド業界のトレンドや、現在注目している技術について教えてください。
フロントエンド業界は元々、作り方が定まっていなくて、新しい作り方が出てきてはまた廃れて、ということを1年くらいのスパンで繰り返してきました。しかし、最近はその状態が若干安定してきて、これはReact、これはNext.js、というようにトレンドの方向性が定まってきた感があります。
さらに技術者としてその先を見てみると、最近ではエッジやCDN(Contents Delivery Network)と呼ばれている、世界中に無数に配置されたキャシュサーバーのネットワークを利用してコンテンツの配信効率を向上させる技術が注目されています。これを活用することでパフォーマンスが圧倒的に上がるんです。技術者として、その辺りをもっと突き詰めていきたいなと考えているところです。
--そのようなフロントエンド業界において、ニジボックスはどんな立ち位置を目指していくのでしょうか?
現在、ニジボックスは「本質をつかむ創造を 期待を超える共創を」というビジョンを掲げており、クライアントがサービスの成長を考えた時の1番の相談先としてニジボックスを思い浮かべてくださる。企業としてそのようになることを目指しています。
そして、この将来像はリクルートグループ内では既に浸透していると思っています。例えば、ReactやNext.jsで作らなければいけないものがあると「これはニジボックスに頼もう」「モダンな開発なら、ニジボックスだよね」という会話が自然とされていることがよくあります。
そのようなプレゼンスをもっと拡大していき、世の中のさまざまな企業から頼っていただけるような開発組織になっていきたいです。ですから、これからニジボックスの開発組織のメンバーになる方にも自分自身を磨いていただきながら、一緒に目標を達成していきたいですね。
--今後、どんな方と一緒に働きたいですか?
ここまでNext.jsやReactの話をしてきましたが、そのような技術に明るいことは一つの武器だと思います。ただ、フロントエンドエンジニアとして成長していくためには、基礎的な知識や技術も持っていてほしいです。HTML、CSS、JavaScript、あとはHTTPなどでネットワークの通信の仕組みがどうなっているのかといった基本的なところを抑えつつ、コードを書く時にどうやったらうまく書けるのかを自分でPDCAを回しながらトライアルできる人はどんどん伸びていきます。ニジボックスにも基礎的な知識や技術を持ちつつ、貪欲にスキルアップしようとする、そういう方が参加してくださるとうれしいですね。
--最後に、記事を読んでくださった方へメッセージをお願いします。
面接では私も参加し、実際にお話を伺いながら、エンジニアの方は特にHTMLやCSSなど基本的な技術の習得度は確認させていただいていますが、「技術力に自信がない」という方もいらっしゃるかもしれません。そういう方は、一度何かアプリケーションを作ってみてください。そうすれば大体基本的なことは習得できると思います。
とはいえ、もっと手前の段階にいる方でも構いません。「これからフロントエンドエンジニアとして、やっていくんだ!」という意気込みがある方はぜひ、気軽に応募してみてください。私たちの組織では、技術がある方はもちろん歓迎していますが、それだけでなく、協調性を持って仲間と一緒に成長していくことができる方が来てくれるとうれしいなと思っています。ニジボックスに入社して、一緒に世の中にインパクトを与えられるエンジニアを目指しましょう。