「いきなりプログラミングPython」出版!著者による書籍制作のまとめ

  • このエントリーをはてなブックマークに追加

 WATLABブログからついに「いきなりプログラミングPython」という書籍が出版されました!この記事では著者watによる書籍制作のきっかけ、流れ、感想をつらつらとまとめておきます。貴重な「自分の本を出す」という体験を文章で伝えます。

こんにちは。wat(@watlablog)です。今回は著書の発売を記念したコラム記事です!

この記事の目的

 この記事は「いきなりプログラミングPython」の著者であるwatが実体験を基に、書籍執筆に至ったきっかけや執筆の概要を読者に伝える目的で書いています。きっと本を出したい人は他にもたくさんいるはずなので、一体どんな経緯で本を出すに至ったかというところが伝われば良いなと思います。ちょっと冗長な語り口になるかも知れませんが、興味のある人は是非読んでみてください。

Advertisements

 ちなみに「いきなりプログラミングPython」はお近くの書店か、翔泳社のページから購入が可能です。
いきなりプログラミングPython(翔泳社)

書籍執筆のきっかけ

 まずは書籍執筆に至ったきっかけについて話しましょう。

ブログ

 2019年からPythonをメインコンテンツとしたWATLABブログの運営を開始しました。ブログを立ち上げた理由は、プログラミングに興味があったのと、会社に特化した知識だけではなくもっと汎用的に使える技術を学びたかったからです。普段仕事で使っている信号処理やシミュレーションは、自分で一からプログラミングすることが理解の近道となります。Pythonはその目的で使用するには最適で、あまりプログラミング特有の挫折ポイントが少ない(ポインタや配列処理とか)印象でした。

 書籍執筆の話を受けたのは運営開始から約4年半、300記事ほど書いていた時期だったと思います。この時点でブログやTwitter(今はX)を見てくれていた人と知り合いになったりしていました。ブログ開始人とのつながりができてきたというのが書籍執筆につながります。

5年間で300記事以上もブログを書き続けられたのは、単純にPythonで色々なことができるようになるのが楽しかったからというのが大きいです!

 ちなみにブログ運営開始から1年の記録は次の記事で紹介しています。

Pythonイベントへの参加

 人とのつながりができてきた段階で、世の中には色々なコミュニティがあることを知ります。興味本位でPython系のイベントに参加するようになったのがだいたい2021年くらい。Python mini Hack-a-thonというハッカソン(もくもくと開発する、スプリントのゆるい版みたいなイベント)に参加し、そこで開催される合宿にも参加してみました。

 自分はIT系の仕事をしているわけではないため、最初は参加者の話している内容が専門的過ぎてよくわかりませんでした。少しでもわかるように基本情報技術者試験を勉強したら結構楽しめる感じになってきましたが、皆さん爆速でコード書くし、多くの人は本出したり海外で講演とかしているし、なかなかハイレベルな環境だと思います。
 今回書籍執筆のお話は、このイベントで知り合った人経由でいただきました。ここでもまた人のつながりでしたね。自分の活動(ブログの内容)を覚えてくれていて感謝。

 Python mini Hack-a-thonpyhackというグループが主催しており、次のconnpassのページから参加できます(無料)。ちなみにこのconnpassというサイト、結構有名ですがその開発をしている人もいました(すごい)。

参考リンク:connpass

 connpassではその他スタパイ(Start Python Club)等の初心者向けコミュニティもあり、自分に合ったイベントに参加するのも良いと思います。

書籍執筆のプロセスと感想

 ここからは本題。書籍執筆のプロセスを紹介します。自分自身は会社の休み時間でも本を読み漁っている本好きですが、執筆を行うまで書籍制作のプロセスは全く知りませんでした(興味はあったけど)。自身の感想も踏まえ、本を書く前の自分に向けてプロセスを書いてみます。

