学生エンジニアが技術書典に初サークル参加するまでにやったことを詳しく解説する

# はじめに
こんにちは！2024/05/26に技術書典16に「進捗ゼミナール」としてサークル参加した進捗ゼミです。ゼロから作る！HTTPルーターという書籍を執筆し、オフライン会場で頒布してきました。このテーマにもし興味があればぜひ買ってみてくださいね。

https://techbookfest.org/product/pS1uA8AgxxkPBzmLch9Nrb

今回は、私が技術書典に参加して執筆、印刷、頒布するまでにやったことと、そのポイントを解説していこうと思います。

**いいね・ストックが励みになります！よろしくおねがいします！**

# モチベーションを高める
## ポイント
モチベーションが一番大事です。モチベーションが1か月維持できれば、ページ数や内容が多少少なくなることはあっても、なんとか執筆を完了させて参加できます。一般的なモチベーションを上げる方法を書いておきます。

- 技術書典の体験記事を読む
    - 楽しそうな記事が多くて勇気づけられます
- 本を書くことを公言する
- とりあえず申し込んで締め切りを作る
- 好きな部分だけ書いてみる
    - もう書いちゃったからな～というモチベーションで頑張れます
- 本が売れたときのことを妄想する
    - 私も妄想しながら頑張っていましたが、実際は想像以上にうれしかったです

## 私のモチベーション
私はもともと文章を書くのが好きで、かつ技術も好きなので、かなり趣味としてのモチベーションがありました。そのため、比較的意欲不足に悩むことはありませんでした。しかし、モチベーションとはつまるところ優先順位なので、他のより優先順位と重要度が高いタスクを抱えることも多かったです。そのため、**やる気と時間があるうちにやれることをやれるだけやっておく**というのが重要だと思いました。実際、今回の新刊の内容は90%以上2月上旬に書いたものです。

