2018年のアウトプットまとめ

2018年は公私ともに忙しい年でした。このエントリを書いている時点でもう年が明けてしまいましたが、1年のふりかえりとして、またある種のポートフォリオとして、1年間のアウトプットをまとめたいと思います。

手元のスケジュールを確認したところ、講演/ワークショップを53回、インタビュー/対談/Podcast出演を5回、社内読書会ゲスト参加を3回、執筆、増刷作業を6回、主要OSSプロダクトのリリースを3回行っていました(小さなモジュールはカウント外)。これらが2018年のアウトプットです。

新作登壇(6回)

私は再演が多い講演者で、登壇依頼のほとんどは既存の講演/ワークショップの再演です。それでも2018年に新しいテーマの講演をいくつか行いましたので、それら「新作」がアウトプットの筆頭となるのではないかと思います。

技術選定の審美眼(2月15日)

2月15日に「技術の進化の歴史は振り子ではなく螺旋である」というテーマで行った講演です。初演は Developers Summit 2018 で、講演タイトルとテーマは2017年末に依頼を頂いた時点で確定していました。年末から本番までの時間の多くを準備に費やしただけに、この講演でベストスピーカー賞の総合1位をいただいたのは、とても嬉しい出来事でした。講演の舞台裏を ajito.fm #23: Effective Presentations で話したことも印象に残っています。講演当日は最前列に Publickey新野さんがいらっしゃり、詳細なレポート記事(前編後編)を書いてくださいました。

テスト駆動開発から品質保証へと橋を架ける(6月15日)

6月15日にはソフトウェアテストのシンポジウム JaSST'18 Kansai の基調講演にお招き頂き、講演を行いました。

ライブコーディングによる実演が講演時間の8割を占めているため資料のページ数が非常に少なく、かつ資料自体はこれまでに講演した内容が多く含まれていますが、この講演がきっかけで実演部を前後編に分け、途中で資料に戻る形式を編み出しました。JaSST'18 Kansai の基調講演以降、私の TDD ライブコーディングは二部形式に変わっていきます。

あと、まったくの私事になるものの、生前の御友人の皆様やJR西日本の方々にご助力頂き、まさーるさん(石井勝さん)のお墓参りを実現できたのが、個人的には忘れがたい出来事になりました。お招き頂いた JaSST'18 Kansai の会場が伊丹であると分かったときから、なんとか実現したいと思っていました。静かな森の中にある、まさーるさんらしいお墓でした。

テスト駆動開発の過去・現在・未来(9月8日)

9月8日にはアジャイルソフトウェア開発のカンファレンスとして日本で最も長い歴史を持つ「XP祭り」の基調講演にお招き頂き、テスト駆動開発の歴史についての講演を行いました。

講演内容は、実質的には『テスト駆動開発』に私が書き下ろしの形で執筆した「付録C」を講演向けにアレンジしたような内容になりました。テスト駆動開発の歴史を過去、現在、未来のパートに分け、過去の総まとめと、これからの展望について自分の視点から考えを述べました。この講演も内容が内容なので非常に心理的プレッシャーが強く、当日までの準備やその後の資料公開にもかなりの時間がかかってしまいました。

外部に依存したコードもテストで駆動する / Test-Driven Architecture(10月31日)

10月31日には AWS Dev Day Tokyo 2018にお招き頂き、レガシーコード改善とテスト駆動開発に関する講演を行いました。一昨年 AWS Dev Day Tokyo 2017にも依頼を頂いて講演していましたので(講演資料 / 動画)、2年連続の登壇です。

はてなブックマークのコメントTwitter 上のコメントなどで「シナリオがリアリティを伴っててよい」というありがたい評価をいただきましたが、それもそのはずで、この講演の内容はほぼ実話です。2018年秋に私が実際に開発を引き継いだ Alexa Skill の立て直しと機能拡張の流れを、原作者の許可を得た上でアプリの内容を一般化し、講演用に細部を整えたものが今回の講演の背後にあるコードです。つまり、いわゆる「天然物のレガシーコード」です。養殖物(講演用にひねり出した人工的なレガシーコード)ではなく、良い天然物が手に入ったために生まれた講演と言えるかもしれません。

当日の講演はストリーミング配信されていましたが、後日の映像公開に同意しましたので、遠からず動画も公開されるのではないかと思います。

その他「新作」

power-assert v2(11月23日)

東京 Node 学園祭 2018 にて、 power-assert の次のメジャーバージョンアップ計画についてのライトニングトークを行いました。講演資料はまだ公開しておりませんが、近いうちに公開するか、あるいは実際の power-assert v2 のリリースをもって公開の代わりとさせていただくかもしれません。

地獄の軽減税率ライブコーディング(12月21日)

