海外カンファレンスでの登壇を通じて
持ちネタをいかにうまく話すか
先日 ookami, Inc. の Wantedly ブログにこのような記事を投稿しました。
こちらは iOS エンジニア以外の方も対象なので、発表内容についてはスライドを掲載するだけにしていました。このコラムではどのように発表内容を決めていったのか、その結果はどうだったかを書きます。
一言で表すとすれば、サブタイトルにも書いたとおり「持ちネタをいかにうまく話すか」を追求しました。
それでは順に紹介します🚀
タイトルと概要の決定
多くのカンファレンスでは、 CfP 提出(トーク応募)時など先にタイトルと概要を決めます。この時点ではまだ詳細は決めていませんでした。
「Making iOS Development Efficient with Swift」
今回のタイトルはこのようにしました。最終的には中身とあわなくなったと感じていますが、はじめに決めたのでこのまま押し通しました😐
概要は、 Swift Package Manager を使ってコマンドラインツールを作成しようと考えていました。1年ほど前は Swift Package Manage にコントリビュートするほどいじっていたのですが、最近はあまり追いかけていなかったので、最新版を動かして得られた知見を共有しようと考えました。
iOS アプリ開発の現場では CocoaPods や Carthage が使われていますが、サーバーサイド Swift やコマンドラインツールでの活用が目的であれば、すでに十分使える状態です。ただ現状 Swift Package Manager を取り上げる方が多くはないので、これも決めた理由のひとつでした。
ネタ作り
タイトルと概要が決まってからネタ作りを始めました。ネタ作りとは、たとえばトークで紹介するサンプルの実装ですね。2016年3月に東京で開催された try! Swift のあとに作ったツールがあるので、まずはそれを Swift 4 に対応させようと考えました。
ただ当時からメンテナンスしていなかったのですんなりとはいきませんでした。またわざわざ自前でコードを書く必要がない箇所も多く見つかって、「もしかしてネタがなくなるのでは」と思いはじめました🙄
時間が足りないことはあきらめる
自分の性格上、何事も準備がギリギリになることは長年の経験でわかっていますので、今回時間が足りないからといって悲観的になることはありませんでした。仮に1年前から登壇が決まっていても直前には時間が足りないでしょう😇
また、今回の渡航前にメインで使っている MacBook Pro が故障しました。キーボードが反応しないだけでしたので、本体とは別に USB でキーボードとマウスを接続すれば使えたのですが、登壇時にそれをやるのはさすがにツライと思いました。そのため別の MacBook Air に移行しました🙃
このような状況でしたのである段階でサンプル作りをやめ、どのようにトークを組み立てるかを考えはじめました。
サンプル作りをやめた代わりに、 mono (@_mono)さんが GitHub で公開されているコマンドラインツール、LicensePlist を紹介しました💁
トーク作り
有料のカンファレンスだったので、観客が自分のトークに何を求めているかはかなり意識しました。自分のネタは簡単すぎると思っていましたが、観客にウケるかどうかはいくら考えてもはっきりしません。
ただ同じネタ(スライドやデモ)でも話し方次第で印象はずいぶん変わると考えています。そこでむやみに難しいネタを増やすより、すでにあるネタを観客にうまく伝えることを優先しました🤔
現場の話をする
スライドにはさらっと箇条書きにしていることでも、できるだけ具体的な現場の話をするよう心がけました。例をあげると、WWDC では Swift Package Manager について次のように紹介されていました。
WWDC2017: Session 402「What’s New in Swift」
Video: [02:25] / Slides: 77,000+ packages on GitHub
Popular for server-side Swift
ただどういう事情でそうなのかが個人的に気になったので、Tokyo Server Side Swift Meetup に参加したり、自作のサーバーサイド Swift フレームワークを実践投入している @noppoMan722 さんにうかがったりして情報収集しました。
観客との交流を図る
海外カンファレンスのトークでは特にそうしているのですが、観客に話しかけるようにしています。たとえば今回は次のような話をしました🕺
- 「Belarus(ベラルーシ)は英語でどのように発音しますか?」
- 「日本から来ました。どこにあるかご存知ですか?」
- 「Swift Package Manager を使ったことはありますか?」
- 「🥞ステッカーがほしい方はあとで取りにきてください」
このように観客へ質問するなどして目を配ると、真剣に聴いてくれていることを実感できたり、時には笑ってくれて場がなごむこともあります。それでこちらもリラックスできます🤗
(発音については Mac のスピーチ機能や Web でわかるだろうという意見があるかと思いますがこれはコミュニケーションのためです)
本番
トークがはじまったらもう余計なことを考える必要はないですね。準備したことを順番に披露していくだけです💪
観客の反応
Belarus の発音を聞いたときは観客の食いつきがよかったですね。ひとりふたりではなくみなさんが答えてくれるような感じでした😃
また日本の話をしたときには「さすがに知ってるよ」「え、そんなに遠いところから来たの?」と笑いが起きて場がなごみました😆
Swift Package Manager を使ったことがある方は数名おられました。Objective-C を使っている方が多かったのでこれは意外でした😮
最後の🥞ステッカーについては、トーク後に多くの方が取りに来てくれたのでうれしかったです🙌
発表内容に関する反応
前述のとおり内容が簡単すぎると思っていましたが、簡単なことを詳しく説明したため「知らなかったことを理解できた」と言われました。一番うれしかったのは「わかりやすかった」と言われたことですね。簡単なことなのでわかりやすいのはもちろんですが、僕が話した言葉がすべてしっかり理解できたと言われたのがうれしかったです。もちろん簡単な英語だったからなのですが、とにかく持ちネタをうまく伝えることができました👌
英語は実践
英語についてよく聞かれるので、少し脱線して個人的な考えを書きます。僕は TOEIC などの試験を受けたことがありませんし、英会話の講座を受けたこともありません。実践しかしていません。
たとえば Tokyo iOS Meetup には可能な限り参加するようにしていて、これまで3回発表しています。また海外からエンジニアが来日することがわかると積極的にからみにいきます😎
英語のトークではゆっくりはっきり話すよう心がけています。国際カンファレンスではそれでよいと考えています。今回は英語圏ではなかったので特にそうでしたが、仮にアメリカ開催のカンファレンスであったとしても観客全員が英語に堪能であるとは限りませんし、海外のエンジニアからもそれでいいんだと言われたことがあります。
(英語を熱心に勉強している方々を否定する気はまったくありませんし、上手に話せたほうがメリットはあります👍 僕がこうだというだけです)
さいごに
Wantedly ブログにも書きましたが、無難に終えてみてあらためて、これまで海外カンファレンスでの登壇を重ねている堤さんや稲見さん、北さん、多賀谷さん、西山さんたちのすごさを痛感しました🙌
(もれている方はすみません🙏)