tomoima525's blog

Androidとか技術とかその他気になったことを書いているブログ。世界の秘密はカレーの中にある!サンフランシスコから発信中。

海外の国際デベロッパーカンファレンスに採択されるまでの道のりと登壇のノウハウ

f:id:tomoima525:20181230073149p:plain:w400

11月にアメリカでDroidconと呼ばれるAndroidデベロッパーカンファレンスに初めて登壇しました。この記事では海外(日本国外)カンファレンスの選択、採択されるまでの道のり、発表までどのような準備が必要かをまとめてみました。

登壇したカンファレンス

Droidcon San Francisco 2018というカンファレンスです。

https://www.sf.droidcon.com/

Androidデベロッパーカンファレンスとして世界最大規模の国際カンファレンスで、世界各国で行われています。アメリカではNewYorkとSan Franciscoで毎年開催されています。San Franciscoでは800人以上の開発者が参加し、2日間で70以上のトークセッションがあります。巨大IT企業やユニコーンのお膝元だけあり、GoogleFacebookUberAirbnbなど名だたる企業のソフトウェアエンジニアが発表しているのが特徴です。このカンファレンスで自分は"Camera2 API and beyond"という内容で、Camera2 APIの基本的なしくみ、実装方法からOpenGLを使った応用までの内容について発表しました。
スライドや動画はこちら ↓

speakerdeck.com

www.youtube.com

心構え

なにはともあれ心構えからです。

なぜ日本国外のデベロッパーカンファレンスに登壇するのか?

"世界中のソフトウェアエンジニアに役に立つことを発信したい" からですよね。

もし日本だけでもよい、ということであれば日本国内にも素晴らしいカンファレンスが山ほどあるので無理することはないです。

カンファレンス探し

心構えができたら、カンファレンス探しから始めます。自分の専門領域 + "conference" で検索すればきっと出てきますし、単純によく見聞きするカンファレンスでもよいと思います。大体Call For Paper(登壇者募集)は開催の3,4ヶ月前から始まります。時期的に登壇できるものを選ぶと良いです。

注意点としては、小さな国での開催、またはその国の地方での開催ですと、現地語での発表がメインなケースがあります。それでは"世界中のエンジニアに役に立つことを発表する"という目的とは少々それてしまいますし、英語で頑張って話しても聴衆に理解してもらえない可能性もあります。"International Conference"と銘打っているカンファレンスを探すとよいです。

自分の場合は、

  • 得意な分野で一番規模の大きい国際カンファレンス
  • 500人以上の参加者
  • アメリカまたはユーロ圏での開催

で選びました。Droidconも開催国によっては100人以下の参加者で現地語メイン(のように見受けられる)ものがあったためです。

Call For Paper

テーマを決める

次は一番重要な登壇内容の投稿です。一般的に国際カンファレンスでは10人ほどのカンファレンスコミッティー(運営委員会)があり、応募された内容を投票形式で選定しているようです。カンファレンスの規模にもよりますが、数百件の応募があるようです。

どのような登壇テーマが良いのかというのは、その技術分野の熟成度によるかなと思います。例えば、Android界隈はベーシックな技術的テーマは出尽くし、設計パターンや大規模プロジェクトにおける開発ノウハウがセッションのトレンドです。Kotlinを使ったグッド・バッドプラクティスなども人気ですね。

では、良し悪しは別として、どのような登壇テーマが通りやすいのでしょうか。個人的な観測で言えば、

  • 比較的ニッチで
  • 初心者~中級者向け

のテーマが採択率が高そうです。トレンドに合わせた内容で応募すると、世界中から似たようなテーマで投稿があるので、埋もれてしまいやすいです。また、国際カンファレンスの場合だとどの応募者も張り切るので上級者向けになりやすいですが、 カンファレンス主催側としては初心者も聴講できる内容もバランス良く入れたいはずなので、そういうスポットを狙って行く戦略はwin-winです。 もし著名なライブラリの作者なら、そのライブラリの導入について話せばまず通るんじゃないかなと思います。

自分はDroidcon SF, NY, London, Germanyの4つのカンファレンスに、それぞれ1~2回ずつ応募しました。なお、採択されなかったトークについていくつか紹介すると、

  • "複雑かつ動的に変化するタイムラインをMVVMとRxストリームで描画する"
  • "ReactNativeとNativeのハイブリッドアプリケーションの開発ノウハウ"

というトレンド、上級者ど直球な内容でした。

CFPを書く

さて、発表の次にハードルが高いCFPの執筆です。理想は書いたCFPをネイティブにチェックしてもらうことですが、ネイティブの人たちに常々言われたのは "世界中から投稿があるからちょっとくらい文法が変でも全く気にしない" です。ということで、最低限、時制、冠詞、三単現とスペルをGrammarlyでチェックしてOKなら出しましょう。自分も採択されたCFPはネイテイブのチェックなしです。

