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 の新野さんがいらっしゃり、詳細なレポート記事(前編、後編)を書いてくださいました。
- 技術選定の審美眼 / Understanding the Spiral of Technologies - Speaker Deck
- 技術選定の審美眼。時代を超えて生き続ける技術と、破壊的な変化をもたらす技術を見極める(前編)。デブサミ2018 - Publickey
- 技術選定の審美眼。時代を超えて生き続ける技術と、破壊的な変化をもたらす技術を見極める(後編)。デブサミ2018 - Publickey
- デブサミ2018アワードの受賞者が決定、ベストスピーカー総合1位は和田卓人氏:CodeZine(コードジン)
- 【デブサミ2018】15-D-1「技術選定の審美眼(仮)」 #devsumiD #devsumi - Togetter
- 今年もエンジニアの世界とトレンドを見せてくれたデブサミ2018 | TechCrowd
Developers Summit 2018 で行った講演「技術選定の審美眼」がベストスピーカー賞の総合1位をいただきました。これは非常に嬉しいです。誠にありがとうございます。実家に届いていた表彰状を手にして、ようやく実感が湧いてきました。 pic.twitter.com/hDBuBDW5tb
— Takuto Wada (@t_wada) 2018年12月31日
テスト駆動開発から品質保証へと橋を架ける(6月15日)
6月15日にはソフトウェアテストのシンポジウム JaSST'18 Kansai の基調講演にお招き頂き、講演を行いました。
ライブコーディングによる実演が講演時間の8割を占めているため資料のページ数が非常に少なく、かつ資料自体はこれまでに講演した内容が多く含まれていますが、この講演がきっかけで実演部を前後編に分け、途中で資料に戻る形式を編み出しました。JaSST'18 Kansai の基調講演以降、私の TDD ライブコーディングは二部形式に変わっていきます。
あと、まったくの私事になるものの、生前の御友人の皆様やJR西日本の方々にご助力頂き、まさーるさん(石井勝さん)のお墓参りを実現できたのが、個人的には忘れがたい出来事になりました。お招き頂いた JaSST'18 Kansai の会場が伊丹であると分かったときから、なんとか実現したいと思っていました。静かな森の中にある、まさーるさんらしいお墓でした。
- テスト駆動開発から品質保証へと橋を架ける / JaSST'18 Kansai from TDD to QA - Speaker Deck
- JaSST'18 Kansai - Togetter
- JaSST関西’18に行ってきた話(基調講演編) - Hamata log
テスト駆動開発の過去・現在・未来(9月8日)
9月8日にはアジャイルソフトウェア開発のカンファレンスとして日本で最も長い歴史を持つ「XP祭り」の基調講演にお招き頂き、テスト駆動開発の歴史についての講演を行いました。
講演内容は、実質的には『テスト駆動開発』に私が書き下ろしの形で執筆した「付録C」を講演向けにアレンジしたような内容になりました。テスト駆動開発の歴史を過去、現在、未来のパートに分け、過去の総まとめと、これからの展望について自分の視点から考えを述べました。この講演も内容が内容なので非常に心理的プレッシャーが強く、当日までの準備やその後の資料公開にもかなりの時間がかかってしまいました。
- テスト駆動開発の過去・現在・未来 / History of TDD - XPJUG 2018 Keynote - Speaker Deck
- 2018/09/08(土) XP祭り2018 #xpjug (1/5)午前 - Togetter
- XP祭り2018に行ってきました。 - かざいむ日誌
- XP祭り2018に参加してきました。 #xpjug #随時更新終了 - ミッションたぶんPossible
- XP祭り2018とその前夜祭(第2回enPiT-Proスマートエスイーセミナー)に参加した - こまどブログ
XP祭り基調講演の@t_wadaさんのお話を書いてみました。その1#xpjug pic.twitter.com/Kmhs02AjF3
— gaoryu (@DiscoveryCoach) 2018年9月8日
XP祭り基調講演の@t_wadaさんのお話を書いてみました。その2
— gaoryu (@DiscoveryCoach) 2018年9月8日
1枚で収まらなかった…( ̄▽ ̄;)#xpjug pic.twitter.com/qRmheJXup1
基調講演のマインドマップ描いてみた。 #xpjug pic.twitter.com/ooEfMAXZhl
— ビオレパパ☆ぃゎ (@iwaoRd) 2018年9月8日
t_wadaさんのお話メモ。
— 渡部そば / チーム設計師 (@sobarecord) 2018年9月8日
テスト駆動開はほぼ発未経験ですがとても興味深いお話でした。
写経しよう!#xpjug pic.twitter.com/pZzqXnOrD1
@t_wadaさんの基調講演!
— びば(森のフレンズ)/技術書典6 ふりかえり読本 学び編 (@viva_tweet_x) 2018年9月8日
とても、とても、考えさせられるよい話でした
#xpjug pic.twitter.com/ivrMTgQcJQ
外部に依存したコードもテストで駆動する / Test-Driven Architecture(10月31日)
10月31日には AWS Dev Day Tokyo 2018にお招き頂き、レガシーコード改善とテスト駆動開発に関する講演を行いました。一昨年 AWS Dev Day Tokyo 2017にも依頼を頂いて講演していましたので(講演資料 / 動画)、2年連続の登壇です。
はてなブックマークのコメントや Twitter 上のコメントなどで「シナリオがリアリティを伴っててよい」というありがたい評価をいただきましたが、それもそのはずで、この講演の内容はほぼ実話です。2018年秋に私が実際に開発を引き継いだ Alexa Skill の立て直しと機能拡張の流れを、原作者の許可を得た上でアプリの内容を一般化し、講演用に細部を整えたものが今回の講演の背後にあるコードです。つまり、いわゆる「天然物のレガシーコード」です。養殖物(講演用にひねり出した人工的なレガシーコード)ではなく、良い天然物が手に入ったために生まれた講演と言えるかもしれません。
- 外部に依存したコードもテストで駆動する / Test-Driven Architecture - AWS Dev Day Tokyo 2018 - Speaker Deck
- (前年の講演資料)Testable Lambda: Working Effectively with Legacy Lambda - Speaker Deck
- (前年の動画)Testable Lambda|AWS Summit Tokyo 2017 - YouTube
当日の講演はストリーミング配信されていましたが、後日の映像公開に同意しましたので、遠からず動画も公開されるのではないかと思います。
その他「新作」
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 で実演した内容をベースに毎回アドリブを交えて講演しています。
- 50分でわかるテスト駆動開発 / TDD Live in 50 minutes - Speaker Deck
- テスト駆動開発から品質保証へと橋を架ける / JaSST'18 Kansai from TDD to QA - Speaker Deck
2018年は、主なところでは以下のような企業、教育機関、カンファレンス、勉強会コミュニティの皆様に向けてテスト駆動開発の講演/ワークショップを行わせていただきました(以下敬称略)。
- 東京電力ホールディングス株式会社
- ヤフー株式会社
- エヌ・ティ・ティ・コミュニケーションズ株式会社
- 横河電機株式会社
- 東京エレクトロン株式会社
- 株式会社ガイアックス
- ピクシブ株式会社
- 株式会社コアコンセプト・テクノロジー
- 株式会社パソナテックシステムズ
- 香川大学
- 筑波大学
- JaSST'18 Tokyo チュートリアルセッション
- WACATE2018 冬 招待講演
- BPStudy #125
- TDD Boot Camp in 香川
- TDDBC Sendai 8th
この他にも多くの企業様に向けてワークショップを行わせていただきました。誠にありがとうございます。
参加された皆様のレポート(抜粋)
- t_wadaさんによるテスト駆動開発ワークショップが開催されました!(レポート) | NTT Communications Developer Portal
- t_wadaさんによるTDDワークショップをより効果的に活用する方法 | NTT Communications Developer Portal
- テスト駆動開発ワークショップ開催! | 株式会社コアコンセプト・テクノロジー
- t-wadaさんから直接学ぶ!TDDワークショップ開催レポート - pixiv inside
- t_wadaさんと柴田芳樹さんの講演から、テスト駆動開発の良さを実感しました。 #JaSST - ブロッコリーのブログ
- テスト駆動開発(TDD)の真髄を見てきた : 「常識の上の非常識」
- 2018/7/21 TDD Boot Camp in 香川 #1.0 を開催しました♬ -
- 8年越しの約束を果たした話〜TDDBC in 香川の開催の思い出 – kkd’s-remarks – Medium
- TDDBC 仙台の8年間をふりかえる - 世界のやまさ
- 『TDDBC Sendai 8th』に行ってきました! | はじめてのIT勉強会
プログラマーとして生きていくためのキャリア戦略
プログラマー、ITエンジニアとして生きていくためのキャリア戦略に関する講演も、毎年講演依頼を頂く安定したコンテンツです。今年は企業の新人研修の一環や、若手エンジニアコミュニティ向けの講演というかたちで何回か講演させていただきました。2019年も内容を改訂しつつ何度かお話しをさせていただくことになると思います。
- エンジニアとしてこの先生きのこるために - Speaker Deck
- リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します(2018年度版) | リクルートテクノロジーズ メンバーズブログ
- 【和田卓人氏特別講演】若手エンジニアに送る、心構えとキャリア観 - Qiita
- 【和田卓人氏 特別講演】若手エンジニアに送る、”心構え”と”キャリア観” | もんセレクション
- 【講演会メモ:和田卓人氏特別講演】若手エンジニアに送る、"心構え"と"キャリア観" - どこにでもいるSEの備忘録
- 【和田卓人氏特別講演】若手エンジニアに送る、"心構え"と"キャリア観" に行ってきた - 誠意, 征夷大将軍
組織にテストを書く文化を根付かせる戦略と戦術
これまで自動テストを書いてこなかった組織にテストを書く文化を根付かせていくための戦略と戦術に関する講演も、多くの企業様から社内講演として依頼を頂くコンテンツです。2018年にも何社かで講演させていただきました。公開している資料は、ソフトバンク株式会社様の技術イベント「テクシオ」にて講演させていただいた際の資料です。
SQLアンチパターン
私が監訳を手がけた『SQLアンチパターン』に関する講演も、引き続き依頼の多いコンテンツです。また、SQLアンチパターンは社内読書会に向いている(各章が独立している、社内の実際の DB 設計を見ながらの議論が捗る)ので、今後もさまざまな社内読書会にゲスト参加させていただけると、監訳者としても非常に嬉しいものがあります。
- SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
- State of SQL Antipatterns in 2017 - Speaker Deck
- 「SQLアンチパターン勉強会2018」は社内アンチパターンを持ち寄っての開催と進化しました
- 書籍「SQLアンチパターン」読書会スペシャル を開催しました | 株式会社日本システム技研
- 「SQLアンチパターン」読書会スペシャルに参加しました #nseg #glnagano #sqlap - メモ的な思考的な
社内読書会ゲスト参加
前年に出版したばかりであることもあり、2018年は『テスト駆動開発』の社内読書会に何度か参加させていただきました。『テスト駆動開発』は『SQLアンチパターン』とは異なり、どちらかというと自習に向いた本です(第1部、第2部は時系列に読まないとならない。コードを実際に書きながら読んだ方が良い)。では各社がどう社内読書会を設計されているかというと、いわゆる「もくもく会」形式で読書会を行い、効果的に進められているようです。
レポートを書いてくださった企業様
- 株式会社フィードフォース様 - 第二回社内読書感想会(テスト駆動開発)に翻訳者の t-wada さんをお招きいたしました! - Feedforce Developer Blog
- 株式会社 FiNC Technologies 様 - t-wadaさんとのテスト駆動開発勉強会 – FiNC Tech Blog – Medium
対談、インタビュー、Podcast 出演
2018 年は何度か対談、インタビュー、 Podcast などに出演させていただきました。
対談「健全なビジネスの継続的成長のためには健全なコードが必要だ」
ブログ「時を超えたプログラミングの道」の家永さん、天野さん、懸田さんから依頼を頂き、家永さんと対談した全6回の記事です。家永さんと私は2004、5年に当時ではまだ珍しいアジャイルプロジェクトのチームメイトとして毎日ペアプログラミングを行っていた仲間です。対談では当時のことから始まり、テスト駆動開発、パターン、リファクタリング、技術的負債、「付録C」のことなど様々なことを話しました。特に対談の後半(第5回、第6回)には多くの反響を頂きました。
- 『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談リンク集(全6回) – 時を超えたプログラミングの道
- 変化に適応するために開発者がしてきたこと 〜 『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (1)
- 粘土のように設計して外側のフィードバックループを回す 〜 『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (2)
- ヘロヘロスクラム、内部の質、変化のための設計〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (3)
- ぼくらはコードに住んでいる:エンジニアの「生き生き」とコードの関係性〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (4)
- マニアが潰したテスト駆動開発〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (5)
- 希薄化したTDD、プロダクトの成長のために必要なものは?〜『健全なビジネスの継続的成長のためには健全なコードが必要だ』対談 (6)
とちぎテストの会議05でのパネルディスカッション
5月12日には「とちぎテストの会議05」に参加し、パネルディスカッションのパネリストを務めました。とちぎ Ruby 会議やとちぎテストの会議は「練度の高い」参加者が集う独特な質を伴うイベントなのですが、とちぎテストの会議には毎回何らかの形で登壇させていただいています。事前にテーマを知らされないパネルディスカッションなど、かなり難易度の高い年もあります。そして2018年のパネルは事前にテーマを知らせていただいたにもかかわらず、それでもなかなか難しいものでした。自分にとって、とちぎのイベントは自分に負荷をかけ、一段深い言葉にたどり着く可能性を作ってくれる舞台なので、これからも参加できればと思います。
インタビュー「異能エンジニアの肖像」
古くからの知り合いである日経の大森記者からの依頼で、取材していただきました。内容はコンピュータと出会った大学時代から現在までの私のキャリアについてです。取材当日は大森さんと知己であることも手伝ってかなり長い時間話してしまったのですが、全3回のきれいにまとまったインタビュー記事になるあたりは、さすが力のある大森さんだなと思ったのでした。
- 設計だけでコードを書けないなら断る、TDD伝道師の原点 | 日経 xTECH(クロステック)
- 避けてきたWeb開発、仕事激減で正面から取り組む | 日経 xTECH(クロステック)
- 自分のコードを嫌いにならない、そのためにやるべきこと | 日経 xTECH(クロステック)
インタビュー「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.fm のsuzukenさんと新人研修やプレゼンテーションの設計について行った対談を Podcast として収録していただきました。
ajito.fmへの出演は3回目だったこともあり(#6: Worse is Better、#13: Test Driven Development)、リラックスして話せた記憶があります。内容もこれまでまったく話してこなかった講演の設計についての話なので、私のアウトプットとしてはかなり珍しい部類になるのではないかと思います。
- ajitofm 23: Effective Presentations
- ajito.fm/23 を聴いて:「学びの話」「講演の話」 - tamakiii
- ajitofm 23: Effective Presentations を聴いて - Vapor Trail
- ajitofm 6: Worse is Better
- ajitofm 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シリーズ)
- 作者: 川合史朗,秋葉拓哉,中嶋謙互,木村廉,酒井政裕,ninjinkun,渡辺訓章,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2018/04/26
- メディア: 単行本
- この商品を含むブログ (1件) を見る
増刷作業
大変ありがたいことに、 2018 年はこれまで手がけた書籍がすべて増刷された年となりました。発売から間もない『テスト駆動開発』は1年で3回も増刷がかかり、多くの方にお読みいただいているという実感を得ることができました。増刷を繰り返している書籍はもう誤りは報告されていませんが、例えば誤読を避けるための言い回しなど、増刷のたびに毎回何箇所か改善しています。
- テスト駆動開発(第3、4、5刷)
- SQLアンチパターン(第10刷)
- プログラマが知るべき97のこと(第12刷)
各出版社から立て続けに連絡をいただき、『テスト駆動開発』『SQLアンチパターン』『プログラマが知るべき97のこと』全ての増刷が決まりました。誠にありがとうございます。嬉しい驚きです。来年も多くの方にお読みいただける本になると良いなと思います。
— Takuto Wada (@t_wada) 2018年12月29日
- 作者: Kent Beck,和田卓人
- 出版社/メーカー: オーム社
- 発売日: 2017/10/14
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
- 作者: Bill Karwin,和田卓人,和田省二,児島修
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/01/26
- メディア: 大型本
- 購入: 9人 クリック: 698回
- この商品を含むブログ (46件) を見る
- 作者: 和田卓人,Kevlin Henney,夏目大
- 出版社/メーカー: オライリージャパン
- 発売日: 2010/12/18
- メディア: 単行本(ソフトカバー)
- 購入: 58人 クリック: 2,107回
- この商品を含むブログ (350件) を見る
OSS 開発
自分が公開した OSS プロダクトの中では最も多くの方にお使いいただいている power-assert のリリースを3回行いました。
2018年の1年間で power-assert の週間ダウンロード数はおよそ10倍になり(多いときで週間35万ダウンロード)、世界のさまざまなところで使われるプロダクトまで育った実感が得られるとともに、重圧を感じるようにもなりました。
ユーザの投資(つまりはテストコード)を無駄にしないために穏やかな進化を指向しているプロダクトなので、リリース頻度はこのくらいがよいだろうと考えています。ただ、2019年にはメジャーバージョンアップを計画していますので、もう少しリリース頻度が上がるかもしれません。
- Release v1.5.0: Strict mode (2018-03-30)
- Release v1.6.0: ES2018 (2018-06-14)
- Release v1.6.1: Jest Integration (2018-09-08)
2019年に向けて
忙しいなとは思っていたのですが、改めて数えてみると通常業務と子育てをこなしながら講演/ワークショップを年間53回というのは、なかなか多いものだなと改めて思いました。ajito.fm #23に出演させていただいた際に、 suzuken さんからの「年間どれくらい講演されているんですか?」という質問に対して(回数を把握していないので)咄嗟に「たぶん50回くらい」と答えたのですが(#23 の 16:45あたり)、蓋を開けてみるとだいたいあっていた、ということになります。
2018年後半は、過労と心労から体調を大きく崩すという経験もしていますし、子育てのプライオリティの方が高いので、このペースが常に持続可能であるとは考えていません。とはいえ、2019年も無理のないペースで講演、執筆、OSS開発などのアウトプットを重ねていきたいと思います。2019年も何卒よろしくお願いします。