本にするという強い情熱がたりないと、技術書という手間がかかる媒体ではなく、より楽なネット媒体に公開してしまいます。実際私は他にも設計と認証認可で書籍を書こうと思っていたのですが、[Qiitaに長めの連載](https://qiita.com/wolfmagnate/items/73c3770cf036eada630d)にして公開してしまったり、[書籍用のネタをOSSにして](https://github.com/wolfmagnate/mini-oauth2-proxy)[インターン先のブログで公開してしまったり](https://moneyforward-dev.jp/entry/2024/04/11/012846)したため、これらのネタは技術書にはなりませんでした。（もちろん、それぞれの媒体には異なる長所と短所があるのですが、技術書典は本がないとサークル参加できません…）

# 企画を考える

## ポイント
技術書を書く準備期間で一番楽しいのが企画を考えるフェーズでした。あれこれと手を出したくなってしまいますね。しかし、世の中の常ですが、やりたいことは多くても実際にやれることは多くありません！テーマは実現可能性をある程度考えつつ決めましょう。
特に技術書典では、単なる個人開発とは違い以下のような手順を踏む必要があります。初参加の人は特に

1. 面白いネタを見つける
1. ネタを実現までもっていく
1. 結果を文章に仕上げる
1. 文章を技術書にする
1. 印刷して現地で販売する

これにより、自分の実力よりちょっと背伸びしたテーマを選んでしまうと、ネタを実現までもっていくところで時間と体力を使い果たしてしまいます。

## 規模を想定しよう

企画の規模を決める要素は以下のようなものです。

- テーマに自分がどれほど親しんでいるか
    - テーマについて学ぶ時間は本が書けません
    - テーマについて誤った理解をしていることに後から気づくと手戻りが大きいです
- ページ数
    - 20～30ページぐらいが書きやすいです。詳細に立ち入らない入門書やテーマを絞った解説書ならば十分に書くことができます
    - 100ページを超えると誤字脱字の修正がものすごくしんどいです。また、書いている途中に構成を変えたくなったときなどに手戻りが大きくなります
- デモの有無
    - 当日扱った技術を使った面白いものをデモとして展示する場合、デモの作成も必要です
    - デモの作成にかかる期間は本を書くことができないので、1週間以内で終わるような簡単なデモにしたほうがいいです
- 図表・イラストの割合
    - 図は文字よりも多くの紙面を使うため、図が多い本のページ数当たりの労力は小さめです

逆に規模とあまり関係ない要素は以下のようなものです。
- テーマの資料の多さ、学びやすさ
    - 学びやすいテーマだとニッチな本が書きやすいです
    - 学びにくいテーマだと初歩的なことでも十分本になります

## 体感の規模感
私が実際にやってみて、どの程度の手間がかかるかの体感を書きます。あくまでも個人の感想です。

### 前提条件

- ひとりで企画から執筆、印刷、販売まで行う
- すべてのタスクを合わせて実働30日程度で行う

### 企画例
- ちょっと背伸びした知らないテーマでの数十ページの本
- 自分の詳しいテーマでの100ページ程度の本
- 自分の詳しいテーマでデモを作って、作り方をまとめた数十ページの本

## 私の企画決め
私はもともとOSSを解析することを趣味にしていました。また、Go言語にも親しんでいました。そのため、有名OSSを自作する本を書くことに決めました。普段から扱っているテーマでったので、詳しくてかつ分かりやすい本を書くことにエネルギーを使うことにしました。

企画をざっくり決めたのが2024/01です。

# 技術を学ぶ

## ポイント
このあたりは参加サークルごとに大きく異なるため、あまり技術書典に特化したアドバイスはできません。資料を読み漁るときに参考になると考えているのはこの資料です。

https://www.shoeisha.co.jp/book/detail/9784798171548

技術書典のテーマになるようなマニアックなジャンルだとそもそも極端に資料が限られており、ソースを読まないとどうしようもないことも多いです。

## 私の技術調査
OSSの紹介をする技術書だったので、GitHubでリポジトリを読み漁り、cloneしては読みやすさと面白さを吟味しました。技術のメジャーさ、既存の資料の少なさ、アルゴリズムの複雑さなどを考えて、Webフレームワークで使われているHTTPルーターの実装を扱うことにしました。

扱う技術と参考リポジトリを決めてからはコードリーディングを行いました。高度に最適化されていたため、コードリーディングは、かなり難しかったです。1000行程度のアルゴリズムを1週間ほどかけて理解しました。

# 本を書く
## ポイント
本を書くのは大変です。なるべく、本質的なタスク以外は減らしましょう。いろいろなところで推薦されていますが、この本を読んでいい感じの環境を構築するのがおすすめです。

https://techbookfest.org/product/23ZfRJ3CTxKBVDEKzfMg0t

## step1. 目次を作る
技術調査と並行しながら、書籍全体の構成を決める必要があります。一番大変なのが構成の決定でした。構成の難しさは次の2点が原因です。

- あとから変更しにくい
    - 本文を書き始めてしまうと、目次レベルの変更で多くの部分がやり直しになってしまいます
- 他人に頼りにくい
    - 書籍の構成は著者の意向が最も反映されるもので、オリジナリティそのものです
    - 著者と同じレベルでその分野に興味があり、書籍が好きな人でないと的確なアドバイスが難しいです

特に、自分のよく知らない技術領域の場合、**技術が分からないから目次を作れない、目次が無いと何の技術を新たに学べばよいか分からない**という問題に直面することになります。

目次は分量が少ないので、雑に作るのではなく、よく推敲して完成度を高めるのがおすすめです。

## step2. 文章を書く
普段からトレーニングを積んでいないと分かりやすい文章を書くのは大変です。特に出版となると表記ゆれや日本語のルール、変換ミスなど、普段は気にしない・後から修正するものにも神経を使わなければなりません。
とはいえこれは技術書典であり同人誌なので、多少甘くみてもらえる箇所もあります（多分）。

- 誤読の可能性がない誤字・脱字
- 誤読の可能性がない表記ゆれ
- サンプルコードがページをまたぐなど多少の読みづらさ
- 特定の部分の説明の大幅な省略
    - 商業出版だと許されないレベルで高い前提知識の本はむしろ面白がられる印象さえあります

逆に技術書典だからこそ厳しくみられる点もあると思っています。

- 意味が通らない文章、分かりにくい文章
    - 対象者が狭い内容だと、別の資料で調べて補完するなどの方法がとりにくいため、文章が分かりにくいと致命的です
- 主張が弱い文章
    - エゴを出していきましょう
    - 執筆者の色が分からない要領を得ない説明だと、読者と執筆者との距離が違いという利点が失われてしまいます
    - 好きな技術だと自然と主張が強くなると思っています


### 生成AIについての感想

**生成AIは一般論しか書いてくれない**ので、自分が本当に伝えたい筆者のとがった意見は自分で書かないとどうしようもありません。また、理解しやすいように意図を持たせた構成であったり、後の章で説明しようと思っている内容との整合性であったりはAIには伝えきれないため、結局は自分で書く必要があります。

逆に誤字脱字チェックや文法的におかしいところの指摘をさせたり、RE:VIEW記法への変換を文脈に合わせてやらせたりなど、比較的単純な知的作業はうまくこなすことができます。

### 文章の書き方系の本についての感想
文章の書き方系の本は技術者向け、一般向け問わず何冊か出版されています。今回の技術書典16でもこの本が人気そうでした。ブースがかっこよかったです。

https://techbookfest.org/product/3t8AGqtB65jsPtPhx6m5fr

このような本を読んで執筆方法を学んでみるのもよいでしょう。ただ、執筆のスキルが無いから本を書けない、スキルをマスターしてから本を書こう、という姿勢はあまり良くないと思います。

文章執筆スキルは学校教育ではそこまで真剣に教えられないですが、実は英語や数学と似たような特性を持った技能です。

- 知識が古くなりにくく、かつ汎用的に役立つ
- 長期的な学習と練習が必要である
- その場その場の必要なときに付け焼刃で凌ぐこともできるが、スキルが足りないと選択肢が狭まる
- 「完全に理解した」が存在しない、極めようと思えばどこまでも時間をかけられる

そのため、技術書典に本を出すだけなら執筆スキルを鍛えるよりもまずは書いて文章を修正していく方が手っ取り早いです。文章校正は他人の助けも得やすいので、得意な人に助けてもらえることもあるでしょう。しかし、複数冊本を出したい場合やブログの執筆もやっていきたいという場合は、テクニカルライティングは長期的にペイすると思います。

その場でアメリカ人に道案内したいだけならわざわざ英語の参考書を買わなくてもいいですが、それはそれとして英語が全く喋れないと仕事や情報収集の選択肢が狭まる、というのと同じですね。こういうスキルは根気が必要なので敬遠されがちなので、差が付きやすいですね。

#### 余談：英語

英語ガチ勢エンジニアになるための方法の本が技術書典16で頒布されていました。こちらの本の説明でも、「その場限りで誤魔化したり短期間でなんとかしたりするセンセーショナルなものは売れるけど、まじめにコツコツ積み上げて上級者になる方法って商業誌だと売れないよね（意訳）」ということが書かれていました。

https://techbookfest.org/product/4ZtZqvSxb42eCe0QD1M3bU

## 私の執筆
幸いなことに私は幼少期から文章力を鍛える機会が比較的多かったので、文章で苦労することは少なかったです。ただ、ページ数が表紙込みで150ページの大作だったので、やはり校正は大変でした。書籍全体を3周から4周程度通しで校正しました。校正だけで数十時間程度かかっているはずです。下書きをRE:VIEWに変換する作業を含めるとさらに10時間程度かかりました。

# サンプルコードを書く
## ポイント
こちらもサークルごとに大きくことなる部分なので、あまり技術書典に特化したなアドバイスはありません。比較的個人開発に近い内容なので、各々が楽しめる内容でコードを書いてGitHubにアップロードするのが良いと思います。


## 私のサンプルコード
私の本はハンズオン形式のため、サンプルコードの作成が一番大変な作業でした。外部に公開するものなので個人開発といえどバグが許されにくいため、テストケースをたくさん作り、何度も目視でロジックをレビューして品質を保証しました。
テストケースを書いているだけで一日が終わった、という日もありました。
その引き換えとして、サンプルコードが完成したときの達成感はものすごかったです。

https://github.com/wolfmagnate/zerorouter

# 印刷する
## ポイント
はじめての印刷は不安がいっぱいです。ネット上の記事や印刷所のマニュアルを読めばなんとなく何をやっているのかが分かりますが、実際にそれでうまくいくのかはどうしても不安です。周りに書籍を印刷したことがある人がいれば、助けを求めるのがおすすめです。

## 印刷オプションなど
初参加の場合、本のサイズや加工オプションのどれを選べばどうなるのかの知識がなく、イメージも湧きません。そのため、パックになっている標準的なものを選ぶことをおすすめします。とりあえず定番のものを選べば技術書を書くことに集中できます。技術書典に参加していろいろな本を手に取ってみると、「この加工かっこいいな」と心が動かされるものに出会えるかもしれません。

## デザインが苦手なエンジニアへ
表紙を作成するにはなじみのないデザイン用のソフトウェアを扱う必要があります。仮にこれらのソフトウェアに慣れていない場合、使い方を勉強する時間が必要です。幸い、メジャーなAdobe製品はマニュアルや入門書が充実しているので、入門向けの易しめの薄い本を読むことで最低限のデザインを作成することができます。もしも周囲に詳しい人がいれば、助けてもらうのもよいでしょう。

## 私の印刷
技術書典のバックアップ印刷所であるねこのしっぽさんを利用しました。周囲にコミケに出したことがある人が数名いたので、安心感がありました。

- 申込ぱっく: 	本文オンデマンド1色刷の本
- 基本仕様: 	A5 無線綴じ
- 表紙印刷： オンデマンド フルカラー
- 本文印刷： オンデマンド 黒1色 

表紙の作成は難しかったので友人に助けてもらいました。また、表紙のイラストはChatGPTで生成しました。

# 現地で設営をする

## ポイント
はじめての設営体験で、あまり一般的なアドバイスはできそうにありませんので、この節では私の感想を書きます。

## 私の設営

技術書典16では完全手ぶらセットが提供されていてありがたかったです。とはいえ、サークル個別のこまごました作業はどうしても発生するので、ある程度の準備はしておきましょう。サークルの入場が9:30で開場が11:00なので、設営の準備時間には余裕がありました。周囲のサークルさんに仲良くしていただけて良かったです。

完全手ぶらセットのうち以下のものを使いました

- テーブルクロス
    - サイズがぴったりで助かりました
- シール
    - 新刊シールを使いました
- 値札・見本札
    - 助かりました。強度を考えてセロハンテープでブックカバーに直接貼りました
- マジックペン
    - お品書きを修正したり、値札に数字を書いたり、完売のお知らせを書いたり、大活躍でした
- うちわ
    - 会場の熱気に負けないため、純粋にうちわとして使いました
    - 5月下旬はすでに暑いです

自分で持って行ったものをリストアップします。

- ハサミ
    - なんだかんだ使います
- セロハンテープ・ガムテープ・養生テープ
    - 設営や固定で使います。完全手ぶらセットのマスキングテープだと接着力が足りない場面があり、重宝しました
- ビニール袋
    - なんやかんやでゴミが出るので必須です
- [ポストカードスタンド](https://jp.daisonet.com/products/4906137327811)
    - これを使ってバーコードやお品書きを展示しました
    - はがき印刷はセブンイレブンで60円でできるので、非常にお手頃で嬉しかったです
    - 単体だと不安定めで倒れやすいのでセロハンテープで固定することで安定しました
- [表紙を飾れるブックスタンド](https://jp.daisonet.com/products/4973430023535)
    - 見本誌を立てかけるために使いました
    - こちらも不安定だったので、固定しました
- [A5サイズのブックカバー](https://jp.daisonet.com/products/4549131147636?_pos=3&_sid=5baf38bef&_ss=r)
    - 厚手で見本っぽさが分かりやすくて良かったです
    - 姉妹製品で[B5サイズのブックカバー](https://jp.daisonet.com/collections/stationery0221/products/4549131147643)も売っています
- [小銭入れ](https://jp.daisonet.com/products/4984343730021)
    - 技術書典では現金対応は基本的に不要で、公式が提供している簡単後払いを使うのが良いです
    - ただ、ときどき現金を希望する一般参加者の方もいらっしゃったので、あって良かったです

もっていかなかったがあったほうが良かったものをリストアップします。

- ホワイトボード
    - 完売のお知らせを書く場所が無くて困り、最終的に適当な厚紙を切って書いてテープで貼り付けることになりました
- トートバッグ
    - 戦利品を持ち帰るために使います
    - 適当な袋だとたくさん買ったときの容量不足や強度不足などが少し不安です

# おわりに
技術書を書くのはやはり手間と時間がかかりますが、手間がかかるからこそ**本が売れるとものすごく嬉しいです**。また、オフライン会場だと買いに来てくれる人とお話できるのがとても楽しいです。この記事がすこしでもハードルを下げるのに役立ってくれると嬉しいです。

技術書典は半年に一回のイベントですので、興味を持っている方は今から準備すれば半年後に100ページ以上の大作を出すのも夢ではないかもしれません！

ぜひ技術書典16でたくさんの本を買って楽しみましょう！