本連載は、「 エキスパートへの道しるべ(Load to Expert) 」をテーマとして、初級者がエキスパートになるためのヒントを、日本を代表するエキスパートの方々に伺う企画です。
今回はフロントエンド開発のエキスパートとして知られる古川陽介氏に、学習方法や情報収集の極意、最新トレンドについて語っていただきました。
株式会社リクルートのグループマネージャーであり、Japan Node.js Association代表理事として活躍する古川氏が、初学者からエキスパートになるまでの道のりや、AI時代のエンジニアリングについて貴重な洞察を共有します。「発信する」「非機能要件にこだわる」「何より楽しむ」という学びの本質に迫るインタビューをお届けします。

古川さんをTechFeed上でフォローしよう!
古川陽介さん(Japan Node.js Association代表理事)
古川陽介さんのプロフィール:フロンドエンド開発のエキスパート
――まずは、古川さんのプロフィールについて教えていただけますでしょうか。
古川: 古川陽介と申します。対外的には株式会社リクルートでグループマネージャーという形で働いています。もう一つの顔としては、一般社団法人のJapan Node.js Associationの代表理事をしていて、JSConf.jpの運営や、Node学園という勉強会の開催などをやっております。
――勉強会はどのくらいの頻度で開催されているのですか?
JSConf.jpは年に1回で、今年は11月16日を予定しています。Node学園は不定期ですが、隔月か3ヶ月に1回くらいの頻度を目指しています。今年中に50回目を開催したいと思っています。
フロントエンド開発との出会い
――フロントエンド開発のエキスパートになりたい初学者の方に向けて、古川さん自身はどのように学んできたのか教えていただけますか?
古川: JavaScriptと出会ったのは随分前ですが、本格的に学ぼうと思ったのには、あるきっかけがあります。
僕は元々、バックエンド中心のパフォーマンスチューニングの仕事をしていて、データベースの高速化や全文検索エンジンの開発に携わってました。でも、バックエンドだけ高速化しても、あまりお客さんが喜ばないんですよね。速くなったという実感が湧きにくかったので。
そこで、フロントエンドの開発や最適化に興味を持ち、実際に携わるようになりまして、例えばFlashで動いていたWebクライアントをJavaScriptに書き換えるというような経験もしました。そうすると、プラグインなしで動作するようになったものですから、起動も実行速度も速くなり、その結果多くのお客さんに喜ばれた。
そうした経験を経て、トータルのユーザー体験を向上させないとお客さんの満足には繋がらない んだと気づき、フロントエンドの開発にどっぷり浸かっていったんです。
学習方法とエキスパートへの道のり
――大きなきっかけがあったわけですね。そこから、どのようにして勉強していかれたのでしょうか?
古川: 最初は、本読んだり記事読んだり、とにかくおすすめされたものをやってみようっていう感じで始めたのですが、正直良くわからないというか……。僕は、本とか読んで頭に入ってくるようなタイプじゃなくて(笑)。
そもそもその頃は、勉強のコンテンツ自体があまりしっかりしたものが出回っていませんでしたし、「これを学べば間違いない」というスタンダードもありませんでした。JavaScriptを学ぼうとしたらjQueryを学んだほうがいいと書かれていたり、jQueryはもう古いなんて話も出てきていたりと、そういったごちゃごちゃした色んな話がありすぎて、学ぼうとしても、あまり体系だった学び方ができなかったんですよ。
それで、最初は分からないながらもサンプルコードを写経し、動くものを作ることから始めました。「意味は分からないけれど、こうやれば動く」というところから、徐々に理解を深めていった、という感じです。昔だと即時関数だとか、おまじないみたいなものを、意味がわからないながらもずっと触っていく中で、「こういうものか」と徐々にわかっていったみたいな感じです。
習うより慣れろの精神で、とにかく飛び込んでみて、たくさんなにか作っていた、 というイメージです。
――そこからエキスパートと呼ばれるようになるまではどのような感じでしたか?
古川: ある程度わかってきますと、アプリケーションを作って、あとはひたすら発表させてもらってました。アプリケーションを作るだけではなく、発表することも重要だと思います。 対外的には、勉強会やNode学園で発表したり、作ったものをブログに公開したりしていました。
そういった活動が自分を伸ばしてくれたと思っています。毎週何かしらの実験やブログ記事を書き、月に一度はアプリを作っていましたし、隔月から4ヶ月に1回くらいでNode学園で発表の機会があるので、無理やりネタを作って発表したりとか、そうやって周りに存在感をアピールしていくような活動もしていました。
そうしているうちに、初代Node学園の代表( @meso さん)から次の代を引き継ぐよう指名されまして、そこからはNode学園を盛り上げていくことに全力を尽くしました。
周りの人たちも、僕が開いたカンファレンスに参加してくれるようになって、他の人の発信を吸収しながら、自分の知識も高まって、自分もより発信するようになる…と言うとてもいい循環ができました。発信し続けることでプレゼンスが上がっていっただけでなく、沢山の人とも繋がれた んですよね。自分が効率よく勉強できた土台ができたのは、そこなのかなと思います。
初学者へのおすすめ学習法
――では、これからフロントエンド開発を学びたい方、学びはじめの方に、おすすめの学習方法はありますか?
古川: ぼくとしては 「作ってみる」ということが一番の学習法 だと思います。
最近はAIのおかげで、アプリ開発のハードルが下がっていますので、自分の作りたいものをイメージできれば、形にするのも早くなっています。でも、作って終わりではなく、実際にサービスとして稼働させてみることが大切です。最初は自分しか使わないアプリでも構いません。
サービスとして稼働させるには、フロントエンドだけでなく、バックエンドやインフラも必要になりますが、そのほうが学習の効率もいいと思います。 筋トレに例えると、 単関節種目ではなく多関節種目のようなものです。ベンチプレスやスクワットのように、全身の筋肉をバランスよく鍛えることが重要なんです。
フロントエンドの知識だけが足りないっていうのがわかっている場合は、それを勉強すればいいのですが、初学者の多くの場合は全体的な知識が不足しているので、アプリ開発を通じて基礎を作り、その後に自分の軸足を決めていくといいでしょう。
――初心者はどういうアプリを作ればいいのでしょう?あと、アプリを作り切るだけの技術を学ぶにあたって、どんな風に学んでいけばいいのかコツを教えて下さい。
古川: まず最初のアプリケーションのところに関しては、まあなんでもいいといえば何でもいいんですけど、最初は自分の身の回りを助けるものを作るのがいいと思います。例えば、筋トレの記録アプリや、ToDoアプリとかでいいんです。僕の場合は、勉強会での発表のためにスライドアプリを作ったりしました。
その次のステップとしては、 非機能要件にこだわってみる ことをおすすめします。例えば、パフォーマンス、アクセシビリティ、テスト、メンテナンス性などです。こういった要件を、とりあえず今自分が作っているアプリに対して、作り切るだけじゃなく、こだわりを入れながら作ってみると、そこが一歩踏み込んだ領域になってくる。妥協しないでやろうとすると結構大変なんですが、実際の製品になったときに、その作り込みの経験の部分で大きな差が出てきたりします。
実務ではリソースや時間的制約でここまで踏み込めないことが多いので……非機能要件はあとでもできるだろうってなりがちなんですよね。そこに関しては、実際そうなので否定はしないのですが、その分、個人開発だったら、逆に自分がやってみたいこと、試してみたいことっていうのを思いっきりやってみるってのはアリですね。絶好の学びの機会になります。

