どうも、広報担当のTAKです。
MONSTER DIVEでは、2022年10月16日(日)に開催される日本最大のVue.jsカンファレンス「Vue Fes Japan Online 2022」(以下、Vue Fes)にスポンサーとして協賛します。JavaScriptコミュニティの皆さん、当日はオンラインで盛り上がりましょう!
今回、開催を記念して、実行委員からお二方をお招きして、当社取締役でありチーフエンジニアの荒木とともに、"フロントエンドエンジニアの仕事"をテーマを対談インタビューを行いました。「Vue Fes」に参加される方はもちろん、今まさにWebエンジニアとして活躍されている方、これからWeb制作業界で仕事がしたい!とお考えの方、皆さんに読んでいただければ幸いです。
MONSTER DIVEではフロントエンドエンジニアをはじめ各職種で採用強化中です!
インタビュー記事と合わせてぜひ求人ページもご覧ください。
それでは、ロングインタビュー、スタートです!
(文中敬称略)
沖 良矢
1981年、愛媛県生まれ。インタラクションデザイナー。2003年よりWeb制作に携わる。2008年にフリーランスとして独立後、2019年に合同会社世路庵(せろあん)を設立。ビジネスとクリエイティブの両立を強みとして、戦略立案、UI/UX設計、デザイン、フロントエンド開発に携わる。現場で培った知見をもとに講演、執筆、コミュニティ運営にも取り組んでいる。長岡造形大学視覚デザイン学科非常勤講師、WebクリエイティブコミュニティDIST代表、Vue.js-jpコアスタッフ。
生田 望
Vue.js-jpスタッフ。LINE株式会社所属(対談時)。
1990年神奈川県生まれ。フロントエンドエンジニア。1年間の独学を経て、2015年よりWeb制作に携わる。2018年にLINE株式会社に入社後、プライベートクラウドのダッシュボード開発や、LINE BtoBtoC関連事業およびフロントエンドエンジニアのリードを担当。主業務のかたわら、「Vue Fes Japan Online 2022」の運営、Nuxt.jsやunjs関連OSSへのコントリビューションを精力的におこなっている。
荒木 波郎
1978年、大阪府出身。大学卒業後、SEとして大手自動車メーカー本社へ配属。退職後、クリエイターに転身。映像製作会社、大手放送局、メディア企業を経て2009年、創業期の株式会社MONSTER DIVEに参加。システム/映像/Webなど主にインタラクティブコンテンツの設計、制作を手掛ける。2014年、岡山県に移住して分室を設立。現在も東京と岡山を行き来して勤務している。執行役員を経て、2017年、取締役就任。
ーーー 本日は皆さんお時間をいただき、ありがとうございます。早速ですが、まずは沖さん、「Vue Fes」がどのようなイベントか、お聞かせください。
沖 「Vue Fes Japan」というイベント自体は2018年に初めて開催した、日本で一番大きいVue.jsに関するカンファレンスです。イベントの特徴は、日本国内でVue.jsを使っている方々が集まって話をしてもらうこと、そしてVue.jsのコアチームや世界中で活躍されているコントリビューターの方々、もちろんVue.jsを作ったEvan Youにも来ていただきます。
これまで計画した回数は4回あるのですが、実際に開催できるのは2回目です。
2018年の初回は開催が出来ましたが、2019年には、準備をして「もうあとはやるだけです」というところで大型の台風に見舞われて...、キャンセルになりました。2020年も会場を予約して計画していたのですが、コロナ禍、緊急事態宣言のためキャンセルに。2021年も状況があまり変わらずキャンセルとなり、2022年、我々としては「オフラインでやろう」という話がベースとしてありましたが、さすがに開催しないのは辛いよね、ということで、満を持して今回はオンライン開催となりました。
ーーー 開催を準備されているなかで、オンラインとオフラインで準備の仕方や実行委員の業務に違いはありましたか?
沖
元々、オフライン開催を前提に考えられたカンファレンスなので、難しさや不安があったのは「オンラインでどういう体験を用意したらいいんだろう?」というところでした。
(対談収録時点では)まだ開催されていないので、結果が出るのはこれからなのですが、幸いにして今回、MONSTER DIVEさんという配信パートナーを得ることが出来ました。配信周りについてはプロにお任せ出来て安心しています。今まではスタッフのボランティアで成り立っていましたが、基盤となるネットワークのところはお願いできてよかったなと思っています。
ーーー 生田さんは今回が初めての実行委員ですか?
生田
2018年の11月にLINE株式会社に入社してから本格的にVue.jsを使い始めたので、前回の「Vue Fes」の頃はOSSとは何なのかも分かっていなかった時期です。
スタッフとして運営に携わるのも今回が初めてですが、なぜ始めたかというと、LINE在籍期間中に業務の延長線上としてOSS、Nuxt.js関連のコントリビューションをやっていました。
全然、会ったことがない世界の人たちがGitHubにissueを立てていて、自分がそれに答えたら「動くようになりました、ありがとうございます」と会話をしていて。「これだよこれ」みたいな面白さを感じてずっと続けていました。業務で使わなくなってからも、そのレポジトリにコントリビューションを続けているという折に、「Vue Fes」のスタッフ募集ツイートが出てきたので、思い切ってやってみようと思って応募した次第です。
ーーー MONSTER DIVEとしては、Vue.jsや今回の「Vue Fes」にどのように関わっていますか?
荒木
沖さんとは以前から交流があったのですが、2021年にMONSTER DIVEからVue.jsの本を出させていただいて、Vue.jsのMeetupにも出してもらったり。Vue.js自体はMONSTER DIVEでも使う事例があったので、今回、お話をいただきました。
MONSTER DIVEはWeb制作の受託案件とWebサービス開発、そしてライブ配信・映像制作を行っています。今回は自社スタジオの「MONSTER STUDIO乃木坂」を会場として利用していただいて、かつ、配信管理自体もLIVEプロダクション事業部が担当させていただき、さらにさらに自社サービスである「TweetVision」(ツイートビジョン)まで使っていただくという、本当に微力ながら、いろいろな分野でご一緒させていただいて、嬉しい限りです。
ーーー 「TweetVision」は今回どのように使われる予定ですか?
荒木
オンライン開催で3会場から配信が行われるので、各会場ごとにそれぞれ固有のハッシュタグを3つ用意します。そのハッシュタグでツイートを集めて、ニュースのテロップのように映像に表示します。イベントを盛り上げるツールのひとつとして、使っていただく形です。
エンジニアからすると「TwitterのAPIを使って出せばいいのでは」と思うかもしれませんが、このサービスを利用することで、悪質なツイートを除外したり、なるべくシンプルに、かつトランジションや表示時間が調整可能で、ツイート量に応じて「今はスピーディーに表示しよう」などと臨機応変に使うことができます。
ーーー 今回のインタビューの本題は「フロントエンドエンジニア」の領域ですが、Web制作という仕事は、デザインやマークアップ、サーバサイドと、会社によって期待される分野が複数ありますよね。またJavaScriptが活躍するシーンは、Web制作に限らずIoTやアプリ開発など様々あります。
ずばり「フロントエンドエンジニア」とは、どんな仕事ですか?
沖
めちゃくちゃ難しい質問ですね。僕のなかの定義ですけど、基本的には「ユーザーが目にして、実際に手を動かす・触る分野の最終責任を持てる人、持てる役割を担う人」だと思ってます。
当然、サーバサイドのエンジニアやデザイナーなど、いろいろな行程で関わる人はたくさんいますが、ユーザーが最終的に目にして触る画面を直接触ることが出来る、というのは、フロントエンドエンジニアだけだと思っています。そこが、やりがいがあるし、魅力に感じています。
生田
そうですね、基本的な考え方は沖さんにすごく近くて、自分の言葉で言うと「ユーザーとのインターフェースをより良くする立場」だと思っています。
そのうち特にフロントエンドエンジニアと呼ばれる人は「画面を通したインターフェースに関してオーナーシップを持って、より良い体験を提供するための技術者」だという考えを持っています。
自分の場合は「画面」という括りは特に無くて、ユーザーとの「接点」「インターフェースすべて」という考え方を持っています。
自分のプロダクトのドキュメンテーションもフロントエンドだと思っていて、もしドキュメンテーションが無ければ「じゃあ作りましょう」という提案を含めてする人です。自分のなかでは「実装する人」という定義では無いです。何がより良いインターフェースで、ユーザーとの接点になるのかを考える人、かつ、実装する実力のある人、っていう感じです。
荒木 会社によっても違うので、会社の数だけ正解はあるんだろうなと思ってるんですが、個人的にはお二人と一緒で「人と接する」こと。僕の場合は「人」だと思っています。これから先、AI(人工知能)が触るものはAIが分かればいい。裏側のシステムだけあれば何とかなるのでは、という考えが正直あります。そこに「人間らしさ」が出てくるところが、フロントエンドエンジニアの楽しみなんじゃないかなと思っています。
MONSTER DIVEでは「フロントエンドエンジニア」の職種で募集していますが、意味合いとしてはやっぱり「JavaScriptでWebサイトやWebサービスを作る人」という定義のほうが強いです。「マークアップエンジニア」という職種はHTML/CSSをメインに担当する人という括りですが、MONSTER DIVEにとってあくまでこの分け方はメイン業務であって、オンリー業務ではない。お互いが前工程・後工程をクロスオーバーするのが当然だと思っています。
あくまでこれらは求人募集のための定義ですね。「フロントエンドってパワーワードだよね」「フロントエンドエンジニアってJavaScriptしかやらない」と思っている人もいるのが事実なので、そこの応募の受け皿として「マークアップ」「コーディング」といった言葉も使っています。
ーーー みなさん共通して、フロントエンドエンジニアリングとは「人が触るもの」「インターフェース」という言葉がすごく的確なのかなと感じました。
荒木
そうですね。「インタラクティブ」「インターフェース」そういったのワードがポイントになるのかな。
沖さんは「インタラクションデザイナー」という肩書ですが、どういう意味合いですか?
沖 エンジニアって言っちゃうとプログラムを書く人って見られるし、WebデザイナーやUIデザイナーと言っちゃうと画を作る人と思われてしまうので、私の場合は基本「両方が出来ますよ」「やりますよ」ということが大前提であります。あともうひとつ、特に僕らの場合は受託の事業なので、言われたものを作る会社だと思われがちですが、ユーザーとの接点、インターフェースを作るという意味では、インタラクティブであるということが大前提です。紙や映像では無く、ユーザーが操作するインタラクションを起こして初めて成立するメディアなので、そこをデザインするんだよ、という意味合いで使っています。
荒木 肩書きに「デザイナー」と付くと、"見た目側の人"って思われることはありますか?
沖
そうですね。見方によっては、そう思われていることもあります。Vue.jsのユーザーグループだと、僕のことをデザイナーだと思っている人が多いんですよ。いや、全然コード書くんだけどね、みたいな。逆にフロントのグループに行くと「Flashをやっていた人、いまはVue.jsの人」みたいに見られるんですけど、「いや、Reactも書くんだけどなぁ」というのもあったり(笑)。
なるべく「幅広くやるんですよ」という立場に見られたいし、ディレクターとも違うけれど、もちろんそういう立ち回りもするので、いろいろ考えて「インタラクションデザイナー」に落ち着いたというところですね。
ーーー Reactという話も出ましたが、Vue.jsだけでなくReactなど多くのフレームワークが存在しています。そのなかで「どれを使うべき」「どう使うべき」「そもそもフレームワークを使うべきなのか」といった話題もありますが、皆さんはJavaScriptフレームワークの役割・位置付けをどう捉えていますか?
生田
JavaScriptのフレームワークに関わらず、技術的なことについて自分が思っていることは、正解は無いです、と。
ただトレードオフがあるだけ、という考え方を基本的に持っています。
これをやれば"銀の弾丸"ですべてが解決するということは基本的に無く、あらゆることがトレードオフになっていて、そのなかから自分たちのチームの状況やスキルセットを考えます。例えば、チームにReactをやっている人が多いのに、あえてVue.jsを選ぶ場合、その根拠付けは何かと強く求められたりすると思います。
「自分たち」という前提条件に対して技術要件があるときに、それが達成できる選択肢が結構フラットにあります。自分は今ほぼほぼVue.jsを使いますが、その状況にReactが合っていればReactを選ぶと思いますし。「Vue Fes」スタッフの自分が言うとあれかもしれませんが(笑)。
基本的にはフラットに見て、ソリューションの選択肢のひとつという感じです。
数年前に海外のカンファレンスでEvan Youが「正解じゃなくてトレードオフだよね」というようなことを話していたことが、この考え方の基になっています。フレームワークを作っている人自身がそう言っているのはすごいな、と。自分のフレームワークはすごいという自信はあるんだろうけれども、あくまで引いてみているという。それに影響を受けている部分はありますね。
あとは業務でやっている思うのは、「Vue.jsをやっていて、Vue.jsが好きだから、Vue.jsでやります」というエンジニアは、エンジニアリングじゃないなということです。あくまで自分の持っている手札の中から、問題解決に対してその時の最適解を導き出すのが仕事だと思っているので、そういう意味でフレームワークというのは「その時の選択肢になりうるもの」という程度の認識です。ただ、(フレームワークを)使わないという選択肢も全然ありだと思います。
沖
基本的には私も生田さんの考え方に賛同ですね。
僕はもうエンジニアリングだけを極めていきますというわけではないので、Vue.jsのほうが楽だな、と思うことは正直あります。慣れているので。ただ、Reactを選ばないということでは全然ない。現場がReactだったら合わせますし、基本的なスタンスは同じかなと思います。
荒木さんもそうだと思うんですが、僕はずっとFlashをやってきましたが、自分が注力してきたプラットフォームが「プラットフォームごとなくなる」ということもありました。Flashだけではなくデザインツールもエディタも。そういうことを何度か経験しているので、例えばいま何々のツールが熱いとか、機能はどっちが優れているとかは、あまり興味がありません。いつも自分が選ぶ道具として、それを信頼して使えるかどうかを気にしています。
僕はEvan Youをすごく信頼をしているし、Vue.jsのコアチームを信頼しているので、その人たちが作ったり使ったりしているものが第一候補に入りやすい、ということもあります。フレームワークだけではなく、仕事で使っているツールもそういう選び方をしていることは、けっこう多いです。個人的な意見ですが。
荒木
僕も似たような回答ばっかりで面白くないのですが(笑)。
フレームワークはあくまでツールだと思っていて、便利なものは使えばいいと思う。
期間限定でオープンするWebサイトであれば、それこそ流行り物を使ってみようかな、というノリは全然ウェルカムだと思います。
ただ、沖さんのお話にあったように、大規模案件で今後10年・20年続くようなプロダクトで保守運用をちゃんとしなきゃというときは、チームのスキルセットや開発のスパンを見る必要があります。「いや、もうこれ1年以上更新されていないんだけど」とかは、使わない。フレームワークに限らずライブラリにおいてもマストな話で、プロとしてやっている以上、見ておかないとダメだと。
ネイティブなJSで書くのも全然ありだと思っています。でも「じゃあJavaScriptっていつまで使えるの」という話になってくるので、思想的なところ、概念的なところは、言語に限らずに学んでほしいと、うちのメンバーにも必ず伝えるようにしています。
ーーー エンジニア志望の方の中には「Reactがやりたい」「Vue.jsがやれるなら応募します」というマインドをお持ちの方もいらっしゃるようですが。
荒木
マインドとして「手段」と「目的」があると思っています。
前者は、こういうものを使ってみたい、いまこれが流行っている、興味があるから使ってみたい!という人です。
後者は、こういうものを作ってみたい、手段はともあれこういうのがやりたいんだ!という考えの人。
両方が必要なマインドだと思っていますが「Reactがやりたいから転職する」という人は前者ですよね。
MONSTER DIVEとしては、もちろんウェルカムです。既に廃れたライブラリを使いたいという話であれば、ちょっと、となりますが、いま世界的に使われているもの、その手段を極めたいという考えはひとつの目的になりうるので、そこは全然アリだと思ってます。
ただ、それ「しか」やりません、という人はうちでは向いていないと思います。それを「メインにやりたい」はアリですが。それが廃れたら生きていけなくなっちゃうので。そこの考え方が合えばって感じですね。
生田
求職していた2018年当時や今回の転職に関して言うと、自分は「手段は選びません」というスタンスです。
Reactしかやってないという会社さんにも応募しているので、求職者としては手段は選びません。
ただ、目的を達成するためにすべてをやります、というスタンスです。自分自身は「Vue.jsをやります」という応募はしないです。
自分が面接官の立場で、もしそういう方がいらっしゃったら、Vue.jsだけやり続ける状況を会社として保証できないと思うので、そこは正直に伝えると思います。
あとは「なぜVue.jsがやりたいのか」を聞きますね。「Vue.jsしかやってこなくて、Vue.jsが楽しいから、これからも続けたい」ということなのか、「Vue.jsの可能性を信じて、問題解決できるツールだから」とそう言っているのか。
楽しくてやってるんだったら、たぶん業務以外でいいんじゃないですか、という感じが正直あります。
業務なので、あくまで目的達成にフォーカスしているほうがいいのかなとは思っています。
チームの状況も変わっていくので、そのときに「Vue.jsを選び続ける」という根拠付けが、若干、宗教色が出てきてしまうので、あくまでフラットな考え方を持っているほうが、働きやすいだろうなと思っています。
ーーー 沖さんはチームを組閣する側も務めていらっしゃいますが、「手段を重視する求職者」とはどう向き合いますか?
沖
想像になりますが、さきほど生田さんがおっしゃっていたように、逆に「なんでそう思うんだろう」という興味はありますね。
Flashしかやりたくない、Vue.jsしかやりたくない、ということは、僕自身は一度もなかったので、Web制作業界への入り方の違いなのかなと思いますが。
荒木 今からWebを始める方って、昔に比べてそれぞれが本当に"深く"なっているじゃないですか。すべてを深くやるって本当に大変だろうなとは思います。
沖 どこから入ったらいいのか、何からやったらいいのか、選択肢が多いから、迷うというがありますよね。
荒木 デザインでも「デザインツールはどれにするべきか」から「何のデザインするのか」など、いろんな情報が入りすぎちゃって、大変な時代だとは思います。
ーーー いま「深くなっている」という話がありましたが、いろいろなフレームワークや技術があるなかで、仕事や業務をしつつ、新しいものをインプットしていかなければいけない業界です。みなさん、どうやって学んでいますか?
生田
自分の場合、ちょっと他人にはおすすめできない方法なのですが、「ひたすらやる」。
業務でやって、実装して動くようになって、仕様を満たしたとき、「仕様を満たしたけれど、なぜその仕様を満たせたのか」と自分が理解できていなかったら、それをひたすら解消していって、結果的に深くなるという感じです。なぜ、どのように動いているのか、分からないものを使い続けるという状態が、自分としては気持ち悪い。
日々業務で使っているツール群に関しては、基本的にGitHubのソースコードを見に行きます。
特に何か勉強してキャッチアップしようという気はなくて、自分としては、把握できていないのに動くものが気持ち悪い。「iPhoneを指でなぞるとなぜ動くのか」エンドユーザーは知らなくていいのですが、iPhoneを作っている人がそれを知らないという状況は、自分として嫌だなと思っているので。
フロントエンドに関しても、フレームワークが抽象化しているのは何だっけ、とか、日々自分が使っているものに対して理解を深めることをしていると、結果として"詳しい人"になってるという感じだと思います。
勉強しようとか、時代に追いつこうとか、そういう要請を受けたモチベーションで何かを知ろうとしているということは、基本的にないです。技術が基本的に好きなので、調べてたら、結果、時代に追いついていたという感じで。こういうことを言うと「業務外を勉強するのか」とか、そういうコンテキストになってくるので、他人には全くおすすめできません(笑)。会社として要請できない内容なので。
周りを見ていてもそういう人が多い気がします。あることが詳しい人に、よくよく話を聞いてみると「ひたすらやってます」みたいな回答がほとんど。名の知れた記事を書いている方やSNSで有名な方は、突き詰めていくと、"ずっとやっている"という人だと思います。
沖 僕も若いときはいま生田さんがおっしゃったようなタイプで、業務のなかでもプライベートでも勉強しているから、あんまり境目がなくて。やれることを常にやっている感じでした。
年齢が上がってきて、徹夜が出来ないとか、子どもが生まれてプライベートな時間がほぼ無い、ということになってきたときに、そのやり方をシフトしなければと思って、この何年かは必要最低限のところしか追わないようにはなりましたね。最近は、いま業務で必要なところは追っていって、「技術的に興味はあるんだけど、調べている時間がないから優先度を下げる」みたいなことが増えてきました。業務のなかで勉強できる範囲でやっているという感じです。
子どもが寝てから本を読むくらいで、プライベートの時間にコードをバリバリ書く、OSSにコントリビュートするといったことは減っているかなと思います。
荒木 僕もそうですね、ちょい上ですけど沖さんと同じ世代で。僕の場合もチームマネジメントやプロダクトを見ることも含めて業務優先にはなっちゃいますね。
受託事業をやっていたころも同じですが、その案件で何かあったとき、最終的に自分が消火できるようなスキルは絶対に必要だと思っています。それは自分で(プログラムを)動かすことも、人に指示することも、知識が無いと「ここはこの程度でよろしく」「これはリソースが厳しいから分担しよう」というジャッジ、交通整理が出来ません。
手を動かして学ぶというより、知識を広げるようになってきています。
あまり頭でっかちにはなりたくないので、最初だけは手を動かすようにしていますが、今でもJavaScriptやフレームワークはコードから追っていったり、リリースごとの相違を見ていますが、生田さんのように深くまでは見れていなくて。
逆にフロントエンドではなく、AWSのセミナーなどを観て新サービスをプロダクトに活かせないかと考えたり、そのようなインプットが増えてきていますね。
ーーー スキル以外で、興味や性格・志向の部分で、エンジニアの現場に求められるものってどんなものですか?
沖 何を作るかによって変わってくるなと思います。モバイルアプリやネイティブアプリ、業務アプリであれば、そんなにアニメーションや世界観の演出は求められませんが、「プロモーションサイトを作ります」という人には、そちらのほうが強くなると思います。
一概には言えないのですが、あまり「Webサイトだからこうあるべきだ」みたいな閉じたインプットに限定しないほうがいいと思います。
例えば、テレビゲームをやる、映画を観る、世の中のいろいろなメディア表現を常に摂取しておける状態にはしておきたいと思っていて、じゃあそれが何かすぐにいま自分が作っているものに反映できるか、というと、そうでもないのですが、「あのときに観た、ああいう表現をしたいな」とか「ああいうテイストを入れたらいいんじゃない」という話がパッと出来るようにはしてますね。
専門的な技術を持っていない方と会話するときに、そういったキーワードを使うことでコトがうまく運ぶ、理解が早くなることがあるので、僕はそういうインプットをしているし、エンジニアやデザイナーもしたほうがよいのではと思います。
生田
LINE株式会社の場合、スペシャリストたちが職能組織で集まって、仕事のたびにその職能組織から人が出てきてチームを作ることが多いので、自分はフロントエンドのスペシャリストとしてプロジェクトに関わって、価値を出すことが求められていました。
個人的なマインドとしては、もしエンジニアになるのであれば、何か問題があったときに「人に原因を帰結しない」という考えがあると思っています。
全体のシステムが悪いのか、コミュニケーションの在り方が悪いのか、少なくとも「特定の個人に問題があって、全体がうまく行っていない」みたいな考え方は、基本的にしないようにしています。
あとは「人がめちゃくちゃ頑張って何かを達成する」というスタンスは取らないですね。「頑張らなくてよくしましょう」というところにフォーカスする。
ずっとヤカンを見て吹きこぼれないように見ているんじゃなくて、温度センサーを付けませんか、みたいな、そういう発想を持っている人だと、いいのかなと。
プログラマーの三大美徳と言われる「怠惰」「短気」「放漫」みたいなものは今でも有効だと思っていて、真面目な人は向いていないのかなと、個人的には思います。環境に適用しようと努力しちゃう人はもったいないなと。
たぶん、社会的に評価されて求められている人物像だと思いますが、エンジニアっておそらく逆で、「何でそんなことやってるんですか?」と平気で言う人が向いている。常に日常でも業務でも「何で今こうなっているんですか?」という質問が出来ること。「じゃあ自分それに合わせて頑張ります」と言うのは、もったいないなとは思います。エンジニア、工学の「より良くする」という部分を放棄してしまっている気がするので、常に疑問を持つこと、現状に関して「何故ですか」と聞くマインドが、個人的には大切だと思ってます。
荒木
めちゃめちゃ思いますね。僕自身がエンジニアに向いている理由は「面倒くさがり屋」というところで(笑)。「何でやらなきゃいけないの」「もっと楽を出来ないの」と考えることが一番向いていると思っていて。
成長期は「慣れること」が大切ですが、ある程度出来るようになったら「慣れないようにすること」が大事だと思っています。子どもって新しいことばかりだから、一日が長く感じるけれど、おっさんになると一日がめっちゃ早いんですよね。ルーティンになってしまってないか、もっと刺激を受けなければと、反省しているんですが。当たり前のことを当たり前だと思っちゃいけないのがエンジニアなのかな。クリエイティブに関わる人は全員そうかもしれないですね。
沖 昔、ある人から聞いた話で、「受託の仕事ばっかりやってると、やったことのある技術やデザインで出来るようになってくるので、楽なんだけど、飽きてきてしまうから、わざと一個は"やったことないこと"を入れる」という話があって、僕もやっていますが、歳をとってくると尚更大事ですね。
ーーー これから先、フロントエンドエンジニアにはどんなキャリアパスがあるとお考えですか? また、それを実現するためにはどのような経験・学習が必要ですか?
沖 世路庵の場合、「フロントエンドエンジニア」「Webデザイナー」といった名目で入社してもらいますが、デザイナーもちょっとしたコードの修正をしますし、エンジニアも画像修正をやったりするので、実際の業務はグラデーションというか、専門的な業務のみに特化して成長していくことは無いですね。
世路庵はWebに関わることであれば何でもやっているので、例えばエンジニアとして入社したけれど、途中でデザイナーをやりたいとなったら、両立していくこともアリだと思っています。その先にディレクター、プロデューサー、あるいはコンサルタントやマーケッターになるのも良いと思っていて、ひとつの職種に閉じて専門性を高めていくというよりは、自分が「興味があって出来ること」を増やしたり、深めたりする方向にやっていってもらえればいいな、と思っています。
やっていくと、途中で変わると思うんですよね。そのとき、「会社にポジションがありません」と言うのは不幸なので、「やれることなら全部やっていいよ」と思ってます。
荒木
いわゆる「ゼネラリスト系」と「スペシャリスト系」があると思っています。
ゼネラリスト系は分かりやすくて、先ほど沖さんがおっしゃっているように、ディレクターやマネージャーになるキャリアもあります。
MONSTER DIVEではマネージャーにならないと偉くなれないのか、という考えもあり、「手を動かしている人が偉いよね」という思いがあるので、スペシャリスト枠もあります。
スペシャリストにおいては「これだけは誰にも負けない」と業界を代表するくらいになって欲しいです。テックリードやシニアエンジニアといった肩書きや名称になるんでしょうが、求めるところは「とはいえ、自己満足で終わって欲しく無い」。スペシャリストとして極めたものを、社内エバンジェリスト的にチームで広めていくことは求めていきます。
僕で言うと「前後工程が気になる」「案件の特性が気になる」と口出ししていたら、それがだんだん「技術」「案件」「チーム」「会社」と対象が広がっていったら、いつの間にか役員になっていた感じなので(笑)。
ゼネラリスト系かスペシャリスト系か、まずは自分がどちらに行きたいのか考えるのは良いことかなと思います。
生田
自分も、マネージャー寄りにちょっと近いマインドを持ってはいます。
個人的な話をすると、「エース級の人が集まっているチームでも、チームとして結果を出さない」ということが往々にしてあると思っていて、自分だけが技術的にすごいことをやれば目的を達成できるとか、より良いプロダクトができるとは思っていません。
そういう人たちが集まって、チームでやったときにどう動けるか?みたいなところを、フロントエンドエンジニア、インディビジュアルコントリビューターとしてやってみましたが、チームとしては成果が出なかった経験もあり、組織のほうに興味が出ている状況です。
技術的なことは一応押さえるけれど、キャリアとして興味・関心は「技術者が集まったときにどう結果を出させるか」に移っている過渡期にあります。
ただ、「フロントエンドエンジニアとして生き続ける」ことも出来る時代だと思っています。
フロントエンドだけで十分に分野が成熟していて、かなり深い、人ひとりの人生・キャリアでそこまで到達することがおそらく無いような状況だから、チームがより良く上手くいくかどうかは別の人に担保してもらう働き方も全然アリで、「ひたすら技術をやります」と技術を突き詰めていくキャリアもあると思います。
あとは、隣にあるデザインも出来るようにして「デザインから実装までやります」というプラスアルファの領域に広げるやり方も、全然アリだと思います。
フロントエンドエンジニアとして食っていくコトが一生できると思うので、選択肢としてあると思います。
ただ、「フロントエンドという手段に囚われていませんか」と聞かれると、これは確かにそうかもしれないので、あくまで「プロダクト作りに必要なもののうち、フロントエンドにスペシャリティを持っている人」というスタンスでいるといいのかなと思っています。
前工程や後工程を知らずにフロントエンドだけやるエンジニアは、おそらくエンジニアとして価値が出しづらくなるだろうなと。周りを知っている上で「自分はこれをやるんです」というスタンスは、キャリア上、必要かなと思います。
ーーー ここまでお話を聞いてきたなかで、最終的には「人」や「接点」を整えていくところに、みなさん興味を持っていらっしゃるんですね。いわゆる「プログラミングする人」では無いということを強く感じました。
生田
そうですね。仕事のうちコーディングは最後の1%だと思います。
個人的には99%は「問題解決」で、問題を解決してからコーディングするという感じです。
ーーー 長時間に渡り、ありがとうございました。皆様、最後に一言お願いします。
生田 これからエンジニアになりたい人は、フロントエンドをやるか、バックエンドをやるか、やる前からあまり悩まなくていいのかなと個人的に思っています。『ポケットモンスター』で最初のポケモンを何にすれば良いのかと、ひたすら悩んでいる状態だと思うので。どのポケモンを選んでも、道中、自分のポケモンが苦手タイプのジムが必ず出てくるので。
もしこれからエンジニアをやりたい人がいたら「やりやすいほうがいいじゃないですか」と。そういう点ではフロントエンドエンジニアは"画面が見える"ので、やりやすいかもしれません。
バックエンドを知らない状態でフロントエンドをやり続けると、どこかのタイミングで破綻するはずです。「通信しないWebサイトを作り続けます」ならあるかもしれませんが、CMSが入った瞬間に通信が発生するので。別にどっちの入り口でもいいんじゃないですか、とこれからエンジニアを始める方にはお伝えしたいですね。自分はたまたまフロントエンドでした。
荒木 話が脱線しちゃうかもですが、生田さんがWebに関わりたいとなったきっかけって何かあったんですか?
生田
自分は教育学部・英語英文学科出身なので、全然理系ではないのですが、「英語教育にシステムを導入する」というEduTechの分野に興味があって、個人学習を支援する何かを作れたらいいなということが最初にありました。
学校で働いたりもした結果、「コンテンツを自分で作って世に出してみたい」というのがあって、その2つで、おそらくITに行くとWebサービスを作ることになるので、達成できるだろうという思いから始まりました。
ただド文系なので、市場価値が無いことは重々把握していましたので、1年間はニートをして独学で、当時はProgateも無かったなかで英語だけはなまじ読めたので、海外のProgateみたいなものを使ってやっていました。
その後、1年間のニート記念に就活しようと思って。もちろん市場価値は無いので、やる気を買ってくれるところに入りました。Web制作のなかでも、HTMLやJavaScriptが独学にはとっつきやすかったから、そこで入ったということですね。
入ってから分かったのは「フロントエンドだけ分かっても、Webサービスは作れない」とずっと思っています。
荒木 いいですよね。バックエンドもフロントエンドも関係なく、作りたいものがあって、それ作りたい!という思いがあって。「じゃあそれってどう作っていくんだろう」というのがエンジニアのきっかけになるって、すごい思います。
生田 そうですね。自分は技術がやりたかったわけではなくて「こういうものが欲しい!」と。それはこういう手段を用いると出来るんじゃないか、という。仮説でしかないからやってみた。やってみるってすごい大事かなと思っています。
最近は「正解」を求める風潮がかなり多いのかなと。やる前から「上手くいきますか」「楽しいですか」とか。
特に若い世代には、コスパというかパフォーマンスを最適化しようとする雰囲気を感じることもありますが、すごい合理的ですが、不合理でも「とりあえずやってみる」みたいなことをやっていくと、中長期的には上手くいくことがあるんじゃないかなと思っています。エンジニアリングでは無いのですが、人間臭さみたいな、実は不合理なことも「やってみる」ことが、長い目で見ると意外と良い結果になるのではと思っています。「エンジニアなのでとにかく利を求めます」とやっていると、意外と詰まっちゃうかもしれないです(笑)。
荒木 Web制作の受託事業をやっているとき、「難しいことこそ簡単にシンプルに考えて、シンプルなことこそ難しく考えて、いろんなもんにチャレンジしていこう」と僕もよく言ってたんで、通ずるものがあるかなと共感しています。
沖
僕の体感として、新しくWeb制作業界に入りたいと言ってくれる人がかなり減っているという傾向があります。
もちろんそもそも就労可能人口が減っているといったこともありますが、都内の専門学校の先生に話を聞くと、昔はあった「Webデザイン科」が今けっこう減っているんです。僕らこんなに求人を出していて、仕事もあるのに(笑)。
美術系の大学で話を聞いても、グラフィックデザインやりたいという人が100人いるなかで、Webデザインをやりたいという人は10人もいないんですよね。それがショッキングで。なかなか魅力が伝わっていないことに危機感を覚えていますね。
荒木 簡単にテンプレートやテーマでサクッと作れて、全部が同じように見えてしまっているという部分は、僕たちが反省しなければいけない部分かもしれないですね。
沖 若い人からすると、インターネットが当たり前にあるし、ゲームを始めたらネット対戦があるし、当たり前すぎるのかもしれない。やってみると滅茶苦茶おもしろい業界だと思っているので、若い人にはその良さをもっと知ってほしいなと。
荒木さん・生田さんもそうですが、Web制作にかかわる人たちって年齢や職種、経験年数で"偉ぶる人"とか全然いないじゃないですか。僕もすごくフラットにしたいと思っていて、会社組織や規模、受賞歴でランクが決まるわけじゃないというのが、この業界の良いところです。誰でも今すぐ努力した分、結果が出るという意味で、すごく良い業界だと思っています。
若い人にもっと興味を持ってもらえるように僕らも努力していきたいなと、ここ何年か思っています。
荒木
長時間お付き合いいただき、ありがとうございました!
お二人とお話しをして、通じる部分が多かったのも嬉しかったです。
MONSTER DIVEもそういった人材が本当に欲しいなと思ってますし、受託案件・自社案件どちらもあるので、そのあたり迷っていたりする人がまわりにいたら是非ご紹介ください(笑)。
予定時間をあっさりとオーバーする濃密な対談になりました!
対談にご参加いただいた沖さん、生田さんには改めて御礼申し上げます。
いまフロントエンドエンジニアとして活躍されている方や、これからWebエンジニアを目指している方に、楽しんでいただけたら幸いです。「Vue Fes Japan Online 2022」の成功を心より応援します!
さて、対談にもありましたが、MONSTER DIVEではフロントエンドをはじめ各職種で求人を行っています。
特にWeb制作職(フロントエンドエンジニア、マークアップエンジニア、Webデザイナー)においては、Web技術やクリエイティブに関する社内勉強会を10年以上継続するなど、チームでの成長を目標にした取り組みを続けています。有名ブランドのWebサイトや大手企業のWebシステム開発、さらにライブ配信関連のWebサービスを自社ドメインとして手掛けており、モノづくりの現場、最前線に挑める環境をご提供できると考えています。転職をお考えの方は、ぜひ求人ページやWantedlyをご覧ください!
お読みいただき、ありがとうございました!