銀座Rails#4にてテスト駆動開発のライブコーディングの新作を行いました。「地獄の軽減税率ライブコーディング」というタイトルで、 Rails と RSpec を使って軽減税率のデータモデリングとテストを実際に壇上で行うというかなり攻めた内容にチャレンジしました。初めての内容なので当日はミスもあり完璧なライブコーディングとはなりませんでしたが、TDDのリズム感を初めてご覧になった方も多かった模様なので、お役にはたてたのではないかと思います。練度を上げてこのお題でのライブコーディングに再チャレンジしたいと思います。

再演登壇(47回)

ここからは「新作」講演ではなく、再演や企業セミナーなどについてまとめます。

テスト駆動開発(講演/ライブコーディング/ワークショップ)

テスト駆動開発に関する講演、ライブコーディング、そして1日コースのワークショップは、 2018年に最も多くの登壇依頼を頂いたコンテンツでした。講演内容は年々ライブコーディングの比率を高めており、最近の講演ではおよそ90分間の実演を行っています。 JaSST'18 Kansai の基調講演を契機に内容を改訂したので、2018年前半は de:code 2017 で実演した内容、2018年後半は JaSST'18 Kansai で実演した内容をベースに毎回アドリブを交えて講演しています。

2018年は、主なところでは以下のような企業、教育機関、カンファレンス、勉強会コミュニティの皆様に向けてテスト駆動開発の講演/ワークショップを行わせていただきました(以下敬称略)。

この他にも多くの企業様に向けてワークショップを行わせていただきました。誠にありがとうございます。

参加された皆様のレポート(抜粋)

プログラマーとして生きていくためのキャリア戦略

プログラマー、ITエンジニアとして生きていくためのキャリア戦略に関する講演も、毎年講演依頼を頂く安定したコンテンツです。今年は企業の新人研修の一環や、若手エンジニアコミュニティ向けの講演というかたちで何回か講演させていただきました。2019年も内容を改訂しつつ何度かお話しをさせていただくことになると思います。

組織にテストを書く文化を根付かせる戦略と戦術

これまで自動テストを書いてこなかった組織にテストを書く文化を根付かせていくための戦略と戦術に関する講演も、多くの企業様から社内講演として依頼を頂くコンテンツです。2018年にも何社かで講演させていただきました。公開している資料は、ソフトバンク株式会社様の技術イベント「テクシオ」にて講演させていただいた際の資料です。

SQLアンチパターン

私が監訳を手がけた『SQLアンチパターン』に関する講演も、引き続き依頼の多いコンテンツです。また、SQLアンチパターンは社内読書会に向いている(各章が独立している、社内の実際の DB 設計を見ながらの議論が捗る)ので、今後もさまざまな社内読書会にゲスト参加させていただけると、監訳者としても非常に嬉しいものがあります。

社内読書会ゲスト参加

前年に出版したばかりであることもあり、2018年は『テスト駆動開発』の社内読書会に何度か参加させていただきました。『テスト駆動開発』は『SQLアンチパターン』とは異なり、どちらかというと自習に向いた本です(第1部、第2部は時系列に読まないとならない。コードを実際に書きながら読んだ方が良い)。では各社がどう社内読書会を設計されているかというと、いわゆる「もくもく会」形式で読書会を行い、効果的に進められているようです。

レポートを書いてくださった企業様

対談、インタビュー、Podcast 出演

2018 年は何度か対談、インタビュー、 Podcast などに出演させていただきました。

対談「健全なビジネスの継続的成長のためには健全なコードが必要だ」

ブログ「時を超えたプログラミングの道」の家永さん天野さん懸田さんから依頼を頂き、家永さんと対談した全6回の記事です。家永さんと私は2004、5年に当時ではまだ珍しいアジャイルプロジェクトのチームメイトとして毎日ペアプログラミングを行っていた仲間です。対談では当時のことから始まり、テスト駆動開発、パターン、リファクタリング、技術的負債、「付録C」のことなど様々なことを話しました。特に対談の後半(第5回第6回)には多くの反響を頂きました。

とちぎテストの会議05でのパネルディスカッション

5月12日には「とちぎテストの会議05」に参加し、パネルディスカッションのパネリストを務めました。とちぎ Ruby 会議やとちぎテストの会議は「練度の高い」参加者が集う独特な質を伴うイベントなのですが、とちぎテストの会議には毎回何らかの形で登壇させていただいています。事前にテーマを知らされないパネルディスカッションなど、かなり難易度の高い年もあります。そして2018年のパネルは事前にテーマを知らせていただいたにもかかわらず、それでもなかなか難しいものでした。自分にとって、とちぎのイベントは自分に負荷をかけ、一段深い言葉にたどり着く可能性を作ってくれる舞台なので、これからも参加できればと思います。

インタビュー「異能エンジニアの肖像」

古くからの知り合いである日経の大森記者からの依頼で、取材していただきました。内容はコンピュータと出会った大学時代から現在までの私のキャリアについてです。取材当日は大森さんと知己であることも手伝ってかなり長い時間話してしまったのですが、全3回のきれいにまとまったインタビュー記事になるあたりは、さすが力のある大森さんだなと思ったのでした。

