🐣

人生初の技術カンファレンスへのプロポーザル提出・登壇で工夫したこと(@KotlinFest2025)

に公開

2025年11月1日開催のKotlin Fest 2025にて、『内部実装から理解する Coroutines ― Continuation・Structured Concurrency・Dispatcher』と題するセッションで登壇させていただきました。

技術カンファレンスへのプロポーザル提出・登壇は、どちらも私にとって人生で初めての経験でした。
この記事では、採択されるプロポーザルを書くために、そして良い発表をするために、私が工夫したことを共有します。
今後、登壇に挑戦してみたい方の参考になれば幸いです。

KotlinFestへのプロポーザル提出に至った経緯

まず、なぜ私がプロポーザル提出に初めて挑戦しようと思ったのか、その経緯を簡単にお話しします。
私は2025年7月に転職しており、約1か月半の有給消化期間がありました。

休暇に入る際、何か目標を持たなければ、この時間を無為に過ごしてしまうだろうと考えました。
そこで、この期間で達成できるような目標はないかを考えた結果、「技術カンファレンスへのプロポーザル提出」に挑戦してみよう、と思い至りました。

前職では、iOS/Androidアプリ開発を主軸としつつ、バックエンド・フロントエンドも含めて、フルスタックに開発していました。
特定分野への強い専門性はないため、登壇しうるカンファレンスの選択肢は多いものの、コレという明確な選択肢があるわけでもありませんでした。

そんな中で Kotlin Fest を選んだ一番の理由は、プロポーザルの締切が7月上旬で、タイミング的にちょうど良かったためです。
また、前職の退職直前に Android アプリへの Kotlin Coroutines 導入をリードしており、その実体験から「Kotlin Coroutines の仕組みを根本から理解したい」という思いがありました。

私は、特定のプラットフォームや言語固有の知識よりも、ソフトウェアエンジニアリングやコンピュータサイエンスといった、あらゆる領域に通底する概念に関心があります。
その観点から、「Kotlin Coroutines の内部実装を深掘りする」というテーマは、Kotlin にフォーカスした内容でありながら、並行処理やスレッドといったより一般的な概念への理解を深めるきっかけにもなると考え、このテーマを選びました。

プロポーザル提出の工夫

採択されるプロポーザルを書くにあたって、まず「自分が主催者だったとしたら、どのようなプロポーザルを採択したいと思うか」を考えました。
その結果、以下の3つの条件を満たすことが重要であると考えました。

  1. 有用性があること
  2. 新規性があること
  3. スピーカーを信用できること

これら3点を意識して、以下のようなプロポーザルを作り上げました。

KMPやサーバーサイドKotlinも台頭する中で、Coroutinesの利用者は最近も増え続けています。
シンプルな文法から「簡単」と称される一方、ブラックボックス化されているが故に、実際には「難しい」と感じる方も多いです。

この課題を解決すべく、私はCoroutinesを内部実装から解読し、知見を発信してきました[1-3]。
本発表では、Coroutinesの理解に役立つ、3つの仕組みを解説します。

1.中断・再開を可能とするContinuation[1]
2.制御・キャンセル・例外処理を支えるStructured Concurrency[2]
3.タスクスケジューリングを担うCoroutineDispatcher[3]

[1] https://bit.ly/3FZyjFG
[2] https://bit.ly/4ndeNpT
[3] https://bit.ly/45toABP

それぞれのポイントを満たすために工夫したことを振り返ります。

セッション採択の条件① - 有用性があること

当然ながら、聴衆にとって有用性のあるセッションを選ぶことは、主催者にとって最も重要でしょう。
その点で、「Kotlin Coroutines の内部実装を深掘りするセッション」は、先述したように「私自身があったら聴きたいと思えるテーマ」であったため、同様の悩みを抱える他者にとっても有用性があるテーマだろうと判断しました。

そして、プロポーザルに以下の文を入れることで、なぜKotlin Coroutinesの "内部実装" を学ぶことに有用性があるのかを明確に示すことを意識しました。

シンプルな文法から「簡単」と称される一方、ブラックボックス化されているが故に、実際には「難しい」と感じる方も多いです。
この課題を解決すべく、私はCoroutinesを内部実装から解読し、知見を発信してきました。

セッション採択の条件② - 新規性があること

Kotlin Fest のセッション募集要項では、採択基準として次の要件が挙げられています。

セッションの内容に新規性・独自性があること
https://fortee.jp/kotlin-fest-2025/speaker/proposal/cfp

一方で、Kotlin Coroutines 自体は決して新しいトピックではありません。
そこで、過去のKotlinFestのタイムテーブルやYouTube上のアーカイブ配信を確認し、Kotlin Coroutinesを同様の切り口で扱ったセッションが存在しないことを調査しました。

