情報収集のセンスの磨き方
――昨今、技術の移り変わりが激しい中で、社内の技術選定はどのようにされているのでしょうか。
佐藤:工夫で言うと、あえて誤解を恐れずに言うならば、「特に制約や制限をしない」ようにしています。技術標準を作ったところで、それよりも早く世間の、今何を使うべきかという問題意識とか、個々のエンジニアの見ている方向性って変わっちゃうので。少なくともウェブフロントエンドに関して言うと、技術標準があったとしても役に立たないという認識です。どちらかというと、プロジェクトのリーダーが立ち上げのときに、外の業界の風潮を見て正しく判断して、そのときにベストと思ったものを採用すればいいじゃない、ということです。
泉水:各プロジェクトが新たな技術を使って何かをやりたい、といったときに、こちらでみんながその技術を採用しやすいようにサポートできるような仕組みを作っていくほうが大事なのかなと思います。
――どういった取り組み方がよいのでしょうか。
佐藤:僕たちも試行錯誤しているところで明確な答えを持っていないのですが、ただ確かなのは、学習コストって言うけど、それは新しいことをやるために絶対払い続けなければいけないものだから、そこはまあやりましょう、と。ただし、その学習コストをどのタイミングでどれぐらい払うかは、結局個々のエンジニアのセンスかなと思っていて。
プライベートの時間をすべて新たな技術の学習に使える人って強いじゃないですか、当たり前なんですけども。ただ、単純に時間の使い方がうまくて生活の一部の時間をキャッチアップに当ててセンスを磨いている人もいるし、けっこう人によって差はあるかなという気がします。
ただ、やっぱりクライアントサイド、フロントエンドは変化が速いのは事実なので、その分、少しコストがかかりやすい分野ではあると思います。
例えばフロントエンドは、Virtual DOMとかいう単語が出てきたとしたら、その瞬間にReactだって言った後に、雨後の筍のごとく追従するライブラリがバーッと出てきて、それらを一つ一つ丹念に見て、いやこれは違うんじゃないかなって語り合うのが、すごく好きな人がたまたま集まっているのかもしれないですね。
なんだかんだで、話題に上げられないライブラリもたくさんあると思うんですけど、案外フロントエンドの業界って、何かを拾ってきて広めようとする人がいるかなという。
泉水:みんな、それが意外と好きなんじゃないかって感じも。
――新技術はどういった流れで現場に導入されるんでしょうか。
泉水:現場に入れる前に試すのは前提ですけど、僕個人の話で言えば、「新しいものが出たらとりあえず触ってみて、かみ砕く」のが基本になっています。
佐藤:現場が好きにしようとは言ったものの、例えばReactはもう3~4年ぐらい経っていますけども、Reactをリリース直後のバージョン1にもなってない段階で入れようって言う人がいたら、周りから、いやそれは止めたほうがっていう内圧がかかったかな、という気がします。ある程度ライブラリとして成熟してきて、みんなが手を出すようなタイミングで適切にちゃんと手を出すっていう新陳代謝はよいかなとは思いますけど。
でも本当に個人で触って、新陳代謝のタイミングを見極めるっていうのは、われわれのライフスタイルになっているなと。人柱として。
業界のアーリーアダプターな人たちがつまみ食いをして、そろそろいいよってGOサインを出すまで、慎重になる人も多いので。アーリーアダプター自身が、いやもう俺はぶっこむぜって言うと、誰も止められないんですけど。
――さきほどセンスの磨き方みたいな話が出てきましたが、情報を見極めるコツってあるんでしょうか。
泉水:そのライブラリが何を解決しているのか、何を解決しようとしている技術なのかっていうのを最初に見ますね。Reactで言えば、Virtual DOMの仕組みを使って、今まで煩雑だったDOM操作をフロントエンドのコードの中からなくす、というところを目標にやっていると思うんですけど、それはかなり今まで我々が苦しんでいた部分だったので、筋のよさをパッと見で感じたのかもしれないです。また、パフォーマンスもちゃんと伴っていることが、ここまで流行った理由なのかなとは思います。
佐藤:まずは数多く見てみるというのも必要なステップかもしれないですね。過去にあったライブラリとの類似性だとか、あと同時期に出てきている他のライブラリとの違いとかをみて、結果的にこれはこの面においておそらく優位であるという判断を下していくとか。
単純にソーシャル自体の特徴ですけれども、どういう人たちが反応しているのかも見ちゃいますね。この人が言うなら間違いないとか。自分自身のセンスだけじゃなくて、他の人たちのセンスも借りて足し合わせて取捨選択するのがけっこう多いですね。
泉水:誰が騒いでいるかは確かに大事かもしれません。
佐藤:人によってやっぱり趣味が違うので。一人一人がある意味、技術情報のキュレーションをしている。なので、自分の好みに合った、もしくは自分の好みを探すのに合ったチャンネルの人間を作って、そこで情報収集をして、真偽の判断、取捨選択を調整していく。っていうのが、たぶん我々というか、みんながやっていることだと思います。
――その場合はツイッターとかが多いですか?
泉水:ツイッターが多いですね。あとは気になる人のブログとか。でもやっぱり基本はツイッターです。フェイスブックで他の会社のエンジニアの人とつながっていることが少ないっていうのもありますね。ツイッターの方が気軽にフォローしやすいですし、リアルタイム性もあるので。
――GitHubやHacker Newsなどは?
泉水:GitHubはよく見ます、確かに。Hacker Newsも見ていますね。
佐藤:自分の場合だと、だいたいツイッターとFeedly。フィード購読の塊も一応もっているので。GitHubのトレンドページの監視とかも。あとは、Feedlyの中に何がどれぐらい入っているのかによっちゃいますけどね。そのあたりは、たくさん毎日読める人はたくさん購読するし、読み切れないから減らす人もいれば、未読がたまっても気にしない人とか、いろいろ個人差ありますよね。
――今注目している技術や、注目しておくべき技術をお聞かせください。
泉水:パフォーマンスとアクセシビリティ、目新しい技術とかいうわけではないんですけども、見直さなければいけないのはアクセシビリティかなと思っています。
佐藤:ウェブの、フロントエンドの技術といってもいろいろとあるんですけど、自分の認識しているモデルだと、「Reactみたいな表層を扱うライブラリの技術」と、「ウェブ標準技術」。それと、パフォーマンスやセキュリティ、アクセシビリティといった「目に見えない品質面の技術」の3つがあると思います。
表層技術に偏ることも多いかもしれないですけど、自分としてはやっぱり品質だとかウェブ標準技術で、今後どういうことが可能になっていくかはしっかり見ていきたいなとは思いますし、「React、React言ってないでW3Cのスペックでも読もうぜ」みたいな、ちょっとおっさんくさい活動もしたりしなかったり。
――やはりW3Cの仕様って皆さん読むものなんですか?
佐藤:見ますね。
泉水:めちゃくちゃ見ます。
佐藤:最近だと、W3Cの仕様もGitHubのリポジトリで管理されるようになったんで、イシュー、プルリクエスト、更新履歴などがすべて公開されるようになって、昔よりだいぶ情報をキャッチアップしやすくなりました。
泉水:コントリビューションもしやすくなりましたね。気になる技術はGitHubのリポジトリをウォッチしたり、どういうふうに仕様が着地するのかはチェックするようにしています。
佐藤:まだドラフトとか、プロポーザルの仕様とかもGitHubにはあるので、そのへんを見て、少なくとも今、何が検討されているかといったキャッチアップはしています。
――そのあたりを要約して読める、キュレーションメディアなども有益そうですね。
佐藤:ちょっと話が飛んじゃいますけども、Frontend Weeklyとかで扱っているのって、デザイン領域の情報も入ってくるんです。先ほどは、普通に技術だけで話し合いましたけども、クライアントサイドなので、そのあたりの関心とかも一応あるのかなと思います。
取材した佐藤氏(@ahomu)、泉水氏(@1000ch)もキュレーターを務める
――お二人は、デザインとかもウォッチされているのですか?
泉水:グラフィック部分はやらないですね。IA(Information Architecture;情報アーキテクチャ)に関しては個人的な興味で調べたりはしていますけど。デザインに関するバックグラウンドを持っているのは佐藤のほうかなと。
佐藤:僕は大昔、ウェブのデザインの勉強していたことがあって、デザインの基礎やタイポグラフィなど、当時で言えばデッサンや抽象画とかもやっていたんですけど、その時の興味関心をそのままにクライアントサイドに来ているので。仕事ではやってないですけども、いまだにそのへんのキャッチアップは、ウェブに関してはやっていますね。
ウェブのフロントエンドの人って、ライブラリをうまく組み合わせてエンジニアリングに傾く人が最近すごく目立ってはいますけれども、本質的にはやっぱりユーザーに届ける提供面の、クライアントサイドのところなので。そのあたりをちゃんと作りこめる人間や、ビジュアルに気遣える人たちも一定数いるし、そのへんのことも考えていきたいなとは思います。
――そのあたりはエンジニアとして差別化要素になるのでしょうか。
佐藤:直近ですと、弊社が「テクニカルクリエイター」という役割を作りましたが、エンジニアリングとクリエイティブの両面をしっかりできる人間というのは、やはり少なくともユーティリティプレイヤーではありますよね。専門家VS専門家で殴り合っていいものをつくるというのも、もちろん一つのモデルですけれども。
もともとユーザーに届けるものを作りたい人って、自分で実装して自分でデザインもしたいっていう人はいるので、もちろん。そういう人たちがテクニカルクリエイターというようなポジションをうまく自分の中で使いながら、自分のキャリアを積み重ねて差別化していく方向性は、間違いなくあると思います。
まとめ
――今後、こういうことやってみたいっていう目標があればお聞かせください。
泉水:このWeb Initiative Centerの活動を通して、アクセシビリティとパフォーマンスの重要性を開発に関わる全ての人に伝えることですかね。いくらコンテンツが豊かでリッチでも遅かったら話になりませんし、誰しもがアクセスできるべきものなので、そういった品質向上に役立っていければと思います。
佐藤:Web Initiative Centerの活動をするのはもちろんですけども、個人的には近年ウェブ技術って、カーナビやスマートテレビとか、ウェブのブラウザ以外にも進出する技術になってきているので、その辺が広がっていったら、自分のウェブ技術に関する知識がそっち方面でも使えるのかなと思っていて、いつかそういう分野も挑戦してみたい、というのがあります。
――ウェブ技術には、まだまだ将来性があるぞ、ということですね。
佐藤:と信じています。一時期モバイル分野ではネイティブに完全に負けたみたいなふうに各所で言われてはいましたけど、まだ標準技術としていろんなところに使い回しがきくっていうメリットが消えたわけでは全然ないので。そのあたりで、自分の業務の可能性を広げるとかはやってみたいですね。
最近だとちょっとキャッチーな言葉で言うWebAssembly(ウェブアセンブリ)だとか、ウェブのもともとあった限界を突破できるような技術とかも出てきているので。
泉水:そうですね。ウェブ技術は可搬性のある技術になってきているので、パフォーマンスさえ追いつけばいろんなところで使われる。ウェブ開発者がいろんなウェブだけじゃない分野の開発に携われるようになってくるのかなと思います。
――なるほど。ウェブ技術の発展が今後も楽しみですね。本日は、ありがとうございました。
