イエシルでサーバーサイドエンジニアをしている@mom0tomoです。
コロラド州デンバーで行われたGopherCon 2018に、会社から支援金を受けて行ってきました。
海外カンファレンスに参加するのは初めてだったので、新鮮なことばかりで毎日がとても刺激的でした。 今回は中でも特に印象に残った出来事をご紹介します。
なぜGopherConなのか?
わたしはふだんRuby on Railsを使っていますが、リブセンスでは一部のシステムでGoが使われています。
また、わたしはプライベートでWomen Who Go Tokyoというコミュニティの運営スタッフとしてイベントを主催しており、国際的なカンファレンスに参加して世界のGopherと会うことで、自分自身の技術に対するモチベーションをあげること、またそこで受けた刺激を社内外に伝えることを目的として参加しました。
カンファレンスの日程
2018年のGopherConは4日間にわたって開催されました。
1日目はプレイベントとして、様々なワークショップが開かれました。
ワークショップのチケットは別に購入する必要があるため、ワークショップには参加しないけれども会場内をぶらぶらするという人も見られました。
わたしはBuffaloというRails likeなフレームワークを使ったWeb Developmentのワークショップに参加しました。
朝から1日かけて一通りの開発ができるようになるまで、開発者自ら講師になっていただきながら、初心者でもわかるように丁寧に教えていただきました。
他にも機械学習やパフォーマンス改善など、同時開催なのでひとつしか参加できないのが惜しいほど多種多様なワークショップが開催されていました。
2日目と3日目が本編で、大小のルームでセッションやトークが行われました。
また、2日目の夜には公式のパーティが野外で盛大に行われました。「Gopher Band」というバンドが登場し、迫力あるロックの生演奏を前にみんなでお酒を飲んだりご飯を食べたり、夜もふけるまで楽しく過ごしました。
最終日はコミュニティデーということで、OSSへのコントリビュートの仕方や実際に機器を使ったIoT開発のワークショップ、GoogleのGo開発チームの議論に参加できる時間などが取られていました。
最終日を待たずに帰ってしまう方もいるようで、コミュニティデーは本編よりも参加者は少なめでしたが、少人数だからこそのメリットを生かし、参加者同士やOSS開発者、コミュニティのリーダーの方との交流をじっくり取ることができて、充実感のある内容でした。
わたしはOSSにコントリビュートするワークショップに参加し、athensというプロジェクトを用いてコントリビュートの基本的な方法を学びました。
ワークショップでははじめに、OSSにコントリビュートする上での心構え(気張らずに、みんなのためにコントリビュートしよう)や、初めてのコントリビュートまでの流れやオススメポイントなどをお話しいただきました。OSSへの熱い想いのこもったトークはわくわくするもので、その後すぐに同じテーブルの参加者とわいわい楽しく開発をはじめました。
華々しいオープニング・クロージングトーク
2日目の本編は、TEDさながらの迫力あるトークで幕を上げました。
トーク中はリアルタイムで正確な文章起こしがディスプレイに流れており、会場はみな驚きました。
Goを使った何らかの技術を使っているのか、はたまた人間が文字起こしをしているのか?と話題になっていましたが、どうやらプロの筆記者の方が数名その場でタイピングしていたようです。
いずれにせよ、オープニングおよびクロージングトークは非英語ネイティブでも容易に内容が理解できて楽しめる一つのコンテンツになっていました。
LTを含む全てのトークはyoutubeで視聴することができます。
Gopher Academy - YouTube
コミュニケーション、ネットワーキングの時間
日本で自身が参加したことのあるカンファレンスや技術イベントと比べて特に違いが目立ったのは、参加者の方々が対面でのコミュニケーションに注力していることでした。
いままでわたしが国内で参加した技術イベントでは、Twitterのタイムラインを追うとイベントの流れがわかるというほど、Twitterでのコミュニケーションが盛んでした。
しかし、GopherConは参加者の人数が多い割にハッシュタグを追ってもあまり情報が流れて来ません。
不思議に思って仲良くなったアメリカからの参加者の方に聞いて見たところ、普段会えない人と対面でコミュニケーションをとり、ネットワークをつなぐことで今後のコミュニケーションを円滑にしたり仕事に繋げることが目的としていると教えてもらい、違いに納得しました。
ネットワーキングの時間は朝食、ランチ、パーティなどふんだんに用意されていて、参加者の皆さんも気さくな方が多いのでテーブルで話が弾みます。 またコミュニケーションの時間にはセッションの感想等を話し合ったり、人によっては直接スピーカーに話しかけに行ったり、対面での会話や議論が多数交わされていました。
参加していない人も楽しめるTwitter実況は便利だと思う一方、対面でコミュニケーションの輪を広げて行くスタイルも参加する醍醐味を感じられて良いと思いました。
もちろん参加者全員がコミュニケーションが得意というわけではなく、大勢の知らない人と話すのは苦手だという人もいたり、自分なりのトーク技術を公開している人もいました。
わたしも初対面の人と話すのは得意ではありませんが、参加者はオープンに話題を振ってくれる気さくな人ばかりだったので、居心地よく過ごすことができました。
また公式のパーティに加え、現地のGopherによるmeet upやWomen Who Goディナーなど、知り合いをつくって交流するためのイベントが複数開かれていました。
印象的だったセッション
全てのセッションとトークが魅力的でしたが、ここでは特に気づきの大きかったものとして、アクセシビリティについてのセッションをご紹介します。
このセッションでは、目の不自由な方がエディタのコード読み上げ機能を使ってプログラミングをする例を挙げ、実際の読み上げ音声を使いながらアクセシブルなコードとは何かを説明していただきました。
一例を挙げれば、Goでは変数名を短くする、また型名の後ろに変数名を書くという特徴があります。
短い変数名が先に来て型名が後に来ることにより、エディタ等のコード読み上げ機能を使うプログラマにとって、素早く変数名を聞き取りすぐに意味を捉えることができます。
アクセシビリティの話。
— Momo (@mom0tomo) 2018年8月29日
変数名は短い方がコードの読み上げ時に聞きやすいとか、意味がありかつ発音しやすい変数名を使うべき、という指摘。
そういう視点はいままで持っていなかった。
とても興味深いセッション。 / ‘Writing Accessibility in Go’ @juliaferraioli #gophercon pic.twitter.com/aPu3f3nl8C
ロジカルに書くこと。
発音できるように書くこと。
首尾一貫して書くこと。
どれもコードを書く上で意識すべきと言われている基本的な原則ですが、アクセシビリティと関連づけて考えられたことはあまりないのではないでしょうか。
アクセシビリティに配慮して書かれたコードは、みんなにとって良いコードになる。
この言葉がひときわ輝く、すばらしいセッションでした。
下記にセッションの内容がアップされています。
ぜひ皆さんもご覧ください。
Go2に向けてのドラフトの話
2日目の午前のセッションが終わったと同時に、突如ビデオメッセージが流れ始めました。
話し手はあのRuss Coxさん!内容はGo2のドラフト構想についての発表で、会場は興奮の渦に包まれました。
詳しくは下記のページからアクセスできます。 https://go.googlesource.com/proposal/+/master/design/go2draft.md
また、日本語で意見を述べることが可能なフォームもあるので、興味のある方はのぞいてみてはいかがでしょうか。
こちら、イベント関係なくどんどん書いてもらって構わないです。些細なことでも大歓迎です。 #golangjp https://t.co/N7EscgCKxc
— Yoshi Yamaguchi (@ymotongpoo) 2018年9月10日
おわりに
リブセンスでは半期に1名海外カンファレンスのための渡航費等を支援しており、誰でも立候補することができます。 もちろん, 海外カンファレンスには登壇者として招待されて行くのが憧れですが、すべてのエンジニアにチャンスが与えられるのは意義深いことです。
今回のGopherCon参加では概算で40万円ほどかかりましたが、その費用のほとんどを会社に負担してもらいました。
4日間のカンファレンス参加チケットに宿代等を合わせると小さくない金額になるので、支援してくれた会社に感謝しています。
今回の記事を読んでいただき、海外カンファレンスに行きたいと思った方、自分ならこんなものを持ち帰ってくるというアイディアのある方は、 ぜひリブセンスにお越しください。
リブセンスでは一緒に働きたい!という方をお待ちしています。