Marginalia

「どうしてAngularは流行らないのか」と言われて思うこと

最近に限らず、ここ数年ずっと目にするし、聞かれることもあるこの話について、いくつかの思うこと、ぼやきを書いておく。あとで参照できて便利なので。

1. あなたが使い始めれば少なくとも昨日よりは広まりますよ

好きなら使えばいいと思うので僕には気持ちがわからないのだが、好き・気になるけど流行ってないから使わないという心理があるらしい。企業での判断ならわかるが、個人でそれはまったくわからん。仮にそれがマジョリティだとしたら、使われなければ流行らないのに流行らないと使われない、デッドロックで詰みです。

あなたが使ってみてそのことを発信すれば、少なくとも昨日より世界で一人分は使用者が増えます。その積み重ねでしか普及しません。ですので、流行って欲しいと思うならまず自分から使って周りに広めてください。

2. そもそも「流行っている」とは?

僕が思うに、「流行っている」ということと「広く普及している」ということの間には差がある。Angularが「流行っている」かといえば、日本でも世界でも「流行っている」とは言えないように思う。一方、少なくとも世界ではAngularが広く普及しているのは間違いない。

GitHubが毎年出しているOctoverseというレポートでは、2018年にはその年に増えたコントリビューターの数が多いレポジトリの上位10件に2つもランクインしており、

2020年にはレポジトリにつけられたトピックの3位にangular9がランクインしており、

Angularのnpmパッケージは週に300万回以上ダウンロードされており、

USのIndeedで求人を検索すれば9000件以上ヒットする。これが「広く普及している」と言えないなら世の中の大抵のOSSは普及していないんじゃなかろうか。それでも世界にはたくさんOSSがあるし、それぞれが使われている場所でそれぞれの価値を発揮しつづけており、それぞれのOSSに根強いファンがいる。断言するが、「流行って」いなくともそんなことでOSSは死なない。死ぬとしたら、流行り物好きの頭の中でだけだ。ただし仮に流行り物好きがマジョリティだとしたら(以下略)

3. Google Japanに職がないんだよな

これはよく知られていることだとは思うのだけど、Googleが自社発の言語やフレームワークなどをオープンソースにするのは、Googleに入社する前からGoogleの社内技術に精通しておいてもらえば求人しやすいという戦略があり、Angularもそういう目的でオープンソース化されている側面は大きい。Googleに数百のAngularプロジェクトがあり、一般向けに提供されているものでいえばGoogle CloudのWebコンソールだったり、Google Analyticsの画面だったり、最近だとBardもAngularで作られている。アプリケーションがあるということは開発者がいるわけで、当然Google社内にはたくさんのAngularアプリ開発者が働いている。

最近Angularのコースがオープンした Sololearn という海外のプログラミング学習サービスでは露骨にその点がプッシュされており、Angularを学ぶことでGoogleで働くチャンスが近づくという触れ込みだ。このコンテンツはGoogleのAngularチームも公認である。

ところがどっこい、この事情はGoogle Japanにはほとんど関係しない。Google JapanにはAngularを担当にするDevRelの方はいないし、個人的に興味を持っている方はいても、仕事でAngularを使っている方はGoogle Japanにいないのではなかろうか(いらっしゃったらむしろ話をしたい)。

というわけで、Angularを学べばGoogleで働くチャンスに近づくという図式は、日本でまったく成り立たず、これは英語圏と日本語圏のAngularを取り巻く空気の違いを生んでいる要素としてそれなりに大きいと考えている。

Angularは海外でも比較的大きな会社での採用事例が多く、カンファレンスなどで紹介されたことのある有名なところでは航空会社系(デルタ航空、ユナイテッドエアラインなど)、金融系(シティバンク、ドイツ銀行、Capital Oneなど)がある。他にも求人情報を見るとCiscoやゴールドマン・サックス、USの官公庁などでも使われている。ClickUpのようなスタートアップもあるが、割合で言えば少数派だ。

日本でも最近はいくつかの銀行でAngularが採用されている事例を耳にするが、そもそもそういったいわゆる堅めな会社からの技術的な発信はレアなので、使われているはずなのに姿が見えないという状況になっているのもある。

そういった意味で、キャリアプランとしてGoogleという巨大なテックカンパニーを目指そうとしたときに、Angularというスキルが活きる地域とそうでない地域というのは、醸成される空気に違いが出るのもやむを得ないのではなかろうかと考えているが、これは僕にはどうしようもない。

4. 結局、僕は流行らせたいとは思ってないんだよね

僕はAngularというオープンソースプロジェクトを愛するファンでありエキスパートであるけども、あくまでもユーザーあるいはコントリビューターであって、別に広報担当ではないので流行らせるのが仕事ではないし、実のところ流行ってほしいとは特に思っていない。それよりも、Angularを使うことを選んだ開発者やそのチームがもっとうまくAngularの価値を引き出せるように支援して、Angularのファンで良かったと思えるようにすることと、Angularを開発しているメンテナたちに日本でも使われているという発信をすることで、より多様なユーザー・ユースケースをサポートするプロジェクトに育てる手助けをするのが、僕のやりたいことである。

念のためだが、だからといってAngularを流行らせようとする人を否定することはないので、流行らせたい人は流行らせるべく頑張ってほしいし、いちファンとして応援したい。おのおのが、自分の愛のために思うことを頑張ればよいのだ。