※本記事は2020年11月に取材・制作されました
日々、技術トレンドがめまぐるしく移り変わるフロントエンドエンジニア業界。ニジボックスには、そんな業界の未来を見据え、日々技術を磨いているエンジニアたちがいます。
そこで今回は、リクルートのアプリケーションソリューショングループ(以下、ASG)グループマネジャーであり、ニジボックスのマネジャーでもある古川陽介さんを囲みフロントエンドエンジニアとしての在り方や今後を語る座談会を行いました。
古川さんは、Japan Node.js Association代表理事を務め、JSConf.JP (日本最大級の JavaScript カンファレンス)なども行っていることでも有名なので、ご存知なエンジニアの方も多いのではないでしょうか?
座談会には、同じくニジボックスのマネジャーを務めASGに兼務する、リクルートの新井智士さん、二人の指導のもとリクルートグループの開発現場に参画するニジボックスのフロントエンドエンジニア原田隼さん、入澤佑紀さんの計4名が参加。
リクルートグループで働くエンジニアとして、理想の開発環境や技術力向上を目指し、どのようなアプローチをとっているのか。また、フロントエンドエンジニアリングの今後について、組織を率いる立場のマネジャーと日々現場で研鑽を重ねるメンバーの二つの視点から熱い議論を交わしました。
プロフェッショナルのフロントエンドエンジニアとして世の中への価値提供を目指す方、リーダーとして若手の育成を行っている方、そんな業界の未来を背負う方たちに刺激となる記事になっていると思います。
FE業界のトレンドは日々変わる。その中で、リクルートやニジボックスが開発現場で行ってきたこと
古川陽介さん(以下、敬称略)「フロントエンド領域は技術的なトレンドの移り変わりが早くて、5年、10年前と比べると全然違うと思います。5年前はReactや、Redux中心でしたが、最近ではRedux使わなくてもいいよね…、とも言われています。
そんな、ひっきりなしに学んでいかないといけない状況の中で、理想のエンジニア像としてどのようなビジョンを掲げ、目指して行けば良いのか、現場ではどのようなアプローチで技術のアップデートをして行くべきなのか、その辺の話をしたいと思っています。
最初に、僕がリクルートグループ内でASGを立ち上げた経緯を話しますね。
遡って話をすると、フロントエンドエンジニアという職域が一般化しはじめたのは、2015年くらいからだったと思います。それまではコーダーとかマークアッパーと呼ばれ、エンジニアとは異なる扱いでしたね。僕が入社した2016年当初も、リクルートグループにはまだフロントエンドエンジニアのチームというものはありませんでした。ですので当時は、僕自身もシニアソフトウェアエンジニアとしてライブラリーやアプリケーションを作っていました。
そんな時に一緒に仕事をしていた人が辞める話になり、人がいなくなって困る、と上司に相談したら『どうせなら、古川さんがフロントエンドエンジニアのチームを作ったら?』と言われまして… (笑)
それが、ASGを立ち上げるきっかけです。
その後、ASGが社内で認知されるようになって、『ASGに依頼すればSPA(シングルページアプリケーション)とか、リッチなフロントエンドを作ることができるらしいぞ!』という話が広まっていき、結果として、その後リクルートグループのフロントエンド領域を革新していくことができた経緯があります。
ただ、そこで一点新たな課題も浮かび上がりました。
ASGはリッチなフロントエンドを作ることができても、作った後に運用をしてくれる人がいないということです。今後のことを考えると、開発面の充実だけでは不十分で、運用やエンハンスなど、作った後にそれを使いこなせる体制も必要だったんですね。
そんな時に出会ったのが、同じリクルートグループのニジボックスでした。
ニジボックスのフロントエンドエンジニアたちと一緒に運用や、エンハンスを実施できるようになったことが、リクルートグループにとって、大きかったんじゃないかなと思っています。
そうしてニジボックスのメンバーとリクルートグループの各拠点で開発や運用をしながら、ASGのノウハウを伝えてきたのがこの1年です。
現在は僕の目が届かない拠点にもニジボックスのメンバーがジョインし活躍しています。我々が関与することで、今後も各社のサービスが更にスケールしていってくれると嬉しいですね。
新井さんも私もASGには今も兼務しています。新井さんは今期からニジボックスのマネジャーも担当し、今は住まいカンパニーが主務になったんですよね? これまでいろいろな現場を見て来られたと思いますが、状況としてはどうですか?」
新井智士さん(以下、敬称略)「ASGではReactとかを使っていますが、現場によってはそういったモダンな技術を使わないところも多いですね。今関わっているサービスはとにかく大規模で、歴史のあるサイトです。いわゆるレガシーと言われるような部分も少しはありますが、一方で支えている価値はとても大きいです。そんな状況の中で、フロントエンドエンジニアとしてできることをして、サイトを支える仕組みに取り組んでいるという感じですね。
やっていて思うのは、Reactとかを使って開発をするのは楽しいし、それはそれで価値がある。でも、それ以外にも取り組める部分はあるし、限られた範囲から業務の幅を広げていく。他のメンバーにもそこに対する価値とか、面白さを知ってもらえたらなと考えています」
リクルートの大規模案件にフロントエンドエンジニアとして携わるということ
古川「ここからは、リクルートグループの開発現場でのリアルについて聞いてみたいと思います。新井さんと一緒に大規模サービスに関わっている原田さんは、8人のメンバーを率いるリーダーもやっているわけですが、そんな状況に飛び込んでみてどうですか?」
原田隼さん(以下、敬称略)「新井さんがおっしゃったように、僕たちが関わっているサイトは、本当に巨大です。関係者が多く、エンハンスの規模に関わらず、認識合わせや承認など、煩雑なフローを経る必要があります。しかし、いろいろなハードルや課題のある中でベストな方法は何だろうと探りながら改善してゆく。当然難易度は上がりますが、個人的にはこれこそ面白いなと、大規模サービスに関わる醍醐味も感じています」
古川「確かに、原田さんが関わっているサイトはリクルートグループの中でもかなり大規模なサイトだし、ステークホルダーも多いから、開発を進めていくスピードに違和感を覚えることもあるかもしれないですね。その反面、規模が大きいからこその世の中へのインパクトの大きさは実感されたんじゃないですか? 例えば、自分のやった施策でユーザーから大きい反応があったり…」
原田「まだ、「行った施策に対して、直接的に効果が実感できた」というようなところまではいっていないですが、社内で共有される定量レポートなどで「100%から150%へ」と言った数値を目にすると、「おお、そうか」と少しずつ手応えを感じ始めている状況です。
ただ、規模の大きいサービス開発の中で、まさに日々変革が起こっている状況に関われていること。これはなかなか経験できないことなので、エンジニアとしても貴重な体験をしているなと感じています」
古川「原田さんはメンバーの育成も行っているわけだけど、そういったメンバーが同じ現場の中に複数いるとベストですよね。メンバーの誰かが抜けなくてはならない状況になったとしても、開発が止まらないように。原田さんや入澤さんは、今後そういうリーダー人材を育てていく立場になってゆくと思います。入澤さんはニジボックスからASGにアサインされて、大規模サービスの開発に関わっているわけだけど、入った当初はどう感じました?」
入澤佑紀さん(以下、敬称略)「ASGに入った当初は、場違いなところに来てしまったな… というか、自分の価値を見失ったというか…(笑)周りにはエンジニア界のアイドルみたいな人たちがいっぱいいて、そんな人たちがいる環境で、自信をなくしてしまって… 自分は今まで一体何をしてきたんだろうと」
古川「入澤さんは、その状況をどう克服しましたか?」
入澤「完璧に克服できました!とはまだ言えないですけど、とにかくたくさん勉強して、ひたすらコードを書いていました。現場で理解不足を感じることがあれば家に持ち帰って勉強して、の繰り返しでしたね」
古川「たしかに、これをやれば技術力が飛躍的にアップする、というような近道はないと思います。本当に日々の積み重ねですよね。ああでもない、こうでもないと、とにかくやっていく気概みたいなものも必要になってくるのかもしれませんね。すでに気づかれていると思いますが、続ける中で、結果的に確実に自分の血肉になっていると思います。
この座談会レポートの読者の皆さんにも参考になると思うので、具体的に実践したことを教えてもらえますか?」
入澤「日々の業務って、「慣れ」でできる部分って多いと思うんです。
プログラムの詳細を理解していなくても、仕事で必要な部分だけ分かっていれば業務は回るし、なんとかなっているように見える。ASGに入った当初はそんな状態で仕事をしていて、それがすごく嫌だったんです。そんな時に開発チームのリーダーから「今の入澤さんならこのサイトと同じもの、作れるよ」と言われたんです。多分、そういう気持ちで頑張れっていうことだったと思うんですよね。
そのことがあってから、業務で開発しているのと同じ技術スタックのサービスを自力で作り始めました。担当業務では、サービスの基盤部分は既に先輩たちが作ったものが用意されていて、自分はそれを使うだけでしたが、そういった部分も含めて全部自分で調べながらコツコツと実装していきました。
こういう取り組みは、新機能の追加などと違い、ぱっと見で分かりやすい成果が見せられるようなものではないので、モチベーションを保つのが大変だと思うんです。
そんな状況でも私が折れなかったのは、頑張れば頑張るほど業務に還元できて、成長をリアルに実感できていたからです。行き詰まった時にも、解決の糸口となるお手本のコードに出会うことができる環境で働けていたことが大きかったと思います。
一般的には、モダンな技術のキャッチアップは大変なことなのですが、ASGには業務でそれを扱ってる人たちがいっぱいいるので、その人たちから色々吸収することができる。これこそ、リクルートグループならではの環境だと思うんですよね。
なので、こういった技術レベルの高いチームに在籍できる環境をうまく利用して、私自身もっと技術を磨いていきたいなと思っています」
ニジボックスのフロントエンドエンジニアとして、今後どうしていきたいか?そして、どうしていくべきか?
古川「今、ニジボックスのフロントエンドエンジニアたちにはリクルートの各拠点で一緒に運用をやってもらっているわけで、今後も僕の目が届かないところを任せていきたいし、リーダー人材をもっと育てたいなと思っています。
逆に、ニジボックスメンバーである原田さんや、一緒に働いている新井さんから見て、リクルートの拠点で仕事をしていく上で、こういうことをやりたいとか、期待することはありますか?」
原田「今はまだ要件に対してパフォーマンスを出すところを行なっていますが、今後はより上流から関わって、改善策や新規の機能についての提案などもしていきたいですね」
古川「フロントエンドエンジニアって、もっとざっくりとした企画の段階から相談してもらっても、そこから一緒に考えながら、開発の提案もできるはずだから、もっと業務の幅を広げて行けそうですね」
新井「僕も原田さんたちと関わっていく中で、もっと彼らの仕事の幅を広げたいなと思っていて、そこに挑戦しているところですね。今はまだ準備段階ですけど、この先もっと開発環境の改革を進めていきたいと思っています」
古川「リクルートだけの話ではなくて、世の開発現場では、まだまだフロントエンドエンジニアたちが十分に力を発揮できていない状況にあると思いますので、ぜひ推し進めたいですね」
新井「はい。UIを設計する上で、デザイナーからも「フロントエンドエンジニアの意見を聞きたい」という需要もけっこうあるんですよね。なので、そこは歩み寄れるといいなと」
フロントエンドエンジニアのキャリア。業界で走り続けるために、どうあるべきか?
古川「ここからは、フロントエンドエンジニア業界の未来について話をしていこうと思います。
技術の未来について…これはよく聞かれるんですが、なんとなく2、3年先くらいは作り方が見えているんじゃないかなと思っています。技術的にはかなりコモディティー化してきていて、やりたいことが以前よりも簡単にできるようになっている。だから僕は今後、メンバー全体の技術力の底上げに力を入れていきたいと考えています。
また今後の働き方の話では、モブプロはありだなと感じています。
今、ASGでモブプロをよくやっていて、知識にグラデーションがあるメンバーがいる中でやると、知見がその場で共有されてスキルの底上げにも繋がるので、チームを育てていく方法としてもかなり効果的なんですよね。これはもっといろいろな現場で活用した方がいいなと」
新井「今、自分の部署でも実際の開発をモブプロでやっています。レビュー工数の削減にもなりますし、ここ1年くらいはかなり取り入れていますね」
古川「それはいいですね。これって、コロナウイルスが流行り始めてリモートワークが広がったこともあるからだとも思うんです。会議室をとれない、というような物理的な制限がなくなって、時間的な制限さえクリアできればモブプロがしやすくなりました。これからも、ぜひあらゆる場面で取り入れて欲しいですね。
最後に、フロントエンドエンジニアとして今後どうあるべきか?どうしていくべきか?というところを話していこうと思います。
キャリアパターンとしては大きく分けて、二つあると思います。
一つは、要件定義とか、実際にコードを書いて作るというよりも、もう少し上流へ向かうパターン。
もう一つは、フロントエンドエンジニアとしての専門性をより高め、その人にしかできないことをしていくパターン。
自分はどういう道に進んでいくのかを決めて、自分の強みを計画的に作っていくことが大切になってくるんじゃないかなと思います」
新井「モブプロの話が出ましたけど、フロントエンドエンジニアは実際に動くものを作ることができるのが強みの一つだと考えています。単にタスクを振り分けられてコードを書くだけではなくて、何を、なぜ作るのか? という、企画の上流から入る時に、「こんな機能はどうでしょう? 触ってみてください」と見せられるのは僕たちフロントエンドエンジニアならではですよね。
入澤さん、原田さんは今後のフロントエンドエンジニアはどうあるべきだと考えていますか?」
入澤「最近の若い世代って、技術力も人間力もすごく高い人がゴロゴロしているじゃないですか。そういう人たちがいる中では、実務経験の長さだけを武器にしてるようじゃ駄目だろうなと。歳を取れば取るほど、技術的なトレンドを吸収するのに苦労するようになるだろうから。
自身をアップデートし続けながらも、若手に「これ知らないから教えて!」と素直に聞くことができるエンジニアでありたい。そうすることが、フロントエンドエンジニアとして現役で居続けることができる方法なんじゃないかなと思いますね」
原田「僕の場合は、絶対にこれだって決めつけないことが大事かなと思います。もちろん、エンジニアとしての信念とか思いはあるんですけど、こうするべきだという固定観念に囚われないようにしたい。その都度、今自分が置かれている状況で自分の強みを生かして何ができるのかを考えていきたいなと思います」
古川「今、入澤さんから若手の話が出たけど、この前参加したISUCONの話をしますね。
ISUCONって“いい感じにスピードアップコンテスト”の略でパフォーマンス改善系のコンテストなんですが、これは一般的にはチームで参加するものという認識でした。
ところが、優勝したのは一人で参加した若い学生さんだったんですよね。
その時、こうやって世代交代ってしていくんだなと、非常に感慨深く思いました。
それまでは、パフォーマンス改善と言えば3人はいないと無理だと思っていたんですが、その学生さんは日頃からパフォーマンス改善の施策を考えるのが好きで、とにかくコツコツ日頃から施策を貯めていて、それを本番で一気に実装する、というやり方だったんです。こういう日頃の積み重ねをきちんとやっている人が若手に増えているんですよね。
僕もまだまだ現役のつもりだし、生涯現役でやっていきたいから、そういった若手に刺激を受けて、技術を磨き続けたいなと強く思いましたね。
多分、「自分は経験豊富だから」と自身の価値観を変えずにふんぞり返って居座っていたらそのまま老害になってしまうので、若手からどんどん学びたいなと思ってます」
技術的なトレンドが日々移り変わり、優秀な若手が出てくるフロントエンドエンジニアの業界。その変化の速さを恐れるのではなく、前向きに捉える。そして、常に学ぶ気持ちを忘れずに、知識を貪欲に吸収し続けていくことが大切なのかもしれませんね。最後まで読んでくださり、ありがとうございました!
【お知らせ】12/10(木)19:00〜 NIJIBOX主催イベントをやります!
本レポートに登場した、古川陽介さんが『大規模メディアにおけるWeb開発の最前線』をテーマにウェビナーを開催します!無料参加絶賛募集中です!申し込みはconnpassからどうぞ!
☆ニジボックスメンバーのQiita記事も更新中!
「Node.jsのEventEmitterの使い方」@skmmmmr