16
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QAグループで技術同人誌を書いてみた 〜思いつきから実際に技術書典で頒布するまで〜

Last updated at Posted at 2025-12-03

1. はじめに

こんにちは!株式会社LITALICO QAグループ 品質マネジメントチームの @nhnmomonga です。この記事はLITALICO Engineers Advent Calendar 2025の3日目の記事になります。

4年前のアドベントカレンダーでは 正月実家に帰ったらインシデントレスポンスするはめになったおうち情シスのあなたへ」を書きましたが、今年は品質をテーマにした同人誌をQAグループの有志で作って技術書典19で頒布した話をします!

この記事では、一人の思いつきから、他のQAエンジニアを巻き込み、集まった原稿を入稿データにし、技術書典で頒布するまでのお話を書きたいと思います。

2. なぜQAグループで本を書くことになったか

2025年9月、QAグループに異動してから約1年。タイミング的に仕事がひと段落し、次の半年〜1年で私はQAグループに対して一体どんな貢献ができるだろうか、と考えていた時でした。

キャリアの出発がWebアプリの開発エンジニアだった私は、所属しているQAグループを観察していて「社外活動をしている方が開発エンジニアと比較すると少ないな」と常々感じていました。

もちろん、今年もLITALICOアドベントカレンダー2025では他のQAエンジニア達もたくさん記事を書いていますが、それ以外でのカンファレンスへの登壇やブログなどのアウトプットがないのが、私からすると 「こんなにテストに対して真面目で、法改正や利用時品質の向上に真摯に取り組んでいる人たちが、対外的な発表をあまりしないのはなぜなんだろう?」 と不思議で、「LITALICOのQAエンジニア」という存在を知られていないことがもったいない と感じていました(もしかすると私が教えてもらってないだけかもしれませんが……隠してる人はこっそり教えてください)。

弊社のQAグループは、児童発達支援などの店舗事業で支援員をしていた方が異動されてきたケースが多数あるので、積極的に対外発表するというエンジニア文化が浸透していないだけなのではないか、という仮説も立てましたが、アドベントカレンダーではたくさん記事が書かれていることを考えると、どうも違いそうでした。

そこで、もしかすると機会がないだけで、こちらからお誘いすればアウトプットしてもらえるのではないか? と楽観的に考えて、ちょうどスケジュール的にも難易度的にもよさそうな「技術書典19で同人誌を出す」というアウトプットの形を取ることにしました。

なお、スケジュールと難易度的に「よさそう」、というのは下記の要素から独断と偏見で判断しているので、場合により全く違う選択肢になります。

スケジュール的によさそうと判断した理由

  • 原稿締め切りまで逆算すると1ヶ月半以上期間がある
  • 原稿締め切りが遠すぎない(半年先とかだと忘れる)
  • JaSST’26 TokyoのCFPの応募期限をほぼ過ぎていた(忘れてた例)

難易度的によさそうと判断した理由

  • 公序良俗に反していないかなどのチェックはあるが、査読はない(基本的に技術に関連する内容であればどんな内容の同人誌を頒布しても問題ない)
  • 過去9冊ほど同人誌を作ったことがあるため、表紙制作、印刷用データへの変換などを自分が引き受けることで、参加してくれるメンバーには原稿を書くことだけに集中してもらえる環境を用意できる
  • 他社のエンジニアや社内のエンジニアからもアウトプットとして認識してもらえそうな範囲内である

そしてこの楽観的な思いつきのもと、 QAグループのマネージャーでもある @kazuis に「技術書典19に出たいんですけど参加者を社内で募ってもいいですか?」と突然もちかけたにも関わらず、快く「 いいよ! 👍」と快諾いただいたのがこのプロジェクトの始まりでした。

さらにありがたいことに、「もし在庫を抱えることになっても私が管理しますので、一緒に技術同人誌を作りませんか」と社内で参加者を募ったところ、6人が参加してくれることになりました。

3. プロジェクト進行と技術スタック

3.1 スケジュール

今回、技術書典に出典するまでのスケジュールは以下の通りでした。

執筆期間をできるだけ長く取った結果、後半の工程でバタバタしてしまいましたが、なんとか通常入校日を守ることはできました。技術書典は、コミックマーケットなどと比べるとサークルスペースが広めなため、本来ならもう少し早めに入稿して、「リリース安全御守り」などのグッズやステッカーなども作ってスペースを埋めたいと考えていたのですが、自分の作業工数的に難しかったので今回は本を一冊だけ頒布することになりました。

▼作りたかった御守り(イメージ)

3.2 執筆環境

基本的には、執筆陣には原稿フォーマットやツールを指定せず、使いやすいものを使ってくださいとお願いしました。

  • 執筆ツールはなんでもよし(できればマークダウン希望だが、なんでもよい)
  • (WordやGoogle Docsなどに画像を貼ると圧縮されるのでそれらを利用する場合)画像の原本も添付して提出
  • 提出方法はメールにファイルを添付
  • 利用できる書式はマークダウンに準ずる(太字、斜体、下線…など)

として、できるだけ「原稿を締め切りまでに書く」ことだけに集中してもらいました。

3.3 編集環境

今回、入稿データを作成するに当たって利用したツールはVivliostyleでした。以前はRe:Viewを使っていたのですが、執筆陣に原稿を書くことに集中してもらうことを考えると、 マークダウンに似て非なるRe:View記法を新たに覚えてもらうことは、執筆時の思考のフローを止めてしまうことになるな思い、そのままの Markdown を利用できる Vivliostyleを選択しました。

