はじめに
技術書典15にサークル名「コードカキタイ」で初参加し「Go言語で構築するクリーンアーキテクチャ設計」を頒布しました。
本記事では初めて出展するまでの話を書きます。
参加までの背景
社内の定期輪読会にて技術書を読み、意見交換をしていく中で、技術書を書く側も面白そうと感じていました。また技術書典に参加経験がなく、いつか経験してみたいと考えていました。
そんな時エンジニア仲間が技術書典参加メンバーを募集しており、参加を決意しました。結果として、別々の企業に所属する4人のGoエンジニアが集まり、約半年にわたるプロジェクトが始まりました。
頒布までに大事にした点
企画~出展までのストーリーは共著者の@hiroaki-u さんの記事にまとまっているため、自分は書籍を執筆する中で大事にした点を書きます。
何を達成したいか
過去、Goの実装パターンやアーキテクチャに関して悩み、苦労した経験がありました。なので過去の自分のように 「クリーンアーキテクチャの概念は何となく理解したが、実践が難しく困っている」 という悩みを持つ人に対して、1つの実装例を届けたいと思いで取り組みました。
そのため書籍では「クリーンアーキテクチャの説明」と「Go言語での実装」の2部構成に分け、GitHub上にサンプルコードを用意し、一連の処理を追いながら理解できるようにしています。
どのように伝えるか
どのように伝えるかは1番難しく、大変でした。わかりやすく、論理的に、正しく伝えることの難しさを痛感しました。複数名で進める中で振り返ってみて良かった点をご紹介します。
共通認識をつくる
議論をするにあたり、前提が揃っていないと意見のすれ違いの原因となります。今回は執筆前にペルソナを用意し、想定読者を用意しました。
結果、記事を執筆・校閲する中でペルソナに合わせて内容の加筆・削除を進めることができました。
関係性をつくる
全員別会社なため一緒に何を行うことが初めてでした。そのためご飯やサウナなどを通じて交流を行いました。また、システムコーチングをメンバー全員で受けさせていただく機会があり、相互理解を深めることができました。
(もちろんサウナは黙浴です)
コードを書き、議論する
クリーンアーキテクチャの概念や実装に関して気になる点があれば、メンバー同士で話し合いました。それぞれの持つ知識や経験が異なるので、より内容をブラッシュアップすることができました。
成果物
このように試行錯誤して、書籍を進めました。平日の夜や土日にコツコツ進めていたのですが、締め切り直前にはお昼から終電まで作業する日もあり、とても大変でした。笑
そのような苦労もあり、思い入れのある成果物を作成することができました。
目次は以下の通りで、二部構成にしました。
第一部ではクリーンアーキテクチャの基礎から理解を深めます。アーキテクチャの発展からその目的を明確にした上で、クリーンアーキテクチャとは何かを解説しました。
第二部ではサンプルアプリケーションを用いて、クリーンアーキテクチャをGo言語で実践していきます。各レイヤーの実装方法とその要点を詳しく掘り下げました。
結果
ありがたいことに600部以上販売することができました!
当日も様々な方と交流できて楽しかったです。
初参加で得たもの
想像の何倍も大変でしたが、素敵なメンバーのおかげでとても良い経験となりました。本活動を通じて自分の知見が深まったことも嬉しかったです。最後に技術書典という貴重な機会を用意くださった運営、スポンサー、参加者の方、購入くださった方、ありがとうございました!
個人としては、引き続きWebアプリケーションの知見を増やしていき、日々の業務へと活かしていきたいと思います!