はじめに
このブログで先日お伝えしたとおり、2018年11月13日から15日にかけてロサンゼルス(LA)で開催されたRubyConf 2018に参加してきました。
このエントリではRubyConfに行っていない人にも雰囲気が伝わるように、現地の写真やセッションの感想、英語の難易度といった観点で参加レポートを書いてみようと思います。
とりあえず、めちゃくちゃ長くなってしまったので、先に目次を載せておきます。
ちなみに、出発前の準備については以下のエントリにまとめてあります。海外カンファレンス参加時に必要な準備等については、こちらのエントリを参照してください。
それでは以下が本編です!
写真で見るRubyConf
まずは現地で撮った写真をいろいろと紹介していきます。
会場になっていたのはミレニアム ビルトモア(Millennium Biltmore)というホテルでした。
会場に着くとこんなしっかりしたネームカードがもらえます。ちなみに立場によってカードの色が違っていて、スピーカーの人やスポンサー関係者は別の色のネームカードになっています。
各ルームを移動する際に通るスポンサーギャラリアです。スポンサーブースがいろいろ並んでいます。てか、由緒あるホテルなので内装が豪華!!
Matzさんのキーノートなど、全員が集まるセッションではこの一番大きいルームを使っていました。RubyConf 2018の参加者は800人だそうです。
各セッションは4トラックに分かれていました。すなわち、4つのルームを使ってセッションが同時並行するわけですが、そのうちのひとつがこれです。日本ならもうこのルームだけで、中規模なITイベントが開催できそうなレベルです!
1日目の終わりには会場の2階でNationBuilderというスポンサーが主催するアフターパーティがありました。こちらはそのパーティの様子です。
会場内に(つまりホテル内に)NationBuilderのオフィスがあったのでそこも見学することができました。Apple Thunderbolt Displayとアーロンチェアがたくさん並んでいます。
ランチは3日間とも会場内でビュッフェ形式のランチが提供されました。メニューは3日間とも違っていました。これは2日目のランチです。
ランチの席がいっぱいで、どこに座ろうかな〜と思って探していたら、たまたまMatzさんの横が空いていたので座らせてもらいました。こんな感じで、Ruby界の有名人と気軽に話せるのもRubyConfのいいところですね。
「たこ焼き仮面」の二つ名でも有名な、Aaron Pattersonさんとも記念写真をパシャリ。他にも「あっ、この人Railsのリポジトリでよく見かける人だ!!」みたいな有名なエンジニアさんがたくさんいました。海外エンジニアさんは実写アイコンの方が多く、こういうときにすぐ分かるので良いですね。(ただ、Aaronさん以外の人と写真を撮らなかったことをちょっと後悔・・・)
「私を代名詞で呼ぶときは、"HE / SHE / THEY / (聞いてくれ)" で」という、4種類の小さなバッジが配られていました。ジェンダー問題やポリティカル・コレクトネスに敏感なアメリカらしい配慮かもしれません。
毎日3時頃には30分ほどの小休憩があり、各種スイーツが食べ放題でした。ちなみに写真は撮っていませんが、水やコーヒーや紅茶は随時飲み放題になっていました。
RubyConf 2018のスポンサー企業の一覧です。日本でお馴染みの企業もあれば、初めて名前を聞いた企業さんもありました。真ん中あたりにはCookpad社の名前も見えますね。
3日目の最終セッションは「Matzに何でも聞いてみよう」的なQ&Aコーナーでした。「Ruby 3はいつ出るのか」「型チェックは導入されるのか」みたいな質問がたくさん飛んでいました。それにどんどん英語で答えていくMatzさんはさすがです!
RubyConfで印象に残っていることベスト3
海外のカンファレンスに参加するのは今回が初めてでした。RubyConfに参加するのも当然初めてです。実際に参加してみて感じたことはたくさんありますが、その中でも特に印象に残ったことを3つ挙げます。
1. 日本のIT系イベントや勉強会に比べて女性の参加者が多い
会場内にはぱっと見て、女性の参加者が3割ぐらいいました。
また、参加者だけでなく、スピーカーにも女性の方がたくさんいました。
RubyConfでは1日目の最初と最後、それと2日目と3日目の最初と、計4回のキーノートがあったのですが、トップバッターのMatzさん以外、全員女性のスピーチだったことにも驚きました。
以下はその女性キーノートスピーカーの面々です。
個人的には日本のIT業界はもっと男女比率が均等になってほしいと考えている人なので、日本のITイベントや勉強会でもこんなふうに女性の参加者やスピーカーが増えたらいいのになあ、と思いました。
2. 想像していたほどテクニカルなカンファレンスではなかった
RubyConfに参加する前は、RubyConfはRuby界の天下一武道会(注:ドラゴンボールのネタです)みたいなイベントだと思っていました。
登壇者はGitHubのリポジトリにスターが1000個以上付いていることが必須条件で、セッションの内容も「ひゃー、こりゃまったく付いていけねーなあ!もっと勉強せなあかんわ〜」みたいなものばかりだと想像していました。
が、そんな予想に反して、セッションのレベルは全体的にマイルドでした。
もちろん、ハイレベルなものも中にはありましたが、それはどちらかというと少数派で、各セッションは初心者向けのものだったり、組織運営に関わるものだったり、いわゆる「エモい系」というか、コードの話がほとんど出てこない自分語り的なものだったり、かなりバラエティに富んだ品揃えになっていました。
例えるなら、絶対に激辛カレーが出てくると思って覚悟して有名店に入ったのに、実際に食べてみたら「あれっ、辛くないぞ??いや、むしろ甘いのでは!?」と肩すかしを食らったみたいな、そんな感じです。
聞くところによると、今年だけが特別そういう傾向にあるわけではなく、去年もだいたいこんな感じだったそうです。
ただ、そういうバラエティに富んだセッションを取りそろえて敷居を低くしてあるからこそ、初心者や女性の方も比較的参加しやすいイベントになったのかもしれません。
また、日本人はハードウェア業界、ソフトウェア業界を問わず、何かと「技術力至上主義」に陥りやすい印象があります(かくいう僕自身も「プログラマは技術力が重要」と考えていた人間の一人です)。
ですが、今回RubyConfに参加してみて、こういう懐の深さというか、多様性を認める文化やおおらかさみたいなものが、実はアメリカという国の強さの根源なのでは?と漠然と考えていたりしました(何の根拠もない個人の感想です)。
3. 海外でもRubyが愛されていることを肌で実感できた
日本生まれのRubyが海外でも多く使われていることは以前から知っていましたが、それはあくまでネット等の情報を通して聞いた話ばかりでした。
ですが、今回RubyConfに参加してみて、Rubyが海外の人たちにも愛されていることを肌で実感できました。
言葉にしたり、定量化したりすることは難しいのですが、会場の熱気や参加している人たちの表情やリアクション、雰囲気等で「Rubyが好き!」という気持ちが伝わってきました。
パーティ等で個人的にしゃべった人たちからも「いやー、本当にRubyっていいよね」みたいな感想を聞いたりしました。
たくさんの人たちから記念撮影を求められるMatzさんを見て、「あー、Matzさんって本当にすごいんだなー」と思うと同時に、同じ日本人としてちょっと誇らしくなりました(僕の功績では全くないですが)。
初の海外カンファレンス参加でしたが、Rubyが日本生まれ&自分も日本人ということで、海外でのアウェー感をちょっとだけ軽減できたような気もします(ただの思い込み?)。
印象に残っているセッションの感想等
RubyConfでは本当にたくさんのセッションがありました。一つずつ丁寧にレポートするとなかなか終わらないので、その中から印象に残っているものをピックアップして駆け足で説明します。
ただし、どれも英語だったので僕の理解が不完全なところがあるかもしれません。
近日中に全セッションの動画がYouTubeに公開されると思うので、気になるセッションがあればそちらを見て内容を確認することをお勧めします。
■ 1日目
Building for Gracious Failure - James Thompson
- マイクロサービスを運用する際のエラー処理の対処方針が説明されていました。
- スピーカーのJamesさんいわく、サービス間でリクエストやレスポンスを受け取ったときは、多少おかしなデータがあってもシステムエラーを起こして処理を止めるのではなく、おかしなデータは無視してそれ以外の正常なデータを可能な限り受け入れることが大事なんだそうです。
- すなわち、マイクロサービスの運用においては、システムエラーを発生させてサービスの流れを止めるよりも、可能な限りデータのバケツリレーを進める方が吉、ということのようです(という話だったと思うんですが、ちょっと自信がないです)。
参考: 発表スライド
動画: RubyConf 2018 - Building For Gracious Failure by James Thompson - YouTube
■ 2日目
Pointers for Eliminating Heaps of Memory - Aaron Patterson
- さっき「一緒に写真を撮ってもらいました」と紹介した、Ruby/Rails界の超有名人、Aaron Pattersonさんの講演です。
- セッションの出だしでは「僕はGitHubの社員なんだけど、GitHubはMicrosoftに買収されたでしょ?だから、今の僕のMacの壁紙はWindows XPの草原の壁紙なんだよ〜。HAHAHA!!」みたいなジョークを連発して、会場を爆笑の渦に巻き込みました。
- しかし、いったん本編が始まるとRubyのメモリを使用量を減らすというテクニカルな話題を説明するために、「Cで書くとわかりにくいだろうから」という理由でRubyで書いた擬似コードを使ったり、図やアニメーションをふんだんに使ったスライドで説明したりと、随所に聴衆が理解しやすくするための工夫を凝らされていました。
- 技術力が抜群なのはもちろんのこと、難しい話題をわかりやすく説明し、なおかつユーモアを交えて笑いも取れる、「超一流のエンジニア、マジすげー」と驚嘆したセッションでした。
たこ焼きではなく、ハンバーガーの帽子を頭にかぶって登壇するAaronさん
動画: RubyConf 2018 - Pointers for Eliminating Heaps of Memory by Aaron Patterson - YouTube
LIGHTNING TALKS(LT大会)
先着順で登壇者が決まるLT大会です。このLT大会ではなんと、僕も14番目のスピーカーとして発表させてもらいました。
この話は別のエントリで詳しくご紹介したいと思います。
2018.12.17追記: LTの話を詳しく書きました
LTの準備の進め方や、発表内容の詳しい話はこちらのエントリに書きました!
■ 3日目
現地ではどれくらい英語に苦労するのか
さてさて、ここまであたかも何の苦もなく、現地でコミュニケーションしていたかのように書いてきましたが、RubyConfはアメリカで開催されたカンファレンスなので、当然英語が共通語です。参加者もおそらく現地のアメリカ人が大半だったと思います(見た目だけでは国籍を特定するのは難しいので正確な比率はわかりませんが)。
ここからは初の海外カンファレンスで英語でどれくらい苦労したのか(またはしなかったのか)を語ってみようと思います。
英語でも発表内容は5〜6割はわかる(ただしテーマやスライドのテキスト量による)
平均すれば発表内容は5〜6割ぐらいは理解できたと思っています。
特に、次の条件が揃ったときが理解しやすいです。
- スライドにテキストや図、コードが多い(つまり、視覚情報が豊富)
- 発表テーマが自分に馴染みのあるものである(つまり、発表のコンテキストが既知のものである)
この条件を満たしていれば、英語の細部が聞き取れなくてもスピーカーの身振り手振り、表情、声のトーンなどからだいたい内容を理解することができます(誤解している可能性が絶対ないとは言い切れませんが)。
逆にスピーカーの中には、スライドにほとんどテキストが登場せず、ひたすら口頭で説明していったり、Rubyの話がほとんど登場しない(つまり、コンテキストを僕が十分に理解していない)、本人の社会貢献活動を語ったりする人もいました。
こうなると、「うーん、わかったような、わからんような(でも理解できた自信がまったくない)」という感想になりました😓
ライブキャプションはありがたいけど・・・
一部の発表ではライブキャプションという字幕サービスが提供されていました。
これは下の写真のように、スライドの上部に(ほぼ)リアルタイムでスピーチの内容を表示してくれるサービスです。
Photo by @Codingmamakaz
これは一見すごくありがたいのですが、仕組みとしては裏で人間が頑張ってタイピングしているので、どうしても数秒のタイムラグが発生してしまいます。こうなると、スピーカーが今喋っている内容と目で追いかける英文が食い違ってしまうので、逆に混乱してしまいがちでした。
また、ときどきタイピングが追いつかず(もしくは専門用語を正しく聞き取れずに?)に内容が抜け落ちるときもあります。「そこが知りたかったのに!」という部分が抜け落ちると少し残念な気持ちになりました。
もちろん、ライブキャプションのおかげで聞き取れなかった部分を理解できたことも多少ありましたが、そういう機会は数える程度だったので個人的には「最悪なくても大丈夫かな」という印象でした(せっかく提供してもらったのにごめんなさい🙏)。
共通の話題がないと初対面の人に話しかけるのは困難
前述の通り、RubyConfに参加していた日本人は参加者全体から見ると少数派です。会場にいた日本人はおそらく20人前後だったんじゃないかと思います。
ずっと日本人同士で固まって日本語でしゃべっていると、日本の勉強会に来たのと変わらなくなってしまうので、僕は「できるだけ現地の人とコミュニケーションを取ろう」と思ってRubyConfに臨みました。
・・・が、実際やろうと思うとめちゃくちゃハードルが高かったです。
そもそも、初対面の人に話しかけようと思っても共通の話題がないと話しかけるきっかけがありません。
最初は僕が英語があまり得意じゃないからハードルが高いんだろう、と思っていたんですが、これってよく考えると日本の勉強会でも同じなんですよね。
同じ勉強会に来ているからといって、いきなり見ず知らずの人に「どうも初めまして!」と声をかけるのは日本人同士でもハードルが高いはずです(陽気なアメリカ人同士ならできるのかもしれませんが・・・)。
なので、こっちが相手のことを前から知っていたり、その人の発表を聞いたあととかじゃないと、なかなか話しかけられないなー、と思いました。
Ruby界の有名人やスピーカーの人であれば比較的話しかけやすい
逆にいうと、そういう条件が揃っているときは、あまり躊躇なく話しかけることができました。
たとえば、Ryan Davisさんに「Minitestよく使ってます!(RSpecも使ってるけど😅)」と話しかけたり、スピーカーの人が歩いていたら「さっきの発表聞いてました。すごく良かったです!」とフィードバックを返したりすることができました。
ちなみに、活発にOSS活動をしている@koicさんや@284kmさんは、OSS活動を通じて交流があるエンジニアさんたちとたくさんお話をしていました。
なので、OSS活動をたくさんしている人であれば、もっとRubyConfを楽しめるかもしれません。(僕も頑張らないと!)
一緒にご飯を食べてくれる人は確保しておいた方が良い
僕はあまり後先考えずに一人でRubyConfに乗り込んだのですが、前述の通り「面識や共通の話題がない人と、いきなり仲良く」というのはなかなかハードルが高いので、日本人であれ、現地の知り合いであれ、一緒にご飯を食べてくれる人は確保しておいた方がいいと思いました。
周りの人がみんなわいわい仲良くおしゃべりしている中で、一人だけぽつーんと「ぼっち飯」になるのはちょっとつらいです(しかも異国の地で)。
僕の場合は幸い、ランチや晩ご飯は日本人エンジニアの中に混ぜてもらったのでつらい思いはせずに済みましたが、ここはちょっとノープラン過ぎたかな、と反省しました。
英語ネイティブ同士の雑談はまったく意味不明(汗)
1日目のアフターパーティでは何名かの現地エンジニアさんたちとお話をしました。
ですが、4人以上のグループになると現地エンジニア同士の雑談が始まって完全に取り残されることがよくありました。
英語ネイティブ同士の雑談はさすがにほぼ聞き取れなかったです。
また、1対1でしゃべっているときも、こちらのレベルに合わせて易しい英語で喋ってくれる人と、情け容赦なく話してくれる人の2通りに分かれていました(いや、後者の人も実際は気を遣ってくれていたのかもしれませんが・・・)。
僕はリスニングがそこまで得意ではないので、容赦なく話されると会話を楽しむよりも、相手が言っていることを聞き取るだけで精一杯になってしまい、精神的にちょっと疲れました。
こんな経験を何度かしたので、「海外のIT企業に勤めたりすると、こんな感じになるのかなあ。現地で働いている日本人はすごいな〜」と、僕は海外在住の日本人エンジニアの苦労を勝手に想像したりしてしまいました。
その他、感想もろもろ
最後に、RubyConfに関するその他の感想を書いておきます。
- スポンサーブースでたくさん無料Tシャツ(またはトートバッグ)をもらいました。あまり知らないサービスもありますが、デザインがオシャレなので普段着として着ることができそうです。
- RubyConfの記念Tシャツプレゼントもありました。こちらがそのTシャツです。
- 4トラックあるセッションのうち、どのセッションを見るのかはその日の朝までに決めておきました。会場で考えているとちょっと余裕がなくなるので、事前に決めておいて正解だったと思います。
- 現地のエンジニアさんたちはスライドにやたらとアニメーションGIFを盛り込んでくるな〜という印象があります。目の前の大きなスクリーンで、ガチャガチャと同じ動きが繰り返されるのはちょっと目障りで、個人的にはあまり好みではありませんでした😔
- 雑談をしてると、たまに簡単な日本語を話してくれる海外エンジニアさんがいました。「この間日本を旅行したよ」と言ってくれる人もいました。アウェー感を感じがちな異国の地で、日本や日本語に興味を持ってくれている人がいると、すごくホッとしますね。
- 日本のIT系イベントでは出版社や書店がスポンサーブースを構えていることがありますが、RubyConfでは出版関係のブースや関係者は見かけませんでした。チャンスがあれば「プロを目指す人のためのRuby入門の英語版を出しませんか?」みたいな営業活動をしたかったのですが、あえなく失敗に終わりました(苦笑)。
- Rubyエンジニアの@igaiga555さんがおっしゃっていたとおり(参考)、会場内は冷房が効きすぎてめちゃくちゃ寒かったです!上から羽織るパーカーを持っていって正解でした。この寒さのせいか、2日目や3日目に体調を崩す日本人エンジニアさんも中にはいたようです。
おまけ:個人的に嬉しかったこと
私事ながら、拙著「プロを目指す人のためのRuby入門」に「本書の刊行に寄せて」の文章を書いてくれたMatzさん本人に対して、ようやく感謝の言葉を述べることができました。
それと同時に、僕が持っている「プロを目指す人のためのRuby入門」にMatzさんのサインを書いてもらいました。
Matzさん、どうもありがとうございました!
まとめ
というわけで、このエントリではRubyConf 2018の参加レポートを長々と書いてみました。
行く前は「一人で海外旅行なんてしたことがないけど大丈夫かな」とか「まったく英語が通じずに撃沈して帰ってきたらどうしよう」みたいに心配していましたが、なんとか無事にRuby Confに参加して帰ってくることができました。
実際に海外のカンファレンスに参加し、いろいろなものを見たり感じたりすることで、ネットの向こうにしかない、漠然としたイメージでしかなかったアメリカのIT業界が、自分の中で少しだけ具体的でリアルな存在に変わったように思います。
みなさんがもし、RubyConfや海外カンファレンスに初めて参加する機会があれば、このエントリを参考にしてもらえると幸いです😃
ちなみに来年のRubyConfはテネシー州のナッシュビルで開催されるようです。
(ナッシュビルといえばギブソンの本社がある街!ギター工場に行ってみたい!!)
謝辞
RubyConf参加に関わる渡航費や宿泊費、参加費等を補助してくれた、勤務先の株式会社ソニックガーデンに感謝します。どうもありがとうございました!
また、「ぼっち状態」でRubyConfに乗り込んでいった僕に仲良くしてくれた日本人エンジニアのみなさんもどうもありがとうございました。
海外のカンファレンスで完全に単独行動するのは時期尚早だったということがよくわかりました😅
最後に、RubyConfを運営してくれたスタッフのみなさんと興味深いお話を聞かせてくれたスピーカーのみなさん、それに現地で雑談したエンジニアのみなさん。
みなさんのおかげで「人生初の海外カンファレンス体験」を楽しいものにすることができました。Thank you very much!
次回予告?
RubyConf関連で書きたい話はまだ書き切れていないので(まだあるんかい)、このあとのエントリで以下のような内容も書いてみようと考えています。興味がある方は後日またこのブログをチェック(または、読者登録)してみてください!
英語でLTをするための準備やポイント → 書きました!
Los AngelesやSan Diegoの観光レポート → これも書きました!