こんにちは!カスタマーオペレーション&セーフティ本部所属のエンジニア学生アルバイト、logicaです。
去る11/11〜13、イタリアのフィレンツェで行われたGo言語の国際カンファレンス「GoLab」に参加 & 登壇するという貴重な機会をいただきました。今回は私視点から見たGoLabの様子と、この活動に対してピクシブからどんな支援をいただけたのかについて、お話しできればと思います。
GoLabとは
The International Conference on Go in Florence
Develerという会社が運営している、Go言語の国際カンファレンスです。RustLabというRustのカンファレンスと同時開催しています。
RustLabとの合算ですが、600人以上が参加しているかなり大規模なカンファレンスです。Contributor Summit (Go言語のメンテナンスをしているエンジニアたちがオフラインで集まってディスカッションをする場所) をホストしていることもあり、Go Teamのメンバーも多数参加しています。イタリアをはじめヨーロッパ全土やアメリカ、果てにはチリから来ていた参加者もいて、人気の高いカンファレンスであることがうかがえます。
登壇に至るまで
私のGo言語コミュニティ参加
今の部署では主にPHPを用いて開発を行っていますが、私は以前から趣味開発でGo言語を多用する生粋のGopherです。人との交流を好み、人前での発表が苦にならない性格が幸いし、1年ほど前から日本Go言語コミュニティに頻繁に顔を出したり、登壇させていただいたりするようになりました。
国内登壇を何度か経験すると「次は海外で!」という機運が高まるものです。幸いある程度英語は得意だったので、腕試しのつもりで1つ海外向けのプロポーザルを書いてみました。そのプロポーザルでいくつかの海外カンファレンスに応募してみたところ、大変ありがたいことにGoLabでご採択いただき、登壇が決定しました。
渡航費の捻出
GoLabでの登壇が決まった時、最大の問題だったのが渡航費です。元々申し込み時に「宿泊費を出します」としか書かれておらず覚悟はしていましたが、プロポーザルの採択のお知らせを受け取った際、やはり「日本からの旅費は出せないから、自分で捻出してほしい」という旨を伝えられました。
イタリアまでの渡航費と運営がサポートしない前乗りの宿泊費は、学生の私が捻出するにはさすがに高い金額なため諦めようかとも考えました。ですがこの登壇は大変貴重な機会でしたので、ひとまず今通っている大学とアルバイト先のピクシブに相談することにしました。
指導教員に調べていただいたところ、大学からの渡航費の支援は最大5万円までであることがわかったため、そこを踏まえてピクシブに相談しました。
挑戦を応援していただける環境
ピクシブではプロダクト開発ギルドを中心に、社員のコミュニティ活動を奨励する取り組みが行われています。その代表的なものが、つい最近insideに掲載されたこちらの支援制度です。 inside.pixiv.blog
私はアルバイト社員のためこちらの支援制度が適用されたわけではないのですが、在籍部署の上長とプロダクト開発ギルド、人事採用チームを中心に今回の支援を検討していただきました。最終的には出張という扱いで、残りの金額を負担していただいただけでなく、GoLabの会期中は勤務扱いとしていただくという、想定をはるかに上回る支援をしていただきました。
GoLabの様子
ここからは、GoLabの中で個人的に印象に残っている部分をお届けします!
Keynote: Go Telemetry Wins - Russ Cox
Go Team(Go言語をメンテナンスしているGoogle内のチーム)の元Tech Lead、Russ CoxさんによるKeynote Session!Goに最近導入された、Goコマンドがどのように使われているのか利用状況調査をする「Telemetry」という仕組みのお話でした。
OSSの言語として利用状況を把握するためには、利用者のプライバシー・利用者の払う計算リソース・開発者と利用者の情報格差など様々な考慮事項を解決する必要があります。GoではTransparent Telemetryという設計を導入することで安全かつ効率的な利用状況調査を実現しており、まだ導入から数か月しか経っていないにも関わず様々な利点が生まれているということを話していました。
Keynote: Go Back To The Future - Ron Evans
Tiny Goのメンテナー、Ron EvansさんのKeynote Session!
セッション中に部屋の中でドローンを飛ばし、最後には複数のAIモデルに「今後人類がAIと共存していくためにはどうしたら良いか」を議論させるなど、かなりぶっ飛んだセッションでした。個人的には最後のAI議論の中で「人間をAIのペットにする」という不穏な発言が出た際、会場が笑いの渦に包まれていた瞬間が一番面白かったですね。
日本でtakasagoさんが主催していた「TinyGo Keeb Tour 2024」という企画についてもセッションの中で触れていただき、日本Goコミュニティのメンバーとして非常に誇らしい思いでした。 https://tinygo-keeb.connpass.com/tinygo-keeb.connpass.com
登壇: Resizing Animated GIFs Without CGO or Third-Party Libraries
もちろん私の登壇もありました!GoLabの中では、最後のLT・Keynoteの直前、Deep Dive Sessionの最終枠で登壇させていただきました。 youtu.be
Goの標準ライブラリではサポートのない、アニメーションGIF画像の拡大縮小をGo言語のみでやる方法について話しました。もともとGoは画像処理に強くないと言われており、GIFの拡縮はC言語ライブラリとの組み合わせでやることが多いため、かなり目新しい内容だったんじゃないかと思います。
登壇後、見ていただいた方々から「順序立てた説明がめっちゃわかりやすかったよ!」というお言葉をいただいたり、「GIFって辛いよね」みたいな議論に発展したりと、初めての海外登壇としては個人的に大満足の出来でした。
参加者との交流
実はKeynote以外のセッションはほとんど聞けておらず、その代わり同じくGoLabに参加していた人たちとの交流を楽しんでいました。
Russ CoxさんをはじめとするGo Teamの方々との会食で、Russ Coxさんのセッションの深堀りや日本Go言語コミュニティの盛り上がりについての共有をしたり Ron Evansさんから、最近の日本TinyGoコミュニティについて大変好意的なフィードバックをいただいたり 他にも様々な国のGo言語ユーザーとお話しをして、様々なユースケースに対するGo言語の使い方や、エンジニアとしての生き方について意見交換することができました。
まとめ
今回、ピクシブや大学からの支援をいただいたおかげで、非常に少ない自費負担でGoLabに参加でき、多大な学びと経験を得ることができました。重ね重ね感謝申し上げます。
今回のGoLabの経験を、これからピクシブ内をはじめとして日本Goコミュニティに還元していきたいと思っています。日本のGoコミュニティ全体が一つ上の段階を目指せる、そんな環境づくりができたらいいなと考えています。
最後に、GoLabの運営をしていただいたDeveler様、GoLab中に交流していただいた皆様、日本から応援してくださっていた皆様への感謝でこの記事を締めくくらせていただきたいと思います。誠にありがとうございました!