変な大神現象
# 雑談名前は挙げないし、勝手に自分のことだと思い込まないでほしい。
ときどき、コミュニティの大神として崇められている人たちの動画や記事を開いてみると、誤りだらけであることがある。そんなとき、どうにも「変だな」と感じてしまう。変なのは、なぜ大神の座にいるのがそういう人たちばかりなのかということだ。一方で、みんな細部を見ずに、その人が神壇の上にいるかどうかしか見ていないのではないかとも思う。この人は神壇に置いてある、じゃあ、よし先に拝んでおこう、みたいな話だ。
ここで強調しておきたいのは、この文章で問題にしているのは「内容が誤りだらけ」であることであって、単に内容が簡単だという話ではないということだ。人によっては初心者向けの入門講座に力を入れているだけかもしれない。内容は簡単でも、初心者がわかりやすく、痛みなく入門できるならそれは良いことだし、コミュニティはむしろそういうことをもっと積極的に褒めるべきだと僕は思う。僕は、受講料が必要な講座そのものを否定しない。オープンソースのプロジェクトが投げ銭を受け取るのと同じで、オープンソースだからといって当然無料であるべきだ、というわけではない。
経験のあるエンジニアは、そんな人たちをわざわざ見に行ったりはしないだろう。では、入門したばかりの初心者はどうだろう。うまく丸め込まれて、最後には一見充実していそうな講座を買わされ、実際にはよくわからない冤罪的な出費をすることになる。もちろんその中には「本当に実力のある」技術者もいる。だが、割合としてはどれくらいあるのか。
これは僕自身、かなり感慨深く思っていることだ。ソフトウェアコミュニティ、少なくともWebの世界では、技術レベルに対する要求が、僕たちが想像しているよりずっと低いように見える。
とはいえ、コミュニティ活動は技術至上主義だけではもともと食えないことも多い。人格的な魅力やマーケティング手法のほうが強いことはいくらでもある。今日「フロントエンドを2〜3年極めた」講座が出たとして、誰が買うんだ、冗談だろ、2〜3年だぞ。できるなら1か月、1週間、できれば3日以内に効果が出てほしい。そんな、速さばかり求めて精度を求めない風潮のなかでは、当然ながら「x週間で前後端や某フレームワークまで全部わかる」といった講座が一番儲かる。みんなそういうものにお金を払うのが好きなのだ。
しばらく前はこういう現象に少し感慨を抱いていたのだが、推しのツイ友から指摘を受けて、どうやら少し腑に落ちた。もしみんなが技術至上主義のようなハードコア路線を好むのなら、論文を書いたほうが大儲けできるはずだ。実際はそういうことだ。技術があっても、次に必要なのはマーケティングで、マーケティングがなければ何者でもない。両手を広げて、あとは他人に市場を分け与えるしかないのだ。
最近、僕は原理を解説することに特化した YouTube チャンネルをいくつか Follow している。再生数はかなり低めで、派手な字幕演出が飛び交うわけでもなく、栄養のない精神論を振りまくわけでもない。ただ真面目に原理や概念を説明し、紙とペンで図を描いて見せてくれる。意外なことに、こういう YouTuber たちにもちゃんと市場があるのだとわかったし、コメント欄に来る人たちもすでに専門性を備えた視聴者ばかりだ。
その後で僕は気づいた。こういう技術への純粋な情熱は光るのだ。人を引きつけるのだ。引きつける相手は大衆ではないかもしれない。だが、もしかすると君と同じようにプログラミングが好きで、ある技術が好きな層を引き寄せるのかもしれない。
マーケティングは、経験と専門性の積み重ねが必要なものを、突然一足飛びにしてくれるわけではない。3日間だけ飛行訓練を受けたパイロットが操縦する飛行機に乗るか? 3日だけ料理を学んだ料理人が作った料理を食べるか? 同じ理屈で、数か月の講習だけ受けたフロントエンドやバックエンド開発者が作ったウェブサイトを使うか?
プログラミング、飛行機の操縦、料理、楽器の演奏――一定の水準に達するには、もともと経験の蓄積が必要だ。でなければ、表に出ているエンジニアたちは全員が適当にやっていることになるのか? 中には適当にやっている者もいるかもしれない。だが、大半の過程はきっと、称賛に値する血と涙の物語なのだろう。それなのに君は、近道をして同じ結果だけを手に入れようとしている。
「口で言うのは簡単だ。じゃあお前がやってみろよ」
うん、最近は資源や記事、動画を少しずつ公開しながら、自分が理想とする形に近づけようと試している。みんなの技術への熱意は、やはり続いていってほしい。
僕は、どんな「大神」も責めたいわけではない。みんな共有したいという気持ちで動いているのだろうし、ただ技術そのものの質は、もしかするとまださらに向上できる余地があるのではないかと思っているだけだ。
僕自身の目標と立ち位置もはっきりしている。初心者向けの内容は明らかに僕には向いていない。僕は、変数とは何か、JavaScriptとは何かを、初心者にとって十分わかりやすい形で説明することができない。僕ができるのは、コンパイルや文法についてハードコアな概念で語ることだけだ。受け手はかなり偏るかもしれないが、少なくともそれが僕の見たい技術コミュニティなのだ。
後記
— 愷開 / Kalan (@kalanyei) October 31, 2020
- この記事をTwitter上で気持ちの吐露として投稿したあと、思いがけずいくつか反響があった。そこに寄せられたコメントの一部は、僕の考えを改めて見直すきっかけになった
- zonble は、「共有に誤りがあってはならないのなら、誰も共有なんてできなくなる」と प्रतिक्रियाした。← 僕はこの考えに強く同意するし、共有に完璧さは必要ないとも思う。
ただ同時に、共有されたものに対しては、嫌味なやり方ではなく、きちんと指摘してくれる人がいてほしい。さらに言えば、誰か大物の考えだからといって、すぐに先入観で「正しい」と決めつけるべきでもない。疑問を呈した人に対して、物量で攻撃するようなやり方もある - 技術界隈を飛び出して、自分の考えを大衆に広めたいなら、マーケティングは必要だ。嘘や大げさな表現でない限り、むしろ推奨されるべきだ
- 「ハードコア派の概念でxxxを語るしかない」とは、僕が比喩を使って何かを説明するのがかなり苦手だという意味だ。たとえば「変数はタイヤみたいなものだ」といった比喩は、僕にはまったくイメージできない。だが初心者にとっては、適切な比喩が理解の助けになることもある
回してくれたみんなに感謝だ。Twitter万歳