効率的な情報収集方法
――情報収集は普段どのようにされていますか?
古川: 話題をまんべんなく拾ってくれているので、TechFeedも見ていますし、はてなブックマーク、はてなニュース、Hacker News、ツイッター(X)などを情報収集に使って、今の話題をキャッチしています。
最近は特に、TLDR.tech というサービスが面白いです。デザインとかAIとかウェブ開発とかの幅広い分野で、特にアメリカやヨーロッパで話題になっているような最新トレンドに強いサービスなんです。
情報収集系じゃなくて、技術的な詳細を調べる際は、MDNや web.dev などを参照します。
例えばアプリケーションを作りたい時に、仕様書や使われ方について知りたい時は、MDNを見に行きます。web.devとかそのへんのサービスは、googleが開発において役に立つノウハウを共有してくれているので、ちょっと得意じゃないアクセシビリティの話とかはそこに押さえに行ったりしています。
古川さんが注目している最新トレンド
――現在古川さんが注目しているトピックは何でしょうか?
まず一つ目は、JavaScriptランタイムの動向です。興味深く見守っているのは、Bun、Node.js、Denoのコミュニティの動きですね。特にBunの開発者であるJarred Summerさんはぶっ飛んでるんで、興味本位でフォローしてます。この方は、「おもいついた!」みたいなことを普通に実装してくるので面白いです。
簡単に状況を説明させていただくと、Bun、Node.js、Denoは今丁度三すくみのような状態になっているんです。
Node.jsは、市場としては成熟してきているので、あとはもう成熟してる市場をどこまで伸ばすかとか、皆から飽きられないように新しい機能を追加する、みたいなことをやっている最中です。BunとかDenoは、Node.jsの市場から頑張って人を引っ張ってきている最中です。JarredさんとかはDenoの中の人とバチバチにやり合ったりしてて…(笑)これを見ているのが情報収集かというとわからないけれど、深く知りたいものに対して、作ってる人の考え方を知るっていうのは面白いと思っていますね。
――それぞれのランタイムに、作者の思想が反映されているのが面白いんですね。
そうですね。とはいえNode.jsについては、コアコミッターがたくさんいるので、一人の人がリードしてるわけではないんです。沢山の人がいて、沢山の人がそれぞれの分野をリードしててっていう感じで、追うのが難しくて。
一方、DenoだったらRyan Dahl、BunだったらJarredさんがリーダーとして存在していて、その人達はお互い結構意見をぶつけ合いながら機能拡張などをやっているので、情報を追いやすいという点では、そっちのほうが追いやすいかもしれない。そういう人たちをフォローしてもいいのかもですが、役に立つかと言われると、あんまり立たないかもしれない(笑)。エンタメとしては面白いです、BreakingDown見てるような感じで(笑)
――ほかに注目しているトピックはありますか?
古川: やはりAIエージェントですね。
ぼくのメインタスクはマネジメントだったりするので、マネジメントしながら個人開発をしたりとか、会社のライブラリをメンテナンスしたりとかしているんですが、最近だとAIにかなり任せています。
会議してる間にAIエージェントの手によって作業が終わってるので(笑)これはもうなかなか不可逆な環境ですね。最近はずっとこんな感じで仕事をやっていて、AIの進化は止められない所まで来たんじゃないかなと感じています。AIエージェントがエンジニアの領域をかなり侵食してきているのは間違いないなと思います。
古川さんをTechFeed上でフォローしよう!
古川陽介さん(Japan Node.js Association代表理事)
これから学び始める方へのメッセージ
―― 最後に、これから学び始める方へのメッセージをお願いします。
古川: 僕も最初からフロントエンドに詳しかったかっていうと、全くそんなことはありません。
大事なのはまず発信するということ。 発信に関しては、ブログを書くとか、プレゼンテーションをするとか、何でも構いません。何よりもまず発信して、フィードバックをもらうことが大切です。
次に、「とにかく作ってみる」ということ。 その時に、ちゃんと非機能要件にこだわって作ったりすると、アプリ開発全般についての知識が深まりますし、将来的に大きく差がついてくるところだと思います。
最後に、最も重要なのは、楽しむことです。 どうしても開発って時間がかかるものなので、途中で飽きてしまうこともあるでしょう。でも今では、AIツールのおかげで、作って発信するハードルは下がってると思うので、使えるものはどんどん利用して、ぜひ「作り切る」ことにチャレンジしてください。
そして、もし気が向いたら、JSConfやNode学園など、発表の場も用意していますので、是非活用してください。
―― 本日は貴重なお時間をいただき、ありがとうございました。
フロントエンド技術の最先端情報を知りたい方は以下のTechFeedチャンネルをフォローしよう!