【Go Conference 2024】プロポーザルに通ったカンムのエンジニアが準備したこと、通った後にやったことʕ◔ϖ◔ʔ

ソフトウェアエンジニアの@sho-hataです。 2024年6月8日(土)開催のGo Conference 2024に、ソフトウェアエンジニアの私と@bisho-joの2人が登壇します。また、カンムはブロンズスポンサーとして協賛します。

gocon.jp

カンムが提供している バンドルカードPool のバックエンドは主に Go で開発しており、スポンサーとして継続的に協賛させていただいております。

tech.kanmu.co.jp

tech.kanmu.co.jp

このイベントを通して Go コミュニティの発展に寄与できればと思っています。

セッションに登壇します ʕ◔ϖ◔ʔ

バンドルカード ソフトウェアエンジニアのbisho-jo氏は、

"Guide to Profile-Guided Optimization: inlining, devirtualining, and profiling"

というタイトルで、Goの公式コンパイラの最適化についてのshort(20 min)セッションを行います。

Go1.20で追加されたPGO(Profile-Guided Optimization)が、関数のインライン展開と脱仮想化という2つの最適化手法にどのように影響を及ぼすか解説してくれるそうです。私はひと足先に練習でセッションを聴きましたが、とても興味を惹かれる面白い内容でした。 何よりbisho-jo氏が楽しそうに発表しており、技術を愛するGeek色が感じることができてとても良かったです。

Poolのソフトウェアエンジニアの私は、

"GoのLanguage Server Protocol実装、「gopls」の自動補完の仕組みを学ぶ"

というタイトルで、Goのコーディング支援機能を提供するgoplsの自動補完機能についてのshort(20 min)セッションを行います。

VSCodeのGo拡張機能のデフォルトバックエンドにもなっているgoplsの補完機能は、スマートかつ適切に補完候補を提供してくれます。今回はその裏側で動く泥臭く堅実な処理を、参加者の皆さんと共にのぞき見ようと思います。

プロポーザルに通るためにやったこと、通った後にやったことʕ◔ϖ◔ʔ

直近のGo Conferenceでは、個人応募のセッションに加えてGoルドスポンサーのセッションという形で、継続的に登壇させていただいておりました。ですが近年のGoコミュニティの盛り上がりもあり、今年はGoルド以上のスポンサーの抽選が熾烈な争いに。惜しくも今年はGoルド以上のスポンサーの抽選に外れてしまいました(いや、カンムの近年の運の良さが異常だったとも言える... ʕ◔ϖ◔ʔ)。

今まで奇跡的にGoルド以上のスポンサーに通っていたので、震撼する面々
今まで奇跡的にGoルド以上のスポンサーに通っていたので、震撼する面々2

セッションで登壇するために、プロポーザル採択という狭き門をくぐる戦いが始まりました。 ここからは、Go Conferenceにプロポーザルを通したい方に少しでも良い知見が得られるよう、自分を含めカンムメンバーがやってきたことを書きます。

プロポーザル締切に間に合うように発破をかけあう

まず、セッション登壇に意欲のあるメンバーが集まるSlackチャンネルを作り、期限を設定して発破をかけあう体制が作られました。

個人的な経験で何度も痛感していますが、プロポーザル資料を作ったり発表資料を作ったりする作業はどーーーーーしてもギリギリになりがちです。そして毎回、締切前に急いで考えて、推敲する時間がなくそのまま投稿..ということになりがち。 誰かがちょっとづつでもプロポーザルを書くのを進めているのを見ると頑張ろうとなります。これはやって良かったことでした。

プロポーザルの相互レビューをする

締め切りが近づいてきたら、たとえ推敲できてなくてもとりあえず下書きを放流し始めました。

放流すると、カンムメンバーは的確なコメントをくれるので、どんどんシェイプアップされて良い内容に。自分一人で煮詰まって考えるより、他の人と考えたほうが産みの苦しみはかなり減りました。 プロポーザル内容は、Go Conferenceの審査基準をベースに、聴く人が興味を持ってくれるか・新規性・独自性はあるかなどの観点をかなり重視していました。 過去のGo Conferenceのプロポーザルを読んだり、ネタ探しの例を読んだり。

そして、自分なりに納得したところで、プロポーザルを提出。あとは祈るのみです。

発表練習

プロポーザルの結果が発表され、カンムからは2人登壇できることに。 これは正確な情報ではなく噂で耳にしたのですが、プロポーザル応募は100を超えたとか。狭き門でのこの結果ということで、とても嬉しい結果でした。

発表が決まったということで、登壇に向け資料作りを開始。ここでも、登壇前に発表練習をする時間を設定して締め切りを作ることで、登壇の3日前には最低限のクオリティを担保した発表ができるようにしました。

発表練習はカンムのエンジニアに集まってもらい、聴講してもらいました。ここでもメンバーは的確なフィードバックをくれるので、シェイプアップされてより良い内容に。 ちなみに2人そろって3分オーバーでした。まあ当日にはなんとかなるだろう...

おわりに

ここまで、Go Conferenceのプロポーザルに通るために&通ってからカンムメンバーでやってきたことを書きました。 久しぶりのオフライン開催ということで、オフラインならでの熱気、盛り上がり、そして今回のテーマである「一期一会」を体験できることをメンバー一同楽しみにしています。

当日、Abema Towersでお会いしましょう!

イベント当日は会場にスピーカーの2人がいます!会場スポンサーのサイバーエージェントさん、ありがとうございます🙌

  • カンムやバンドルカード・Pool について聞いてみたい!
  • 登壇していたエンジニアと話してみたい!
  • Go についてわいわい話したい!

team.kanmu.co.jp

などなど大歓迎です!当日、登壇者の2人はスピーカーTシャツを着て会場を練り歩いている予定なので、お気軽に話しかけてください!本当に!(大声)