執筆依頼:2023年8月

 watへの書籍執筆の依頼はpyhackメンバーからですが、もともとは出版社の企画でした。「こういう本を書いてくれる人を探しているけど、誰かいないか?」みたいな感じだと思います。非IT系あるあるだと思いますが、slackでの連絡に気づかず、XのDMでようやく気づきました(すみません)。

 依頼に気づいてからは確か即答で「やります」と宣言したと思います。大変らしいとの情報は受け取っていましたが、こういうのはめったにないチャンスなのでやらない手はないという感覚。

本を書くのは夢の1つでした。断る理由はありません!

企画書の作成:2023年9月

 依頼を受けた後は出版社の編集担当の方とZoomで打合せをします。書籍執筆のガイドライン契約書のドラフト版お金の話企画の主旨といった内容を話します。依頼執筆なので、著者側で何か費用を負担することはありません
 今回の「いきなりプログラミングPython」、実はシリーズ物で前作品に「いきなりプログラミングAndoroidアプリ開発」という書籍があります。基本はこのシリーズのPython版として、超初心者向けに飽きさせない面白い例題を考えていくというのが主旨です。

 説明を受けたら、まずは企画書を作成します。企画書を企画会議にかけて、承認が降りたら執筆スタートです。企画書は次のようなものです。この企画書にといった具体的なコンテンツを記載します。ここから著者の作業スタートです。

企画書の例

 

 この書籍のキーポイントはまさに企画段階におけるアイデア出しでほぼ方向性が決まります。本書籍は各章で1アプリ作成をコンセプトにしているので、全6章分…計6個のアプリ案を考える必要があります(結構大変)。これは依頼を受けた8月の段階から実はXでアンケートをとり、コメントやDMでどんなプログラムをつくるのが楽しかったかを色々教えていただきました。

 実際に物を動かすことに感動したという意見がいくつか重なっており、WATLABブログのこれまでの実績とも合致するので、書籍のコンテンツは章が進めばいきなり録音や動画撮影を行うようにしてみました。Python以外でこれをやろうとするとかなり面倒なコードになると思うので、言語に合っていたのではないかと思います。

各章の構成をどう考えたか?

 各章の構成は、すべてつながりを意識して構成しました。というのも、本書は全6章になっていますが、2章毎のまとまりを意識しています。
 第1章はPythonのインストールやJupyterLabの使い方を説明するという「事前準備」の役割を担いつつ、数当てられゲームをつくるという章にしています。対し第2章は同じ数当てをするのですが、第1章がコンピューターが数を当てるプログラムをつくるのに対し、第2章はユーザーが数を当てるゲームをつくりました。この2章は言わばチュートリアルの役割を持っていますが、基本文法標準ライブラリに慣れるという考えで書いています。

ちなみに第2章のゲーム、著者watは古畑任三郎というドラマで初めて知りました。とても面白いので是非遊んでみてください!

 第3章はマイクを扱います。音声の録音、加工、グラフ描画に慣れ、コンピューターで音声を扱うことの基本を学ぶ目的です。対し第4章は音声認識モデルを使います。PythonはAI・機械学習の分野でも有名なので、書籍を書く時はこのキーワードを入れたいと思っていました。

 第5章はカメラを扱います。カメラによる静止画撮影、動画撮影、画像処理の基本を学ぶことができます。対して第6章は第5章で学んだカメラや画像処理のコードに、YOLOやOpenCVによる物体検出を組み合わせてアプリを作成するという要素を入れました。これも第3章と第4章の関係と同様に機械学習の要素を入れようという構想です。

 このように本書は企画段階で、全6章を2章毎のまとまりにする構想、そして第3章以降は2章毎に「基礎」→「機械学習の活用」というまとまりにするというつながり、さらに実際に物(PCのハードウェア)を動かすということを意識して構成しました。これがアイデア出し時に考えていたことです。

 ただ、編集担当者の方と定期的にZoom会議をした中で生まれたアイデアは多くあります。書籍を執筆する時に、これほどまで編集者の助けが入るとは思っていませんでした。