インタビュー「No API Is the Best API — The elegant power of Power Assert」

5月27日に Intoli 社の Evan Sangaline さん(Remote Browser 作者)からメールで依頼を頂き、 power-assert に関するインタビューを受けました。突然のことで驚きましたが、海外からのインタビュー依頼はとても嬉しいものでした。何回かメールをやりとりし、最終的にIntoli 社の Blog 記事として公開されました。

Podcast ajito.fm #23: Effective Presentations

新人研修真っ只中の4月上旬に ajito.fmsuzukenさんと新人研修やプレゼンテーションの設計について行った対談を Podcast として収録していただきました

ajito.fmへの出演は3回目だったこともあり(#6: Worse is Better#13: Test Driven Development)、リラックスして話せた記憶があります。内容もこれまでまったく話してこなかった講演の設計についての話なので、私のアウトプットとしてはかなり珍しい部類になるのではないかと思います。

執筆

WEB+DB PRESS Vol.102 特集1「はじめてのペアプロ/モブプロ - メキメキと人が育ち,プロダクトの質を高める」

これは正確には2018年のアウトプットではないのですが、発売が2017年末の12月23日だったため、そして2017年末にはブログを書いていないため、ここで紹介させてください。

WEB+DB PRESS Vol.102 の特集1として、ペアプログラミングとモブプログラミングに関する記事を書かせていただきました。2017年にはペアプログラミングの再評価とモブプログラミングの流行の兆しがありました。その背後には何があるのかを考察し、このタイミングで整理して書いておかなければならないと考え、モブプログラミングを実際に業務に取り込んでいる楽天の川口さん及部さんに声をかけ、企画を実現しました。2019年始の現時点においてもまだ数少ない、ペアプログラミング、モブプログラミングに関して日本語で読めるまとまった記事であると考えます。もちろん WEB+DB PRESS Vol.102 はもう書店では手に入りませんが、この特集は「WEB+DB PRESS総集編 [Vol.1~102]」に収録されています。

WEB+DB PRESS総集編[Vol.1~102] (WEB+DB PRESS plusシリーズ)

WEB+DB PRESS総集編[Vol.1~102] (WEB+DB PRESS plusシリーズ)

  • 作者: 川合史朗,秋葉拓哉,中嶋謙互,木村廉,酒井政裕,ninjinkun,渡辺訓章,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/04/26
  • メディア: 単行本
  • この商品を含むブログ (1件) を見る

増刷作業

大変ありがたいことに、 2018 年はこれまで手がけた書籍がすべて増刷された年となりました。発売から間もない『テスト駆動開発』は1年で3回も増刷がかかり、多くの方にお読みいただいているという実感を得ることができました。増刷を繰り返している書籍はもう誤りは報告されていませんが、例えば誤読を避けるための言い回しなど、増刷のたびに毎回何箇所か改善しています。

テスト駆動開発

テスト駆動開発

SQLアンチパターン

SQLアンチパターン

プログラマが知るべき97のこと

プログラマが知るべき97のこと

  • 作者: 和田卓人,Kevlin Henney,夏目大
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2010/12/18
  • メディア: 単行本(ソフトカバー)
  • 購入: 58人 クリック: 2,107回
  • この商品を含むブログ (350件) を見る

OSS 開発

自分が公開した OSS プロダクトの中では最も多くの方にお使いいただいている power-assert のリリースを3回行いました。

2018年の1年間で power-assert の週間ダウンロード数はおよそ10倍になり(多いときで週間35万ダウンロード)、世界のさまざまなところで使われるプロダクトまで育った実感が得られるとともに、重圧を感じるようにもなりました。

ユーザの投資(つまりはテストコード)を無駄にしないために穏やかな進化を指向しているプロダクトなので、リリース頻度はこのくらいがよいだろうと考えています。ただ、2019年にはメジャーバージョンアップを計画していますので、もう少しリリース頻度が上がるかもしれません。

2019年に向けて

忙しいなとは思っていたのですが、改めて数えてみると通常業務と子育てをこなしながら講演/ワークショップを年間53回というのは、なかなか多いものだなと改めて思いました。ajito.fm #23に出演させていただいた際に、 suzuken さんからの「年間どれくらい講演されているんですか?」という質問に対して(回数を把握していないので)咄嗟に「たぶん50回くらい」と答えたのですが(#23 の 16:45あたり)、蓋を開けてみるとだいたいあっていた、ということになります。

2018年後半は、過労と心労から体調を大きく崩すという経験もしていますし、子育てのプライオリティの方が高いので、このペースが常に持続可能であるとは考えていません。とはいえ、2019年も無理のないペースで講演、執筆、OSS開発などのアウトプットを重ねていきたいと思います。2019年も何卒よろしくお願いします。