また、原稿管理用のリポジトリ作成時には、Github Copilotに下記プロンプトを渡して、Vivliostyleのビルドができる状態でサンプルの雛形(ビルドができるGithub Actions付き)を作ってもらうことができました。

VivliostyleでMD→PDF/HTML 以下作成。

- README.md: 目的/VFM採用/原稿=manuscript/*.md/構成例/執筆規約/ローカル(npm i→npx vivliostyle preview|build)/CI概要
- package.json(devDeps): @vivliostyle/cli,@vivliostyle/theme-techbook; scripts: build,preview,press(press-ready)
- vivliostyle.config.js: title,language:ja,theme[techbook,./style/book.css],entry(章md),output:dist/book.pdf,toc:true
- style/book.css雛形(余白/柱/ノンブル/コード)
- .github/workflows/build-pdf.yml: on PR/push→Node20→npm ci→npx vivliostyle build→artifact dist/book.pdf

▼スマホの電池も13%だしこのあと人間も寝かしつけ中寝落ちしたけどCopilotが頑張った

ただし、初回のプロンプトだけだとpackage-lock.jsonがなく、npm ciが失敗していたので、その旨をCopilotに伝えて修正してもらってから、原稿管理を始めました。

▼PCの前に座れない(布団を抜け出すと子供が起きる)ので本当にスマホだけでやってる図

人間が寝落ちしていても環境構築が進む、いい時代ですね。Github Copilotさんには、原稿作成中も Vivliostyleのトラブルシューティングまわりで大変助けられました。

レイアウト最終調整の際はビルドのスピードを重視し、PC上で入稿データ作成などを行いましたが、それまでの時間が空いてもいい校正などのフェーズではCoding Agentが大変役に立ってくれました。

4. 表紙作成・入稿

さて、原稿をVivliostyleで入稿データにした後は、表紙作成です。

表紙作成は、原稿のページ数がわからないことには背表紙の幅が決まらないので、構想以外のレイアウトは最後の工程になってしまいがちです。今回も例に漏れず入稿締め切りが差し迫ってきたので、突貫で表紙を作りました。

▼組合せ爆発に疲れてしまった人のイラストをChatGPTに描いてもらった

気合いで表紙を作った後は、いよいよ入稿です。

今回、印刷は日光企画さんにお願いしました。日光企画さんはねこのしっぽさんと共に技術書典19をバックアップされており、サークルスペースまで納品いただける&イベント割り引きがあるということで、以前から私が利用させていただいている印刷所さんです。

「同人作家は最初に使った印刷所を親と思ってついていく習性がある」という言説がありますが、まさに私は技術同人誌をすべて日光企画さんにお願いしています。いつもありがとうございます。

基本的に、日光企画さんにデータを入稿した後は、不備がなければ特にデータ受領以外の連絡などはなく、イベント当日サークルスペースに納品されるのですが、私は過去何度もノンブル設定などをミスしてご連絡いただき、データ修正したりしている愚か者です。

今回は入稿データに特に問題がなかったようで、何の連絡もなく逆に「本当に当日納品されているんだろうか……もし当日何もなかったら、電子版のQRコードをデカデカと印刷したものを置いておこう……」などと考えていましたが、無事当日納品されていました。

5. 当日のブース戦略:1冊の寂しさをどう埋めるか

入稿も無事終わり、技術書典19開催当日になりました。無事サークルスペースに本が届いておりましたが、前述の通り技術書典はコミケなどと比較するとスペースが広く、同人誌1種類しかない(しかも部数もそこまでない)とかなり見ためが寂しくなってしまいます。

前述の通りグッズは作れなかったので、代わりに 応援うちわ を作成したりして何とか賑やかしてみました。

特に「デグレ回避」うちわが好評で、話のフックとして機能してくれました。立ち寄ってくださる方に、これをきっかけにして話しかけていただけたり、うちわを振って通りすがりの方の目を引いたりと、意外とお役立ちアイテムでした。

▼設営完了時の様子。頑張ってスペースを埋めようとした結果ごちゃごちゃしている。
image.png

6. 結果と振り返り

ありがたいことに、会場ではQAエンジニアの方や、開発者の方々にたくさんお声がけいただき、内容についてのフィードバックもその場でいただいたりすることができました。

自分たちがやっていることや、自分たちの大切にしていること、やりたいこと、試行錯誤していることに対して、社外の方から評価を受ける機会がなかなかないので、大変良い刺激になりました。

また、LITALICOを卒業されたエンジニアの方や、同じQAグループの同僚も応援にきてくださり、大変楽しい一日でした。

ここまでの全ては私の主観であり、他の著者陣とは受け取り方が違うかもしれませんが、みなさんと一緒に同人誌を作れたこと、スペースで応援うちわを振って売り子をしたこと(笑)、立ち寄ってくださった方々と議論したことなど、久しぶりに参加した技術書典でしたが、出典者としても、参加者としても満喫することができました。

最初は 「もっと同僚のことを宣伝したい!見てくれ、私の素敵な仲間たちを!!」 という動機で始めた社外活動でしたが、最終的に自分自身の学びやモチベーションの向上につながりました。お付き合いいただいた6人のみなさま、この場を借りてお礼申し上げます。本当にありがとうございました!

そしてそんな私の自慢の仲間たちと働きたい方は、ぜひこちらから応募してください!▼

明日は @nonikeno さんによる 「【2025年最新】生成AI品質保証の完全ガイド:ハルシネーションからプロンプトインジェクション対策まで」です!楽しみにお待ちください!

16
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?