さらに、「なぜ今あらためて Kotlin Coroutines を取り上げる意味があるのか」を示すため、プロポーザルには次の一文を加えました。

KMPやサーバーサイドKotlinも台頭する中で、Coroutinesの利用者は最近も増え続けています。

セッション採択の条件③ - スピーカーを信用できること

いくら有用性や新規性のあるプロポーザルであっても、スピーカーが当日そのテーマについて十分に語れる保証がなければ、主催者としては採択しづらいでしょう。
特に私の場合、Kotlin コミュニティ内でのプレゼンスや信用はゼロの状態からのスタートでした。

そこで私は、あらかじめこのテーマに関する技術記事を複数執筆し、それらをプロポーザル内で引用するという方法を取りました。

本発表では、Coroutinesの理解に役立つ、3つの仕組みを解説します。

1.中断・再開を可能とするContinuation[1]
2.制御・キャンセル・例外処理を支えるStructured Concurrency[2]
3.タスクスケジューリングを担うCoroutineDispatcher[3]

[1] https://bit.ly/3FZyjFG
[2] https://bit.ly/4ndeNpT
[3] https://bit.ly/45toABP

この方法は、主催者の視点から見た信用の担保につながるだけでなく、登壇準備そのものにも直結するため、非常におすすめです。
また、仮にプロポーザルが採択されなかったとしても、そのテーマについて知見を深め、技術記事として発信できた時点で十分な価値があります

登壇準備の工夫

続いて、セッションが採択された後の登壇準備についてお話しします。

スライド作成の流れ

私は以下のような流れで、スライドと原稿を作成しながら発表練習を進めました。

  1. 発表のアウトラインを作成する。
  2. アウトラインと、以前に執筆したブログ記事を参考に、スライドのドラフト版を作成する。
  3. スライドをもとに原稿を作成する。同時に、発表内容の事実確認を行う。
  4. 作成した原稿を読み上げながらスライドに沿って発表練習し、違和感のある表現や流れを修正する。
  5. ③と④のステップを本番まで繰り返す。

スライドの作成と原稿の作成を往復する、そして実際にスライドに合わせて読み上げてみて違和感のある部分を修正していく、というのが私のスタイルです。

そうして、以下のスライドを完成させました。

発表練習・原稿の覚え方

そして、今回は 40 分枠のセッションとして採択されたのですが、40 分間も発表するのは私にとって初めての経験でした。
大学時代の学会発表などでは、発表時間が 15 分程度だったため、原稿を暗唱できるように覚えて臨んでいました。
当初は、今回も同じように覚えていくつもりで準備を進めていましたが、さすがに 40 分に及ぶトークを完全に暗記するのは現実的ではないと気づきました。

そこで、Google スライドの Presenter View 機能を活用し、手元で原稿を確認しながら発表できるようにしました。
ただし、発表時にはなるべく手元の画面ではなく聴講者の方を向くこと、そして全体ではなく特定の聴講者に視線を向けることを意識しました。

原稿の公開

さらに当日に向けた工夫として、発表予定の原稿を事前に Zenn で公開しました。

https://zenn.dev/kaseken/articles/681c5aea0639c7

私自身、これまで技術カンファレンスに参加した際、セッション内容を後からまとめるためにメモを取る必要があり、それが大変に感じていました。
そこで、聴講者がメモを取らずに内容を振り返れるようにしたいという思いがありました。

また、同時間帯に別のトークセッションもあるため、あらかじめ原稿を公開しておくことで、「このセッションを聴くべきか」を判断する材料を提供したいという意図もありました。

反省と今後の展望

ここまで、採択されるプロポーザルを書くために、そして良い発表を行うために私が工夫したことを紹介してきました。
自分の発表の出来については、アーカイブ配信を見るまでは客観的に判断できませんが、少なくとも手応えはありました。
X 上でもポジティブなフィードバックをいただき、とてもありがたく感じています。


一方で、反省点もあります。
当初は懇親会にも参加する予定でしたが、発表後に疲労感から体が重くなってしまい、泣く泣く帰宅することにしました。
おそらく、発表が終わるまで気を張っていたことで自律神経のバランスを崩してしまったのだと思います。

懇親会での交流は、技術カンファレンスに登壇する大きな醍醐味の一つでもあるため、それを逃してしまったのは残念でした。
慣れの問題もあるかもしれませんが、次回はもう少し肩の力を抜いて当日を過ごしたいと思います。


総じて、技術カンファレンスへの登壇に挑戦してみて、準備は大変でしたが、得るものが多かったです。
来年は Kotlin Fest に加えて、try! Swift、DroidKaigi、iOSDC Japan など、他のモバイル系技術カンファレンスにもプロポーザルを提出してみたいと考えています。

最後に、今回このような貴重な機会をくださった Kotlin Fest の運営の皆様、そして私のセッションを聴講してくださった皆様に、心より感謝いたします。

Discussion