執筆:2023年10月~2024年1月

 企画会議は無事承認が降り、編集担当とキックオフミーティングを行い執筆がスタートしました。ここから各章の具体的な原稿を作成し始めます。今回、各原稿は以下記載の日程のペースで出版社へチェックに回しました。200ページ分の原稿を約4ヵ月で作成したことになります(ただ、かなり日本語が粗く、のちにレビュアーへ苦労をかけさせることになる。申し訳ございません!!)。

  • 第1章:2023/10/8
  • 第2章:2023/10/29
  • 第3章:2023/11/19
  • 第4章:2024/1/2
  • 第5章:2024/1/14
  • 第6章:2024/1/30

 恥ずかしながら平日は労働基準法の限界まで残業を行っている働き方だったので、執筆はほぼ土日と連休で行っていました。旅行も行きたかったので温泉とかは行っていましたが、旅館やホテルで執筆という有名作家のような気分に浸れたのは悪くない経験だったと思います(浴衣で執筆!)。とはいえ、サラリーマンの身で本を書くというのは、これくらいの苦労があるよというのは最初から覚悟が必要ですね。

 旅行先にPCとサブモニタをこれだけ持っていく人は他にいるのか…。

旅行先の執筆活動

元々ブログを書くのが好きだったので、楽しみながら執筆できました!書くのが苦手な人はまずはブログで慣れるのが良いと思います!

 原稿作成はMS Wordで行いました。出版社からお聞きしたレイアウト設定をすると、おおまかなページ数予測ができるとのこと。熟練の執筆者はJupyter BookSphinxを推奨している人もいましたが、自分が全然使いこなしていないので選択しませんでした。ただ、pyhack関連で教えていただいたShodo(マークダウンで執筆するAI校正付きツール)は本書の執筆にも使っていました。一人でブログを書いていた時は使っていませんでしたが、次の機会があるのであればShodoのレビュー機能を使った方が楽だったかも知れないですね。

 執筆で一番苦労したのは素材集めです。書籍では画像処理を扱っていることから、処理結果を確認するのに最適な題材を考えるのが大変でした。下の写真は色変換のコードを書いている時の様子(ルービックキューブを使えば色の交換がわかりやすいかなと思い)。部屋が散らかっているので、撮影用のスクリーンを使ったりしていましたが、これがなかなか綺麗に撮れない…。

題材集め(ルービックキューブの撮影風景)

レビューと校正:2024年2月~6月

 原稿が作成できたら、レビューを受けます。レビューはプロ目線で技術的な間違いがないかということの他に、初心者目線で読み切れるかどうか、という観点で受けます。他にも誤字脱字、内容の構成、感想…と幅広く意見をいただきます。

 また、レビュアーは自分で探す必要があり、最初に執筆依頼を受けた時はこの部分にかなり不安を覚えました…。

レビュー依頼をしても全員に断られたらどうしよう…!
袋叩きにされたら立ち直れるのか??
プロって怖い!
初心者から飽きられたら立ち直れるのか??
※当時の気持ち

 実際はそんなことありませんでした!誤字脱字のみならず、プロの方からはコード面の的確なアドバイスを多くいただき、初心者の方からは読んでいて退屈なところや進めなくなったところを教えていただきました。原稿を校正していく過程は自分自身のコーディングスキルも上がっていく感覚があり、著者自身も勉強になりました。

こんなに親身に、真剣にレビューしてくれるなんて…!
マジでプロって戦闘力高すぎ!
初心者からのエラー報告ありがたすぎ!
レビューがなかったらどうなっていたことか…!
読者からの「感動」の一言でビールがうまくなる!
※今の気持ち

レビューと校正はどんな感じで進む?

 原稿は著者が作成終了(脱稿)した後、編集者に提出し、DTPDesktop Publishing)が行われます。脱稿前の原稿もレビュアーに共有し、原稿に直接コメントを記入してもらいます。原稿はAdobe Document CloudのサービスでPDFファイルを作成し複数のレビュアーに共有して進めました。今は遠く離れている人同士でも作業が円滑に進められるツールがたくさんありますね。
 下の図は脱稿前とDTP後の原稿の例です。書籍に載せる図についても意見をもらったりしていました。

