見出し画像

プログラマが本業の傍らで1年に4冊出版するためにやった3つの工夫

これは エンジニアの登壇を応援する会 Advent Calendar 2018の6日目のエントリーです。

昨日(5日目)はzucky_zakizakiさんでした。

はじめに

私はフリーランスとしてプログラミングを行う一方で、書籍や記事の執筆やセミナーなどを行っています。つまり、専業で本を書くようなライターではありません。
他の仕事をしながら書籍を執筆するのはなかなか大変な作業です。一冊を書くだけでも、文章を書くだけでなく、図を作成する必要もあります。書籍の形になってくると校正も必要ですし、書き上げた後の販促も大切です。
実際、これまでは年に2冊を目標に書いてきましたが、今年(2018年)は合計4冊を出版しました。(うち1冊は同人誌の薄い本なので、それほど大きな負担はありませんでしたが…)

今年出版した本

2018年2月19日発売
「もっとプログラマ脳を鍛える数学パズル」(翔泳社)

2018年9月21日発売
「図解まるわかりセキュリティのしくみ」(翔泳社)

2018年10月8日発売
「技術書を書く人のための得する制度、損する行動」(同人誌)

2018年10月26日発売
「プログラマのためのディープラーニングのしくみがわかる数学入門」(ソシム)

執筆のスケジュール

上記の発売日を見ていただくと、最初の本以外は9月と10月に集中していることがわかります。つまり、一冊を書き終えて次の本に取り掛かっているわけではなく、同時並行で作業が進んでいます。
実際、後半の3冊は同時に執筆しながら校正も行う、という状況になっています。このため、どうやって執筆の時間を捻出するのか、という問題があります。そこで、この間にどのような工夫を行ったのか、その方法について書きたいと思います。

1.空き時間を活用する

「時間を作る」と考えたとき、すぐに思いつくのが空き時間です。電車での移動、打ち合わせの合間の待ち時間など、細切れだったりノートパソコンが開けなかったり、という時間が発生します。この時間を活用するために、スマートフォンやタブレット端末での執筆環境を試しました。
一つはメモアプリやメールです。思いついたことを書き留めるにはメモアプリで十分で、少し書いてはメールで自分宛てに送る、という作業をしていました。
ただ、この方法ではパソコンで作業していた内容を引き継ぐことができません。もちろん、メモアプリで書いた内容をパソコンに同期することはできるのですが、普段の執筆にメモアプリは使っていないため、毎回本文の適切な場所に取り込むという手作業が発生します。

次に試したのは「Dropbox Paper」です。WebブラウザでMarkdownを使って書くこともできますし、スマートフォンアプリも存在します。Word形式で出力することもできるため、電車などでの移動中はよく使っていました。原稿をすべてDropbox Paperで管理しておけば、途中からでも書き進められます。

同じような意図で使ったのが、GoogleドキュメントやWordです。いずれもスマートフォンアプリがあり、移動中でも簡単に書けます。Wordアプリはスマートフォンアプリでは互換性に不安がありますが、文章を書くだけであれば問題はなく、よく使っていました。

ただ、結果的にはMarkdownで手軽に書けることから、Dropbox Paperを多く使いました。

2.タスクを管理する

普段から同時に10〜20くらいの案件を同時に進めていて、複数のタスク管理には慣れていることもあり、書籍の執筆が複数になっても特にタスク管理で変えたことはありません。
ただ、タスク管理ツールは色々試した結果、現在は基本的にChatworkとiPhoneの「リマインダー」に落ち着いています。

相手もChatworkを使っている場合にはタスクを依頼できたり、チャットの内容からタスクを作成できたり、といった機能が便利で、Chatworkを使っています。「一人チャット」で思いついたことをスマートフォンアプリから投稿しておき、そこからタスクに変更する、といった使い方もできます。

また、リマインダーでは「指定場所での通知」をよく使っています。移動したときにやりたいこととして、行き先の駅などを登録しておくと、その駅に着いたときに通知してくれるため、やるべきことを忘れなくて済みます。このように、覚えておくべきことをできるだけ減らしてツールに任せ、執筆に集中できる環境を作りました。

3.校正を楽にする

自分では正しい文章を書いていると思っていても、書籍として発行するには日本語としておかしい部分を修正する必要があります。全部書き終えてから確認しながら修正してもいいのですが、早めに修正しておけるとあとで楽になります。
これまでは主にWordの校正ツールを使っていたのですが、Markdownなどで書く場合にはリアルタイムに確認することはできません。そこで、textlintを使うようにしました。

Visual Studio Code(VSCode)などのエディタを使うと、拡張機能でtextlintを導入できます。これと技術文書向けのルールプリセットである「textlint-rule-preset-ja-technical-writing」を使うだけで、リアルタイムに日本語の誤りなどを確認でき、すぐに修正できるようになりました。

実際には、このtextlintとWordの校正ツールを組み合わせることで、日本語としての誤りを極力減らすことを意識していました。

まとめ

アウトプットを続けるために、どうやって時間を捻出するか、というのは多くの人に共通する課題かもしれません。特にフリーランスとして働いていると、ブログやLTなどに時間を確保するよりも、売上に繋がる仕事を優先せざるを得ない場合もあります。
できるだけ普段の仕事を続けつつ、効率よく文章を書くためにツールを活用し、時間を確保することを今後も意識していきたいと思います。もし「時間がなくてアウトプットできない」という方がいれば、まずは執筆に便利なツールを探してみるのも良いかもしれません。

エンジニアの登壇を応援する会 Advent Calendar 2018の明日7日目はrs_tukkiさんです。

その他、私が書いた本は以下をご覧ください。


この記事が気に入ったらサポートをしてみませんか?