こんにちは、ScalaMatsuri座長の麻植(@OE_uia)です。
ScalaMatsuri 2020では、セッションを公募(CFP)して多様なアイディアを集めています。
ScalaMatsuriに応募する | アジア最大級の Scala のカンファレンス
スピーカーになりたい!と思って、プロポーザルを出してくれる人が多いほど、魅力的なScalaMatsuriのタイムテーブルを作ることができます。
また登壇経験のある人が増えることで、よい技術情報が増えたり、登壇経験をもとに次のチャレンジを始める人が増えていくと、もっとコミュニティが盛り上がってくれてよいな、とも思っています。
そこで「プレScalaMatsuri ~スピーカーになってみよう~」を、2020年1月8日に開催することにしました。
プレScalaMatsuri とは?
スピーカーには興味があるけれども、なんとなくハードルが高そうに思っている方に、そんなことないんだよ、というためのイベントです。
ScalaMatsuriのCFP要項や、応募の流れ、採択後にスピーカーになる流れなどを解説するほか、登壇経験豊富な がくぞさん(@gakuzzzz) をお招きして、プロポーザルの書き方の実例を学びます。
その後、参加者のみなさん が話せそうなアイディア を書き出して、プロポーザルへと一緒に煮詰めていくワークショップを実施します。
参考: 昨年度の記事 - 新年のご挨拶と、プレScalaMatsuriイベント「スピーカーになってみよう」開催のお知らせ
プレScalaMatsuri 参加者から、スピーカーになった田所さんのインタビュー
開催を記念して、昨年度のプレScalaMatsuri 2019に参加されてプロポーザルを応募し、採択されて ScalaMatsuri 2019 に登壇された田所 駿佑 (@todokr)さんに、お話を伺いました。
プロフィールについて教えてください
株式会社ビズリーチという会社のソフトウェアエンジニアです。 現在は、チームの成長につながる人事評価クラウド「HRMOS評価」というプロダクトのサーバーサイドを中心に、SPAのフロントエンドやインフラを担当しています。
田所さんのScalaMatsuriでの登壇内容について教えてください
AWS Lambdaでのcold startにかかる時間を削減する手法としてScala.js、Scala Native、GraalVMのnative-imageの3つの手法を実験した結果についてお話しました。低スペックなLambdaのJava8ランタイムでは8秒ほどかかっていたcold startが、これらの手法で数十~数百msになることを示しました。
どういうきっかけで、プレScalaMatsuri「スピーカーになってみよう」に参加されましたか?
チームの同僚に誘われたのが一番のきっかけです。 ScalaMatsuriはいつか話す側として参加したいなあと考えていたので、いい機会かもしれない、くらいの軽い気持ちでの参加でした。 最初は、明確に「よし、プロポーザルを出してやるぞ」という感じではなかったです。
ただ、実際にプロポーザルを書き始めてみると、真剣になってきますね(笑)
どういうセッションだったら、みんな興味を持ってもらえるか、役に立つのか、ということを考えているうちに、「選ばれたらいいな」って気持ちが段々強くなっていきました。なので採択されたことを知ったときはかなり興奮しました。
プレScalaMatsuriに参加してよかったこと、役立ったことはありますか?
プレScalaMatsuriの1週間前に、今までやってきたことを棚卸ししました。一番の推しネタとして、仕事で使っていた認証認可ライブラリのplay-silhouetteの入門の話と、sbtのカスタムタスク入門の話、そして今回の登壇ネタのLambdaでScalaを使う話についてなら話せるかもしれない、という感じで、ざっくりとアイディアを作って参加しました。
プレScalaMatsuriではネタの候補たちに参加者のみなさんがフィードバックをしてくれるのですが、いざ話してみるとLambdaでScalaを使う話に興味をもっていただけたので、自分の想像とだいぶ違うことに気づきました。
そのギャップを埋められたのが、プレScalaMatsuri ならではの価値だと思います。
プロポーザルを応募する際に、気をつけたこと、苦労したことはありますか?
書き始めは、結構悩むことが多かったです。
タイトルにキーワードを詰め込みたいのですが、そうすると端的に表現することが難しいんです。
ただ、そこから周りにアイディアを話しているうちに、蒸留されていってキーワードが抽出されていく、話のコアが見つかっていくような感覚がありました。「こういうプロポーザルを出そうとしているんです」と、周りに口頭で説明していると 「あ、この表現使えるな」というように見つかっていったんです。
あとは過去のScalaMatsuriトークのタイトルと説明を、すごく読みました。文章のテンションを参考にしたり、自分が 面白そう と思ったセッションの説明文を、参考にしたりしました。
採択の通知がきた時、たしか私は休日で、パン屋さんにいたんです。 そこで携帯をみて、採択を知りました。もともと競争があると聞いていたので「まさか私が!?」という気持ちです。急にドキドキしてきたのを覚えています(笑) そして、真っ先に妻に報告しました。
登壇準備はどうでしたか?
もともとLambdaは仕事でよく使っていたのですが、Javaランタイムの起動時間が気になっていたので、ScalaでLambda関数を書くことはありませんでした。でもGraalVMのnative-imageなら速くなるよね、というアイディアからスタートしました。 せっかくなのでScala.jsと、気になりつつ触れていなかったScalaNativeとの比較を盛り込みました。それにより、それぞれの個性が見えてくるかなと思ったんです。
登壇が決まってからはまず発表の大枠を作って、まだ技術的に検証が足りてないところを洗い出しました。 最初に、Lambdaで使ったことがなかったScalaJS, ScalaNative, GraalVMのnative-imageのそれぞれをHello Worldしてみました。ScalaNativeをDockerでビルドするのが想像以上に大変でしたね。ビルドに必要なライブラリの置き方やオプションの設定で詰まって、最終的にDockerfileがものすごい長さになってしまいました(笑)
あまり使っていなかったScalaNativeの検証を、後回しにしなくてよかったなって思っています。
勉強がてら、Amazonとか楽天とかで使える「グローバル欲しいものリスト」サービスをプライベートで作ってみたりもしました。
ScalaMatsuriのスピーカーになってみていかがでしたか?
月並ですが、発表後にいろいろな方にオンライン、オフラインの両方でフィードバックをいただけたのが嬉しかったです。ScalaMatsuriには参加をされていなかった方にも、発表資料へのコメントをいくつかいただきました。
また発表の練習に付き合っていただいた社内のエンジニアのみなさんにも感謝です。社内の勉強会用スペースでリハーサルを行ったのですが、内容や構成についてワイワイと議論できたのが大変助かりました。
スピーカーになることに関心のある方に向けて、メッセージがあればお願いします。
より良いプロポーザルを考える上で、プレScalaMatsuriはとてもありがたいイベントでした。スピーカーになりたい方にはぜひおすすめしたいです!
編集後記/最後に
「プレScalaMatsuri 2020 ~スピーカーになってみよう~」は、2020年1月8日開催です。 ご参加お待ちしています!