レビューとDTPの例

 どうでも良いことですが、ボツになったサボテンはさらに成長しました(サボテンが成長するくらいの時間がかかっているということ)。

執筆期間におけるサボテンの成長

 レビューの進捗は各レビュアーが閲覧・編集できるGoogleスプレッドシートを用意して管理しました(下図に例を示します)。このシートを使うと他の人の進捗もわかるようになり、Slackメンションも併用してレビューに活気をだすことができます。

 今回レビューは脱稿前、初校再校で実施しました。再校以降は大きなページのずれが発生しない程度に編集する必要がありましたが、それまではレイアウトの大幅変更やコードの大幅修正(デバッグもしていた)がある度に紙面全域にわたる修正をしていました。これが超大変!

図やイラストについて

 本書の各説明図については、基本は著者watがラフ絵を用意し、それを編集側で綺麗な図にするという流れをとっています。編集側からは「著者は凝った図をつくりこむより、内容をしっかり考えることに時間を使った方がよい」とアドバイスがあったので、編集に渡す図は基本いらすとやさんの力を借りてラフに描きました。

著者作成図と編集後の図

 そして本書「いきなりプログラミング」シリーズは表紙をはじめ各ページにみずの紘@orih_hiro)さんのイラストがたくさん描かれています(デザインはクオルデザインの坂本さん)!そのため読んでいて飽きがきません。本書をご購入の際は是非イラストにも着目してみてください!

各章の内容に合わせてイラストを描いてくれているので、著者が一番感動したかもしれません!

見本誌到着:2024年6月

 三校(3回目の校正)が終わると、ダウンロードページ用のファイル作成や索引の作成・点検をして著者作業終了です。後は見本誌が届くのを待ちます。著者とレビュアーには発売前の本が見本誌として手元に届きます。

届いたらインクのにおいをしばらくスーハーしました。

書店で先行販売:2024年6月

 発売日は6/25ですが、6/15時点で先行販売が開始されていました(知らなかったのでサプライズ)!あのジュンク堂紀伊国屋書泉ブックタワーに自分の本が並んでいるなんて…!

ジュンク堂は著者と言えばPOPが描けるらしいけど、後で行ってみようかな
→行ってきた!

発売後

 池袋ジュンク堂書店は品揃えが良く、何か面白そうな本を探す時にいつも行っていました。今回、先輩執筆者より「著者はPOPが書けるよ」と情報をうかがったので、発売後に行って書いてきました!

 まさか自分が書店のPOPを書く立場になるとは…!店員さんへ「著者です」と伝えると、何やらカウンターの奥からペンが沢山入った入れ物と複数種類のPOP用紙を持ってきていただきました。以下は書きたてほやほやの写真です。伝えたいことはこれで十分。WATLABシールも貼っておきました。

 後日、店員さんがしっかりラミネートしてくれました。

印税の話

 ※この内容は後でかきます(公開できる範囲のみの予定)。

まとめ

 普段は何気ないサラリーマンである自分が書籍を執筆し、なんと商業出版ができました。仕事をしながら執筆活動を続けるのはかなり大変でしたが、書籍を出すのは夢物語だと思っていたので高いモチベーションが原動力となりやりきれたと思います。

 発売前の、熱も冷めやらぬうちに今回の貴重な体験を記事にまとめました。きっと他にも本を出したいけど具体的なイメージができないという人はたくさんいると思います。このページは約5000文字の長文になってしまいましたが、実際にどのように執筆が進むのか、出版までの流れが伝われば幸いです。

 そしてこのような貴重な経験ができたのはなんといっても人のつながりだと思います。ブログをはじめたことで人生が色々好転してきていると思うので、今後も趣味の記事は書きまくる予定です。Pythonは思ったことをすぐに試すことができる最高のツールだと思うので、本書をきっかけに是非みなさんも楽しいPythonライフを送ってみてください!

サイン付きWATLABロゴマーク

まだ著者になった実感はあまりありませんが、これからもPythonで色々やっていくのはかわりません!
Xでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!

  • このエントリーをはてなブックマークに追加

SNSでもご購読できます。

コメントを残す

*