文章の書き方を解説するための記事
はじめに
今回の記事では文章を書く方法を解説する。本記事ではエンジニアを対象としているものの、文章を書く能力はどの業界でも応用できる。単に「文章を書く」だけでは多義的な解釈ができるので、今回の記事では主に「論理的な文章を書く」能力に焦点を当てて解説する。
対象とする読者
- エンジニアリングに携わっている人全員
- これから技術記事を書こうと思っているエンジニア
「文章を書く能力」が必要不可欠な理由
エンジニアリングの現場では文章を書く能力が必要不可欠だ。その理由として、以下のようなことが考えられる。
- ドキュメント化の重要さ:ソフトウェア開発のプロジェクトでは、設計から実装、テストに至るまでの各段階でドキュメントが必要となる。このドキュメントが明瞭に書かれていると、他のエンジニアやプロジェクトの関係者が情報を正確に把握しやすくなる。
- コミュニケーション:チーム内でのコミュニケーションや、他の部門、顧客、ステークホルダーとのコミュニケーションにおいて、明確かつ効果的に文章を書く能力は必要不可欠である。
- 問題の共有:ソフトウェア開発では複雑な問題に遭遇することは少なくない。その問題を説明したり、解決策を検討したりするために必要不可欠になる。
- 新人や他メンバーに対する教育:新人エンジニアや他のメンバーに対するトレーニング資料やガイドを作る上で文章を書く能力が求められる。
- 技術記事の執筆:エンジニアとしての知識や経験を共有するためのブログや技術記事を執筆するうえで必要不可欠だ。
押さえておくべき原則
文章を書く上で一番重要なことは「読み手の負担を減らすこと」である。これだけ言ってもわからないと思うので、より解像度を上げて説明する。
「読ませない文章」を書く
エンジニアリングのための文章は「内容が正確に伝わること」と「内容が論理的であること」の2つが求められる。エンジニアリングにおける文章の主な例として、プロジェクトの設計書や議事録が列挙される。これらの文章の主な目的は「情報を伝達すること」だ。小説やエッセイのように、内容を味わうために書かれているわけではない。そこで、読み手に負担をかけない文章を書くことが求められる。
不要な情報を読ませない文章を書く
それでは、「読ませない文章」は一体どのような文章を指すのだろうか?それは、一読するだけで簡単に重要な情報が理解できる文章のことだ。どんなに有益な文章だろうが、その文章の中には必要なものとそうではないものが混合している。必要な情報は読み手次第で変わるからだ。例えば、1~2年目のエンジニアと10年目のエンジニアでは同じ文章でも必要な情報が異なる。
そこで、不要な情報を読ませないテクニックが必要だ。同様に、必要な情報を読ませるテクニックが必要なことは言うまでもない。読み手が文章中のどの情報を必要としたとしても、その必要な情報だけを読めるようにしておけば読み手の負担を減らせる。端から端まで全部読まなくても、大事な情報がわかるような文章であれば読み手の負担を減らせるだろう。
30秒で理解できるような文章を書く
倉島保美著『書く技術・伝える技術』には、以下のことが書かれている。
管理職は、文章を読み始めて30秒で、その文章に対する行動を決めます。したがって、重要な情報が30秒で、しかも一度読んだだけで伝わるように書かなければなりません。管理職にとって必要な情報とは、誰にどのようなアクションを取らせればよいのかを判断するのに必要な情報です。
上述の引用文では、管理職にとって必要な情報を知らせるうえで鍵となる文章の考え方について解説されている。この考え方はエンジニアリングにも応用できる。例えば、実務でソフトウェアの設計書を書くときに、「使う技術の内容」「ソフトウェアのアーキテクチャ図」「実装してほしい箇所」等を明記する場合を考える。エンジニアはソフトウェアの設計書を基に様々な技術を駆使して実装していく。30秒という短時間で必要な情報を読み取れることは文章を書く上では非常に重要な要素だと言えよう。
読み手のメンタルモデルに配慮する
メンタルモデルは認知心理学の概念で、人が脳裏に作る自分なりの理解の世界だ。理解しやすい文章を書くには、読み手にこのメンタルモデルをできるだけ具体的に作らせ、そのモデルを壊さぬように文章を展開する必要がある。
人はメンタルモデルを作ることで、入力情報をできるだけ速く処理しようとする。情報が入力されると、その入力された情報を自分なりに解釈してメンタルモデルを作る。
例えば、文章の中で「1つ目のポイントは、」と書かれている文を読めば、人は次のようなことを予測しながら情報を処理しようとする。
- 「1つ目のポイントは、」の直後に文章の1つ目の要点が説明されること
- 「1つ目のポイントは、」の箇所を説明した後に、「2つ目のポイントは、」というキーワードとともに2つ目のポイントが説明されること
読み手はこの2つの予想をしながら、関連する情報を活性化し文章を読み進める。予想通りに、直後に1つ目の要点が説明され、その後に「2つ目のポイントは、」というキーワードとともに2つ目の要点が説明されると、読み手はこれらの情報を高速で処理できるのだ。
テクニック
本章では、文章を書く上で必要なスキル「パラグラフ・ライティング」を解説する。パラグラフ・ライティングとは、一つのパラグラフ(段落)で一つの主張を説明し、複数のパラグラフを論理的に展開する書き方を意味する。
本章ではパラグラフ・ライティングで重要なポイントを3点に絞って解説する。
(1) 各パラグラフで扱う話題は一つに絞る
1つ目のポイントは、「各パラグラフで扱う話題は一つに絞る」ことだ。
一つのパラグラフに違う話題の文章を混ぜてはならない。先頭文と違う話題を持ってくるなら、そこでパラグラフを分けよう。あるいは、そのパラグラフに含まれているすべての話題の要約になるように先頭の文章を改善しよう。
(2) パラグラフの要約文をパラグラフの先頭に置く
2つ目のポイントは、「パラグラフの要約文をパラグラフの先頭に置く」ことだ。
パラグラフの要約に当てはまる一文をパラグラフの先頭に置こう。一文でパラグラフの内容を要約できなければ、複数の話題が混同している可能性が高い。その時はパラグラフを分けることを検討すべきだ。
2つ目のポイントを実践する上での利点は、主に以下のようなことが考えられる。
- 読むべきかどうかを瞬時に判断できること
- メンタルモデルを作ってから読めるので、一読で理解できること
- 根拠を確認しながら読めること
- 話題が逸脱しづらいので、論理的に構成できること
特に1.に関連して述べると、読み手にとっては、なるべく文章を読まずに必要な情報を入手できるという最大の利点がある。読み手が重要な情報かどうかを判断できるようにするためにも、冒頭にパラグラフの要約文を設けることは一番大事だ。
(3) 話題に関連する内容だけをパラグラフの中に入れる
(2)で言及した、要約文だけでも話のあらすじを理解させることはできる。ところが、それだけでは意味が曖昧で、根拠に欠けるものになりかねない。そのため、要約文の言い換え、具体例や根拠などそれぞれの話題をサポートする役割を担う文章を要約文の後に続けて書こう。
要は、要約文とはまったく関係しない文をそのパラグラフに置いてはならない、ということになる。
細かいテクニック
前章ではパラグラフ・ライティングの説明をした。本章では、一文の書き方に焦点を当てたテクニックを簡潔に解説する。
「→」「箇条書き」を多用しない
これは本記事で解説するテクニックの中で最も強調しておきたいポイントだ。わかりやすい文章を書くには「→」「箇条書き」を多用しないことが一番大事である。
その最大の理由は、文章の因果関係や論理関係が分かりづらい点だ。誤解のないように説明しておくと、「→」や「箇条書き」は文章をわかりやすくするためのテクニックとしては有用だ。ところが、むやみに使うと読み手が混乱する。
1) プログラミングを学ぶ → Java
2) プログラミングを学ぶ → 挫折する
上述の例を踏まえて考えよう。「→」の場合、1)
のように関連しないものを繋ぐと分かりづらい文章になる。「→」を使う場合は、「行為の原因」と「その結果」をつなぐためだけに使うことを推奨する。
箇条書きを使う際には、以下のように並列のトピックを扱うときに使おう。言い換えれば、箇条書きは一つのトピックに関連する情報を複数並べるときに使うべきだ。
▼箇条書きの使い方
■カレーの材料
- にんにく
- たまねぎ
- にんじん
- 豚肉
逆に、以下のように思考停止で箇条書きで文章をまとめるとかえって文章が分かりづらくなるのでやめるべきである。
- ログイン機能を実装できない
- 実装できない理由がわからない
- ユーザ名とパスワードを入力して送信するフォームを作りたい
箇条書きと「→」は汎用性が非常に高く、つい思考停止で使いがちだ。多用するとかえって文章の質を悪くする。文章は読み手に正確に情報を伝えるために書く。
接続助詞「が」に要注意
接続助詞「が」も、前述の箇条書きや「→」についで汎用性が高い。読みやすい文章を書く上で、「が」の取り扱いには十分に警戒しておく必要がある。「が」は、前後のつながりがない文でもとりあえず接続することが少なくない。
接続助詞「が」には、以下のように「順接」と「逆接」両方の意味で使われる。それ故に混同しやすい。
- 順接:2文を単純につなげる。例:「今日開催されるイベントの件ですが、参加に必要なものはありますか?」
- 逆接:前の文とは反対のことをつなげる。例:「今日開催されるイベントの件ですが、中止されることが決まりました。」
このように、「が」は複数の意味に解釈できる。順接の意味で「が」を多用すると、以下の文章のように論理が破綻したり、一文が冗長になったりして読みづらくなる。
例文1:今日は朝から晴れだが、公園で弁当を食べた。
例文2:今日の件ですが、担当の方が来ないんですが、どうすればいいのでしょうか?
このような理由から、接続助詞「が」は使わないほうが賢明だ。もし「が」を使いたいなら逆接に限定して使うようにするべきである。特に口語的な文章を書く習慣がある人は要注意だ。
一つの文には一つの情報を置く
読みやすい文章を書く上では、一つの文には必ず一つの情報を置こう。接続助詞「て」「り」「し」を使って文をつなげると余計にわかりづらくなる。一つの文には一つの情報を置くことで文章がスッキリする。
【悪い例】
今日は、世界で有名なプログラマーが集まるハッカソンに参加し、
他の参加者と試行錯誤しながら、ゲームのようにチームのタスク管理を効率化するスマホアプリをリリースし、最優秀賞を受賞しました。
【良い例】
今日は、世界で有名なプログラマーが集まるハッカソンに参加しました。
そのハッカソンで、ゲームのようにチームのタスク管理を効率化するスマホアプリをリリースして最優秀賞を受賞しました。
一つの文で一つの情報を置く最大のメリットは、重要な情報を読み手に伝達できることにある。複数の文を「~て、」「~し、」などのように羅列してはならない。これを念頭に文を書けば、シンプルでわかりやすい文章が仕上がる。
抽象的な言葉を使わない
抽象的な言葉を使わないことも読みやすい文章を書く上で重要な原則だ。ここで言う「抽象的」とは、読み手によって複数の意味に解釈できる様子を意味する。例えば、以下の言葉を使うのは差し控えるべきだ。
- 意識する
- 気をつける
- 注意する
- 心理的安全性
- 効率的
- 顧客満足度
- 率先して行動する
- 徹底する
- 頑張る
- 手を動かす
- 考える
- 善処する
- ワーク・ライフ・バランス
上述のような言葉は複数の意味に解釈できる。故に、汎用性が高く便利である。上述のような言葉は読み手を困惑させるので、そのまま使うのはやめるべきだ。
対策としては、具体的な意味に置き換えることが考えられる。例えば、私たちエンジニアが日常会話で汎用的に使う「手を動かす」の場合は以下のように意味を変えられる。
【抽象】
手を動かす
【具体】
- 平日の18~20時の間は、自分の興味ある技術に関する話題を扱った技術記事を書いて投稿する。
- mdn web docsのチュートリアルを参照しながら、○×ゲームのHTMLを作る。
このように抽象的な言葉を具体的な言葉に変換することで、よりわかり易い文章に変換できるだろう。
簡潔に書く
読みやすい文章を書くためには、不要な情報と冗長な表現をカットして簡潔に表現する必要がある。その際、「前提知識」に留意して書こう。読み手がすでに知っている情報をカットすれば複数の文を省けることがある。
【悪い例】
来年の春に向けて、新人エンジニア向けにGraphQLを解説する研修資料を作ることになった。
現在、それに向けて社員がGraphQLの公式ドキュメントを読みながらGraphQLを勉強している。そこで、社員どうしが気軽に編集できるようにFigmaで資料を作ることにした。
【良い例】
来年の春に向けて、新人エンジニア向けにGraphQLを解説する研修資料を作ることになった。
そこで、社員どうしが気軽に編集できるようにFigmaで資料を作ることにした。
余談になるが、文末の冗長な表現をカットすれば文章がより読みやすくなる。例えば、「~ことができる」は「~られる」と表現しよう。
【悪い例】
エラーを解決することができる
【良い例】
エラーを解決できる
おわりに
今回の記事では、主にエンジニアを対象に論理的な文章を書く方法を解説した。大前提ではあるが、文章を書く能力は知的労働において「命」そのものである。私たちエンジニアは知的労働でご飯を食べている以上、文章を書くという行為は決して無くならないのだ。
文章を書く上で一番重要なことは「読み手が求めていることを読み手がわかりやすいように書く」ことである。これさえ最低限守れていれば問題はないだろう。
余談になるが、文章の書き方は学校の授業では習わない。そのため、文章の書き方は自分自身で習得しなければならないという残酷な事実がある。
今回の記事が読者の文章を書く能力を高めるヒントにつながれば幸いである。
余談
エンジニアの文章を書く能力を上げる際に最も効果的な方法は、QiitaやZennにて技術記事を投稿することである。実際に書く経験を積まないと文章を書く能力は向上しない。
参考サイト・文献一覧
参考サイト
参考文献
Discussion