書き方のフォーマットは特にないですが、表現や書き出しをどう書いたらよいかわからなければ過去のカンファレンスの投稿内容を参考にすることはおすすめです。自分は複数のカンファレンスのアブストラクトを100件は目を通しました。

また、書き方のコツと呼べるかわかりませんが、今回採択されたテーマに関しては、2つの工夫を入れました。

1. 新しい観点を取りいれる
やたらわかりにくいという定評のあるCamera2 APIについて、"コールバックの観点から理解を深める"という新しい切り口を入れたことを強調しました。

2. すでに英語で書いていた技術ブログのリンクを貼る
すでに英語ブログで記事を書いていたので、そのリンクを貼りました。テーマ選定時は企業名や名前を隠して行われるので、グレーゾーンな行為かもしれません*1が、 "そのテーマで話す準備はできているぞ"というアピールにはなった と思います。

参考までにこちらが実物のCFPです。

docs.google.com

後に会場で実行委員長と話す機会があり、 "僕が聴きたくて君のトークを選んだんだ" と言われたときは素直に嬉しかったです。

準備

さて、無事採択されたら次は登壇準備になります。ここで重要なことはただ一点、"とにかく早く準備し、練習する"です。直前までスライドを作るなんてもってのほかです。かくいう自分はちょうど転職が重なったりしてまとまった時間が取れず、スタートは早かったものの、最終的にかなりギリギリまで準備していて辛い思いをしました。

スライド作成

この辺は発表慣れしている方たちが提供されている情報のほうがはるかに知見があると思いますが、自分が意識したこととしては

  • 文字数は極力減らして図、画像を使う
  • コードは注目してもらいたい箇所でハイライトする

ということでしょうか。Keynoteの場合、MagicMove をハイライトに上手に使うとシームレスに聴衆の視点を移動できるのでおすすめです。

発表練習

スライド作成よりはトークの練習に重きを置いたほうがよいです。本番と同じように声を出して練習することで緩急や時間の割り振りも意識できるようになります。自分は奥さんに発表を撮影してもらい、声のトーンや癖、視線、姿勢などをチェックしました。

f:id:tomoima525:20181230074737p:plain:w400
前日にパジャマ姿で練習する奴

なお、練習時は30分程度でしたが発表時はデモだったり間が違ったりして、40分(持ち時間は45分)だったので、短いかな、くらいで十分であるという知見を得ました。

渡航

カンファレンスによっては渡航費、宿泊費をサポートしてくれますので、早めに問い合わせるか、運営からのメールを必ずチェックします。参考までにDroidcon SFでは2日間の宿泊の手配と$600までの航空券代サポートがありましたが、メールによる申請が必要でした。

今回は車で行ける範囲のカンファレンスだったので時差などの問題はなかったのですが、もしヨーロッパ圏のカンファレンスに参加するのであれば、肉体的精神的な安定を保つためにも早めに現地入りしたと思います。

発表

これはもう特にノウハウもなく、胸を張ってやるだけです。最初の口上(自己紹介と話す内容)くらいは空で言えるようにしておくと、その後に勢いがつくのでおすすめです。
あと知り合いが来てくれるととても心強いということを知りました。自分の場合は尊敬するソフトウェアエンジニアの @fshiroyama さんと前職の同僚が見に来てくれてありがたかったです。

f:id:tomoima525:20181120145528j:plain:w400
Demo(cameraのfilter)で撮ったトーク中の画像

あ、それと質問については想定されるものはある程度答えを用意しておく、わからない質問はゴニョゴニョせずにさっさと"Sorry I don't have an answer now"で乗り切るというのも大事です。

振り返り

自分の発表が2日目後半だったこともあり、初日のアフターパーティーにも参加せず、カンファレンスを楽しむ余裕はあまりなかったのが残念だったです。

発表してからは色々な国の人からメールやGithub,Twitterなどでちょくちょく質問をもらうようになりました。そういうコミュニケーションチャネルが増えたことは登壇してよかった点だと思います。

まとめ

日本国外のデベロッパーカンファレンスにおける日本人の登壇者は決して多いとは言えないです。例えば自分の登壇したDroidconではアジア人の登壇者は何人もいますが、日本人の登壇者は年に1-2人程度なのではないかと思います。

日本国内のカンファレンスのセッションを見ると非常にレベル高く、英語のハードルさえ越えれば海外のカンファレンスで発表する価値があるものです。せっかく世界中のエンジニアに役に立つことをやっているのなら、世界に発信したほうがよいですよね。この記事が日本人のソフトウェアエンジニアのデベロッパーがより気軽に登壇できるきっかけとなれば幸いです。

*1:まあグローバルで有名な会社でもない限りバイアスはないとは思います