何かを表現しようとするとき、私たちは自分の知識レベルに制約される。知識レベルが低いと問題が生じる——表現が正確でなくなる。だが、曖昧にぼかしておけば「間違い」にはならない。多くの人はこの手でミスを回避しているのだ。知識レベルが高いのも問題だ——あちこち専門用語だらけで、素人には通じない。関連する知識が読者の頭の中にあるとは限らないから、普通の人には読みにくい表現になる。
すべての表現には、読者がいる。どんなに簡単な文章でも、読者が文字を読み、基礎的な読解力を持っていることが前提になる。言葉を覚えたばかりの子どもに通じるのは、絵本の表現だけだ。では、私たちの文章の読者は誰なのか。技術記事は、作者よりレベルの高い人に向けて書くものなのだろうか。
知乎
今日、知乎をぶらぶら見ていたら、こんな質問を見つけた:子どもに勉強を教えると、なぜすぐイライラしてしまうのか? - 知乎。
だって、あなたの話はいつもハイパーリンクだらけだからだよ。頭の中にライブラリがあって、情報はすべてそこから呼び出している。でも子どもにはそのライブラリがない。いくらハイパーリンクを送りつけても、ぜんぶ呼び出しに失敗する。どんなに説明しても、子どもの耳に届くのは「404 not found」ばかり。
文字や言葉そのものが、一種のハイパーリンクだ。少なくとも、読者が言葉の意味を理解できていることが前提になる。たとえばハイパーリンクという言葉は、それほど一般的ではない。しかし、ここでハイパーリンクの詳しい説明を長々と挿入するわけにもいかない。つまり、この記事は最低限のネットサーフィン経験を備えた読者を想定している。私たちにとって当たり前の言葉を、いちいち詳しく説明する必要はないのだ。
読者が記事を半分まで読んで「分からない」と思ったり、半分まで読んで「くどくて意味がない」と思ったりしないように、書き始める前に、読者がどんな知識を持っているのかを見極めておく必要がある。
私の文章
いま振り返ると、私の技術ブログはたいてい、読者がその技術分野の初心者であることを前提にしていた。ほとんどの記事は手取り足取りのチュートリアルで、一歩一歩クリックしていけば、必ず想定どおりの結果が現れる。方法論を持たない頃から、私は無意識のうちに読者のレベルを重視していたのだ。誇らしい(‾◡◝)
それでも、もう少し踏み込んだ記事では、読者に[^筑根]レベルの実力を求めることがある。読者が持っていない前提知識を大量に必要とするのに、その説明はどこにもなく、読者はあちこちの断片的な資料を探し回ることになる。
傲慢と怠惰
本の文章は紙幅に制約される。一冊の本が集中的に扱えるのはたいてい一つの問題だけだし、前提となる技術はどれも軽く流される。
私は、良い記事とは「一つの記事で完結する解決策」だと思っている。問題が「熟練工レベル」ならば、入門前〜熟練工レベルの読者全員が、その一つの記事で解決できるようになるべきだ。
記事がソフトウェアとして提供されるおかげで、一つの記事は全体の流れを説明することに集中でき、前提知識や細部はハイパーリンクという形で段落の中に差し込める。
そういう良い記事を書くのは時間も手間もかかるうえ、たいした見返りもない。だから私も、それを厳密な基準として自分に課すことはできない。
とはいえ、そうした究極の基準自体は間違っていないと思う。やらないのは、コメントを書かないコードを書くのと同じだ。もしコードを読む人が何の苦もなく簡単に読めたとしたら、その読者のレベルは書き手よりずっと上だということになる。
技術ライティングでは、「詩のようだ」というのは良い評価だとは思わない。詩は簡潔で力強い「文化のハイパーリンク」だ。詩の解釈は人によって千差万別であり、詩が内包する意味は豊かで複雑だ。しかし技術に対して私が求めるのは、できる限り正確な記述だ。無数の正確な部品を組み合わせて、できる限り正確な技術システムを組み上げる。できれば、論争や頭を抱えさせるような副作用がないのが望ましい。
自己決定理論(SDT)
無償で記事を公開している作者は、読者がそこから何かを学んでくれることを常に望んでいるはずだ。マウントを取るために文章を書くような、そこまで歪んだ人はいないだろう。読者の視点に立てば、自己決定理論(SDT) は、科学的に文章を書くうえで助けになるかもしれない。
一つの記事を前にしたとき、読者の主体性はどこにあるのか。自己決定理論は、あらゆる行動の主体性の根源を、1. 有能感(Competence) 2. 関係性(Relatedness) 3. 自律性(Autonomy) の三つにまとめている。そこで、ブログを読むという行為について、次のようなまだ議論を経ていない論点を提示してみたい。
有能感とは、ある行動に対して技能や効力を発揮できるという自信を感じることだ。関係性とは、集団に認められ、気にかけられていると感じる度合いのことだ。自律性とは、行動や決定における自由度を感じることだ。
ブログを読むという行為については、自律性はもうマックスだ。いまどき個人ブログの露出度を考えれば、この時代にまだ個人ブログをやっているのは、小さな界隈のブログ仲間だけだろう。だから関係性のほうも気にする必要はない。この記事の「くどい」書き方のテクニックは、読者の有能感を高めることに狙いを定めたものだと言える。
愚直な書き方
実際のエンジニアリングの現場では、私たちはしばしば技術的な「近道」を選んで、技術負債を積み重ねる。一方、「愚直な書き方」は、エンジニアリングからいったん距離を取らせ、技術そのものだけに目を向けさせ、より多くの細部に気づかせてくれる。そして書き手にとっては、「技術負債」をある程度解消してくれる存在でもある。