ランサーズ Advent Calendar 2019 2日目の記事です。
SREチームの金澤です。
2019/11/7 – 2019/11/10 にCakeFestが開催され、Conferenceに登壇しました。
(ランサーズは前回の2017年に続き、2019年もスポンサーでした)
CakeFestは国際的なカンファレンスのため、英語での発表になりました。
私自身、英語で発表するのは初めての経験でしたが、どのように準備したのか知りたいという要望が多かったので、そのことを中心に書きたいと思います。
実録ドキュメント的な内容になってしまいましたがご容赦を。
CakeFestについて
CakeFestはCakePHPの世界的なイベントで、2019年は日本で開催されることになりました。
※ランサーズは前回の2017年に続き、2019年もスポンサーになっています。
CakeFestはWorkShop2日、Conference2日で構成されます。
WorkShopではCakePHPの最新機能を利用したアプリ構築のレッスンを行います。
Conferenceでは世界各地から応募されたプロポーザルのプレゼンテーションの場となっています。
プロポーザル提出までの経緯
CakeFestが東京で開催されることが決定し、プロポーザルを募集していたのが2018/12頃だったと思います。
この頃はランサーズのCakePHP1.3→2.8移行の大詰めを迎えていた時期で、プロポーザルは他テーマも含めていくつか提出していました。
「CakePHP3への滑らかな移行を考える」というテーマについては、CakeFestの開催まで1年近くありましたので、その頃にはCakePHP3に着手できているはずという思いで見切り発車で提出したものでした。
登壇の決定
そして、採用されたのが「CakePHP3への滑らかな移行を考える」でした。
登壇が決定したのが2019/5/13で、PHP7の移行作業をしていた時期です。
CakePHP3へのバージョンアップについては世界的に関心のあるテーマであることを改めて感じましたが、
いざ採択されると
・ネタの準備
・英語の準備
と2つ同時に進めないといけないプレッシャーがのしかかってきました。
※実のところ、PHP7までアップグレードできたら、CakePHP3移行はすぐに着手せず、別のフレームワークも含めて皆で検討しても良いかなと思っていたのですが。。。
開発チームのメンバーもCakePHP3自体への関心は高かったし、私自身はCakeFestの登壇で火がつき、
今年のスケジュールは、このCakeFestを中心に進めることにしました。
ネタの準備
さすがにこの時までにCakePHP3移行は終わらないですが、
移行までの道筋を提示することはできるだろうと見積もっていました。
ただ、その前にやらなければいけないことが残っていました。
バージョンアップを優先し、着手できていなかったタスクです。
・スロークエリ潰し(ここ2年で増えたもの)
・サムネイル生成のリソース問題の対応
※その成果が、PHPカンファレンス沖縄の登壇内容と、このブログに反映されています
それぞれ、約1ヶ月ほど費やしましたので、
本格的に、CakePHP3化に着手できたのは8月下旬からでした。
※その成果が、以下のブログになります。
CakePHP3バージョンアップの開始
ModelのPHP3移行
登壇スライドは、↑に加えて進めていた内容も盛り込んでいます。
今後ブログにしていきたいと思います。
英語の準備
英語での発表は大きなプレッシャーでしたし、それなりに準備が必要だと感じました。
普段、Mailやチャットなどで英語を使うことはあり、それは落ち着いて翻訳できるのですが、
日常会話は即時性が求められます。
登壇については、カンペを作っておけば最悪なんとかなるだろうと思っていましたが、
質疑応答や、日常会話はできておく必要があると思い、勉強を始めました。
以下、私が主に準備した内容を紹介します。
オンライン英会話
オンライン英会話サービスは今回初めてやってみたのですが、非常に良いサービスだと思いました。
わざわざ教室に行かなくても良いし、費用もリーズナブルでPCで行えるというのも逆に好都合でした。
(Google翻訳を使ったりメモしたりが楽)
少し前までは、Skypeを使って行うことが多かったみたいですが、
最近はどのサービスも自前でビデオ通話システムを用意しており、
スマートフォン用のアプリも充実しているようです。(私はPCでのみやりました)
価格.comの比較ページを参考にし、
無料体験も含めて、以下のオンライン英会話サービスを利用してみました。
Kimini
7日間無料(1日1回)
7日を過ぎると自動引き落としになります。
学研運営のサービス。
初めて利用したサービスです。
初心者向けのコースが充実していたので最初にこのサービスを試してみました。
いざ最初の一歩目は緊張していましたが、実際やってみると結構楽しいです。
講師はフィリピン人の方がほとんどだったと思います。
クラウティ
14日間無料(1日1回)
これも学研運営です。
学研はオンライン英会話に力を入れているみたいですね。
14日間も体験できること自体が素晴らしいです。
個人的には電話応対のテキストが参考になりました。
(本番でそのシチュエーションはなさそうですが、今後役に立ちそう)
DMM英会話
とても評価の高いサービス。大体の方がまず薦めてくれます。
テキストが豊富で、講師陣の国籍も豊富。
(ネイティブスピーカーは体験時は選択できませんでした)
24時間レッスンできるのも良かったです。
夜中にレッスンを受けることが多かったので、セルビアの講師とよく話していました。
レアジョブ
こちらも評価高いです。
最初のステップで英会話レベルを判定してもらい、
カウンセリングを受けて、どのテキスト、レベルから始めたら良いかをアドバイスしてもらえます。
歴史も長いようで、英語教育そのものに本気で力入れている感が伝わってきます。
講師はフィリピン大学の学生がメインですが、良い講師が多くフィードバックも丁寧で早いです。
学部がわかるので、情報系の方の講師を中心にレッスンしてもらいました。
Native Camp
無料枠のみの利用でしたが、7日間の間、1日に何回でも受けられるのが良かったです。
テキストは簡易的なものが多かったですが、予約したら即レッスン開始可能なシステムになっていて、
とにかく数をこなしたいなら一番良い選択肢かと思います。
過去のCakeFest動画を見る
当日の雰囲気を把握するために、過去のCakeFestの動画を見ました。
2017年開催のはほぼすべて確認しました。
例えばこの方。
冒頭で「Hey, guys!」との挨拶しています。
カジュアルさが伝わってきますが、私はとてもそんな挨拶はできないので
「Hello, everyone」にしておきました。
※gender問題もあるので「Hey, guys」は避けた方が無難と教えてもらいました
Core DeveloperのMark Storyさんの動画です。
CakePHP3へのアップグレードは「brutal」だと言っていますね。
「残忍だ」という表現。
私が訳すとdifficultになるのですが、確かに難しいというよりは残忍という表現は尖ってますけど的を射ていると思います。
私の発表でもこの「brutal」という言葉を1回だけ使わせてもらいました。
スライドの翻訳と逆翻訳
スライドはすべてカンペを英語、日本語両方用意しておきました。
(PowerPointのノート内に記載)
翻訳は主にGoogle翻訳で行いました。
この過程で気づいたことは、そもそも日本語を明確に書かないと
正しい英語に翻訳されないことです。
日本語は曖昧な表現でも聞き手がそれなりに解釈して伝わりますが、
曖昧なまま英語に機械翻訳すると、明らかに変な翻訳になることがあります。
翻訳の精度を高めるためには、まず明確な日本語での記述が必要になります。
Google翻訳で日本語から英語にした後に、違和感のある表現を直し、
そして逆に日本語に翻訳する、ような作業を繰り返し、確実な英文を作っていきました。
※この過程で覚えた語彙もたくさんあり、それが当日の日常会話で使えたりもしました。
社内リハーサル
リハーサルは計3回行いました。
まず、社内で英語が堪能な方に聞いてもらいました。
初めて言葉にして話して、猛烈な違和感を感じながらのプレゼンでした。
普段と違うことをしているので、これは慣れておくべきですね。
次に、社内開発部の方たちの前でリハーサルです。
※後で日本語でも話しました。
このときに出た質問の内容自体が難しかったことを覚えています。
自分の発表するテーマ自体、ツッコミやすいテーマであることは容易に想像できたし、
質疑応答は、日本語でもわからないのに、英語で来たらもう無理だなとはっきり自覚した瞬間でした(笑
Workshopへの参加
弊社のインターン生がWorkShopへの参加に意欲的だったので、
会社にお願いして、私も含めて参加させてもらいました。
Conference前にWorkShopに参加し、当日の雰囲気を少しでもつかんでおきたいと思いました。
結果、WorkShopに参加できたのは非常に良かったと思います。
CakeDCやCakePHPのコアデベロッパーの方々と簡単ですが話すことができ、当日の緊張を少しでも和らげることができたと思います。
また、WorkShop終了後に最後のリハーサルを行うこともできました。
最後のリハーサル
Workshop後に前夜祭があったのですが、開始まで1時間ほど時間がありましたので、
Workshopに参加していた、英語堪能な@mykhrdさんと日本人コミッターの@chimpeiさんに明日のプレゼンを見ていただけることになりました。
この際に以下のアドバイスをいただきました。
・できるだけ優しい言葉を使う。その方が伝わりやすい
※政治の演説や会社のビジョンが良い例
・「Just do It」とか「Yes, we can」など
・However, moreover等の前置詞、接続詞を言った後はひと呼吸おく
※リハーサルにWorkshopの会場を使わせていただいたDMMさんにも感謝です!
当日の同時通訳
当初、日本語で通訳できる人が見つかるかわからないという話でしたので、
英語での登壇前提で進めてきたのですが、CakeFestの1週間ほど前に、
日本語→英語の通訳が可能だという連絡を頂きました。
すでに英語、日本語の両方でカンペを作っていたので、
英語で発表し、通訳の方には日本語カンペを読んでいただければと思っていたのですが、
英語→日本語の通訳はなさそうな雰囲気でした。
が、当日になって日本語の同時通訳が行われることがわかりました。
プレゼンの時間は質疑応答を含めて35分です。
英語→日本語の通訳も想定して、リハーサルではプレゼン時間を20分くらいに収めていたので
特に内容は削らずに話そうと決めました。
※結局2倍の時間がかかり、一部飛ばしましたが。
通訳関連の決定は当日まで結構バタバタしましたが、
当日は、日本人も多数参加していたので、同時通訳があって良かったです。
(質疑応答の心配もいらなくなりましたし)
日本人トップバッターとして
発表順は数か月前に知らされていたのですが、私の発表順は3番目になりました。
日本人トップバッターとなり、他の方の発表の様子を見ながら軌道修正するということはできず。
しかも前の2つのセッションがCakePHPのコアデベロッパーの発表であったこともあり、
かなりプレッシャーになりました。
しかし、ポジティブに考えれば、日本人トップバッターという立場を利用して
以下のことを伝えることができると思いました。
・CakeFestが日本で開催されてうれしかったこと
・CakePHPは日本でとても人気があること
・最近はCakePHPの人気にも陰りが見えていること
・CakePHP3へのバージョンアップができずに、多くのCakePHP2のサービスが未だに動いている現状
終わってみて、この順番で発表できたことは非常に恵まれたと思いました。
最後に
Cakefestの会場は日本でしたが、その会場内は海外の雰囲気で、非日常感を味わいながら過ごしました。
日本に居ながら、このような経験はなかなかできないと思うので本当に貴重な時間を過ごせたと思います。
あと、半年くらい英語漬けにしてたので、日常会話くらいは何とか伝えられるようになりました。
良い機会なのでこれからも英語の勉強は続けていきたいと思います。
https://twitter.com/intrudercl14/status/1193498261845204993