見出し画像

Go Conference 2024でスピーカーとして登壇した

Go Conference 2024に参加&登壇しました。

発表しました

Goのコーディング支援ツールのgoplsについて、20分間話しました。

  • Language Server Protocolとは何か

  • goplsとは何者か

  • 自動補完の仕組みはどうなっているのか

という内容で、何気なく使っている補完機能などのコーディング支援って、実のところ裏側ではどうなっているんだろう?というところに焦点を当ててました。goplsの内部メカニズムを詳しく解説した記事は、調べた限りあまり見当たらず「敷居が高い」という印象を持っていました。なので、自分の発表を皮切りに調べる人が増え、ネットに情報が集まりだしてハッピー、というようになればいいなと。

発表準備と合わせて仕事の記事(会社の技術ブログ)も書いていました。色々たくさんやってえらい。

何を話して何を話さないか、それが問題だ

Autocomplete is one of the most complicated features,

https://github.com/golang/tools/blob/master/gopls/doc/design/design.md

goplsの自動補完は、公式のドキュメントが"最も複雑な機能の1つ"って言っちゃうほどややこしい機能なんですね。補完結果に影響を与えるものが多い(キャッシュ・アルゴリズム・コード文脈など)ですし、コードもかなり入り組んでいて複雑です。プロポーザル応募しておいて、通ったらどうすっかな…やべぇな…と思っていました。

そのため、完全に理解するには20分では不可能という前提にたち、発表の方向性を「自動補完の仕組みを端的に知ってもらって、とにかくgoplsのことを知ってもらう入り口を広くする」ことに振り切りました。現に発表では具体的なgoplsのコードは一切出てきません。かなりふわっとした内容になってしまったかな、と思いつつも、良かったという声をいただけたので小難しい内容にしなくて正解でした。

ちなみに、goplsのコードリーディングはGitHub Copilot Chatをフル活用しました。関数にカーソルを合わせ`/explain`、わからないところをチャットで質問、そしてまたまた`/explain`…というように。このツールがあるのとないのとでは理解もスピードも数倍違っていたと思います。

オフラインイベント、めちゃくちゃ良かった

自分はいくつかの技術イベントでの登壇経験があったのですが、オンラインの経験しかありませんでした。
実はGo Conferenceでの登壇は2回目で、昨年はGoのユニットテストの並行化についての発表だったのですが、こちらもオンラインでの登壇でした。
やはりオンラインは、発表中は画面に向けて話しているだけの状態、発表後もとくになにもなく、という感じでイベントに参加した感覚があまりありませんでした。

ですが、今回のオフライン体験はめちゃくちゃ良かったです。多種多様なスポンサーブースは回るだけで楽しかったし、各所でできる技術話や、どんどん集まるノベルティ、ネットの世界で一方的に知っているような、ガチで技術をやってるソフトウェアエンジニアの方が目の前で発表している風景はやはりリアルならではの体験だなと。
イベント終わりにはGo Conferenceの運営、スピーカーの方々との懇親会もありました。自分のことを知っていただいていた方々もいらっしゃり、光栄でした。
ベロベロになっちゃいましたが、色んな方々と交流させていただき、とても良い時間でした。

さいごに

総じて、今回のGo Conference 2024はめちゃくちゃエモい体験になりました。登壇できて本当によかったです。スポンサーの企業様、運営の方々ありがとうございました!


この記事が気に入ったらサポートをしてみませんか?