愚痴。
最近特定の技術やライブラリ、ツールなどに対して、「自分には合わなかった」のような発言をする人をよく見かける。
ちょっと前だと「○○はクソ」のような直接的なdisが目立っていた気がするので、少しは丸くなったつもりなのかもしれないが、 Angularというひとつの技術のユーザーコミュニティを主催する僕としては余計に迷惑だ。
もっと慎重になれ
AirbnbがReact Nativeを使うのをやめた記事、これは本当に偉い。 技術選定を行い、結果的にマッチしなかった、というレポートには、最低限次の項目が必要だと考えている。
- 開発の目的
- 選定理由
- マッチしなかった理由
このどれが欠けてもいけない。単に言葉遣いが柔らかいだけでdisと変わりないどころか、下手するとFUDにすらなり得る。
FUD(英: Fear, Uncertainty and Doubt、直訳すると「恐怖、不安、疑念」)は、販売、マーケティング、パブリック・リレーションズ[1][2]、政治、プロパガンダで使われる修辞および誤謬の戦術の一種。FUDとは一般に、大衆が信じていることに反するような情報を広めることで、大衆の認識に影響を与えようとする戦略的試みである。例えば、個々の企業が競合他社の製品について悪い印象と憶測を与えるためにFUDを利用する。すなわち、他社製品に乗り換えるにはコストが掛かりすぎると思わせたり、潜在的ライバルでもあるビジネスパートナーに対して影響力を保持しようとしたりする場合である。FUDの技法は粗野で単純な場合もあるし、間接的な手法を使った巧妙なものである場合もある。
多かれ少なかれ、自分の意見を発信する人は、Airbnbがなぜあれほど慎重な記事をかいたのか、どれだけReact Nativeへの風評被害を抑え、コミュニティとエコシステムを傷つけないよう努力したのか、そういう部分を感じ取らないといけない。
練度の低い、まだ自分で情報を取捨選択するアンテナとフィルタが未成熟な開発者にとっては、海の向こうのコミッターよりも、勉強会で会える日本の開発者のほうが身近で、信頼できるのだ。 彼らは正しいことよりも自分に理解できることを望む。不安な状態では、身近で「強そう」な人が言ってることを鵜呑みにする。これはしょうがない。まだ訓練されてないのだから。
そうしたとき、技術がマッチしなかったことを曖昧に、適当に報告するのは非常に危険である。 「○○を使っていましたが結果的にマッチしなかったので□□にしました」という発言から彼らが得る情報は、「△△さん的には、〇〇より□□がいいらしい」という雑な理解だけである。 そういう理解にならないように、Airbnbはとにかく慎重に、ユースケースそのものの説明から熱心に行い、そのユースケースとReact Nativeが合っていなかった理由を説明している。 人と技術のマッチングではなく、ユースケースと技術のマッチングになるように努力している。
ただし単に「ユースケースが合ってなかったので」と付け加えても意味はない。そのユースケースそのもの、目的の情報が一番大事なのだ。 そこが自分と重なる部分があるかどうか、重なるならどれくらい重なっていて、マッチしなかった理由はその共通項なのか、自分たちには採用できるかもしれないのか、そういうことを考えられる材料を与える必要がある。 そうじゃないと、「△△さん的には、〇〇より□□がいいらしい」から抜け出せない。そういうカリスマ性で市場価値を持ちたい人なら、それは戦略のひとつではあるかもしれないが。
いわばこれは退職エントリと似たようなものなのだ。退職理由が曖昧にかかれていれば誰だって邪推する。何か問題がある会社なんじゃないかと疑われる。 だから慎重に、前職を褒めながら、立つ鳥跡を濁さないようにするのだ。
「強そう」とみられる人間は、多かれ少なかれ自覚があるはずだし、僕自身もそうだと思っている。実際強いかどうかは別として。 そういう立場にあることの意味と、責任を考えてほしい。これも一つの技術者倫理であると思う。 曖昧な情報で初学者を惑わせるくらいなら最初から発信しないでほしい。話すならしっかりディティールまで。 どんな技術も競争・コラボレート・発散・収束しながら、共に世界のパラダイムを進めていく隣人なのだから、隣人へのリスペクトを忘れずにいてほしい。