『良い』プロポーザルと不採用のプロポーザル
私は去年、PyConJPのプロポーザルの審査員を担当しました。
プロポーザルの審査員とは登壇希望者が提出する登壇内容の予稿、プロポーザルを評価する人のことです。
審査プロセスを理解していないプロポーザルが多く残念でもったいないと感じたため、審査プロセス、審査員の考え方を紹介しつつ審査を通過するプロポーザルの書き方をレクチャーします。
なお、この文章でのプロポーザルとは、『ジェネリクス実装のプロポーザル』のような機能提案の文脈で使われる言葉ではなく、イベントの用語で『Call for Proposal』(応募トークの募集)などの文脈に由来する、イベント登壇の予稿案のことです。1
3つの背景と3要件
プロポーザルを通すには業界にある3つの背景とそこから導き出される3要件を遵守した上でプロポーザルを書くことが必要です。
3つの背景は以下です。
上の背景条件により『一般枠』で採択されるプロポーザルが備えてなければならないのは以下の3要件です。
- 採択されるジャンルを選ぶ
- IT技術を知らない人向けに書く
- わかりやすく有名人アピールをする
プロポーザル審査を通過するにはこれを理解することは必須です。
この重要性は審査プロセスを知ることで理解できます。
プロポーザルの審査は以下のフローに沿って行われます。
審査プロセス
『良い人』と争わない
3種類の採択経路のそれぞれの採択数については言及をさけますが、あなたが『良い人』ではないのならプロポーザルの応募ジャンル、テーマによっては、出した時点で不採択が確定しています。それは低い確率ではありません。
この『良い人』というのはプロポーザルの審査プロセスや国内外のイベントへの参加支度金の交付枠5、イベント間の相互招待支援の対象枠、高級旅館で行われる運営会議への招待枠で登場する言葉で、五輪貴族のIT業界版、カンファレンス業界人のことです。
同じ主題のプロポーザルは一つしか採択されません。主役を差し置いて脇役が選ばれることはありません。
『良い人』とトピックが被らず、かつ運営が採択する狭いジャンルの中のプロポーザルを書きましょう。
実際の戦略
『良い人』対策
『良い人』たちはそれぞれが同じ内容での登壇を繰り返しているので被らないようにすることは容易です。
去年(2023年)のPyConJPでは、裏テーマとして『mecabの使い方に関するプロポーザルを大量に採択する』という取り決めが内部で共有されており、『良い人』たちがmecabの使い方のプロポーザルを投稿するなどして傾向がズレましたが、基本的に2010年ごろから登壇内容にアップデートはありません。
では『良い人』と内容が遠ければOKか、というとそうでもありません。
『良い人』がプロポーザルの採択の最終決定権を保持しているため『良い人』たちが知らないジャンルのプロポーザルを採択してもらうことは難しいです。当然ですね。なので採択されるためには『良い人』と被らず、かつ『良い人』の興味をひける範囲のプロポーザルを提出しましょう。
これが、『一般枠』を狙う場合の最初の一歩です。
なお、これがPyConJPチームが共同で提出した『最新ツールを知っていてmecabをよりもよいものを紹介できる俺達』という内容のプロポーザル概要です。これは裏の採択基準にも沿っていてPyConに提出されるプロポーザルとして完璧なものだと思います。個人的な感想ですが主張内容が全部嘘でちょっと怖かったです。67
模範解答としての『ジャンゴ枠』
PyConJPの運営者たちは2010年ごろに、今風にいうと『Python驚き屋』をなされていた、時代を先取りした先進的な方々で今に至るまで長い間、運営を担い続けています。
Pythonはその社会的な意味合いや担う役割、技術者に求められるスキルリスト、期待される技術水準8が2024年の現在に至るまで2、3年周期で変わり続けている激動の言語ですが、彼らは古参として2010年ごろのPythonの知見を有しており羨望の対象はmecabを扱えるプログラマーであって9、当時は流行していたウェブフレームワーク、『ジャンゴ』という単語に過剰に反応する価値観を今に伝えています。
結果としてPyConJPではジャンゴに関わるプロポーザルは評価が高くなります。なのでジャンゴのプロポーザルは通ります。
では真剣になってジャンゴのCVEを探すとかそういう難しいことをする必要はありません。『SQLを知ってましたか?SQLを知っているのは偉い』とかそういう内容でも採択します。ひねる必要はありません。『皆さんはlen関数がどう動いているか知っていますか?なんとlenプロパティが呼び出されるんです』これくらいの内容の深さで30分の投稿を作りましょう。
Django ORM道場:クエリの基本を押さえ,より良い型を身に付けよう by Takayuki Shimizukawa - YouTube
Pythonはどうやってlen関数で長さを手にいれているの? | PPT
一般枠(実質ジャンゴ枠)がジャンゴやその周辺のプロポーザルばかりでしたので私は「何故ジャンゴのプロポーザルだけ評価するのですか?」と運営チームに確認をしました。そこで『ジャンゴはPythonでPythonはジャンゴである。機械学習やクラウドはPythonではないから採択しない』という解答を頂きました。
言語カンファレンスに言語と関係ないプロポーザルを送るのは止めましょう。それは意味がないどころかただの迷惑行為です。プロポーザルを通すためには過去問での対策を怠っては駄目です。本当に登壇したいなら、自身の得意ではなく主催者の需要をよく見定めることが重要になります。足りない知識なんて知りません。
実際の傾向
下の表がPyConJPの採択会議の結果です。「DevOps」、「WebProgramming」、「Tips of development with Python」の枠が一般採用でも取れる可能性があった枠です。(去年は他の枠でもわずかに一般採択がありました。それは私が偏りを是正するためにPyConJPの運営に少しキツめの抵抗をした結果です。今年の枠はないと思います)
ジャンゴのプロポーザルはWebProgrammingだけではなく、DevOpsやTips of developmentにも割り振られます。ジャンゴは多くの分野に跨るからです。『ジャンゴはPython』です。
Tips of development with Pythonが多いのは、私がPyConJPの運営者たちが出したプロポーザルの内容の間違いを指摘した結果、『運営枠』の登壇内容が公式ドキュメントの音読に変わったためです。
有名人枠
一般枠の他に、スポンサー枠、有名人枠というのもあります。
『Twitterで見た』という意見のもとに『準いい人枠』で運営者が採択者を決めることがあります。
プロポーザルの最終決定権を持つ運営の方々は、プロポーザルの名前以外には目を通されないため一般枠の採用においてはSNSの評判が重視されます。
これは世間の人気を重視し、大衆の求めるプロポーザルを採択するためのテクニックなのだと思います。
なので、審査日が近いタイミングでSNSのプログラミングワナビー界隈でツイートをバズらせることは採択可能性を大幅に上げます。
毎日、ハッシュタグをツイートする、などして少しずつ認知度を上げていきましょう。
コードを書くのは意味がないどころか、むしろマイナスです。運営チームと視座が離れてしまいます。
スポンサー枠
プロポーザルを通すためにスポンサーになるのはあまりオススメしません。
スポンサー枠での応募は採択されますが、それは他のもっとよいプロポーザルを押し退けて採択されていることは自覚した方がいいと思います。
(スポンサー枠に押し退けられようと、押し退けられまいが大半の投稿は端から採択の見込みはないのですけども)
プロポーザル特有の書き方の作法
プロポーザルの書き方には特有のテクニックがあります。
ジャンル選びに失敗すると、その時点で採択可能性は潰えるので、ジャンル選びがプライマリーですが、二番目に気にするべきは書き方です。
専門用語や高度な内容は絶対に駄目
PyConJPの採択会議の場ではプロポーザルの中身は読まれません。
採択会議に出席する関係者の9割は事前にプロポーザルを読んでいません。それでも採択者の多くを正しく選ぶことができています。
名前で決められなかった枠、残りの一般枠を決めるためにPyConJPでは出席者の1割、3~4人の『忙しくない人』が事前にプロポーザルに目を通します。Pythonの経験はないけどお祭が好きな人、物販の利害関係者、70歳くらいのおじいさんたちがそれぞれの趣味や利害関係を反映しつつ事前の点数評価をし、その評価を元に一般枠の採択をします。
事前評価をする彼らは子難しい日本語を読みません。なのでプロポーザルに専門用語を使ってはだめです。主張が長いのも駄目です。小学生でも読める程度の日本語の難易度、文量で書く必要があります。そうでなければ内容に関係なく『よくわからなかった』『3行以上の主張は長くて読めない』という評価とともにリジェクトリストにinします。
また、活用方法が非技術者の読み手に伝わらないものもダメです。
嘘でもいいので、AIは患者を100%の精度で診断できる、とかそういう大袈裟で読みやすい主張をしましょう。真っ赤な嘘でも採択されれば官軍です。
更にいうとAI、nvidia、AWSなどの難しい言葉、新しい言葉を使うと審査員は減点をします。最近のカタカナ言葉やIT用語、若者言葉を知らない方、非業界人が読むのだと頭に刻み、誰にでも伝わる文章を書きましょう。
ダイヴァーシティーやSDGsをインクルーシブすべきです。そうでなければご年配のレビュワーにリジェクトされます。
ルビーと赤いガラスを見わけるには専門技能が必要です。なので実際に選ばれたプロポーザルというのは、ビールは美味しい、あそこのタダ飯は旨い10、この話を15分聞くだけでPythonはマスターできる、pandasは簡単、pythonのOSSはクソ、mecabは時代遅れ、俺が書いた入門書は神、プログラミングの奥義を語ります、といった内容です。こうした個性的で独創的なプロポーザルを審査員は高く評価しますし、運営者もそうしたプロポーザルを求めています。『良い人』が出してくる模範的なプロポーザルの内容もそういうものです。11 見習いましょう。
これは冗談や皮肉を言ってる訳ではないです。ビールは20歳未満は飲めませんが、技術的背景や専門知識が不要な登壇内容であれば誰にでも伝わるので評判がいいですし、専門知識を使わずに世の中を一刀両断できる内容は審査員も来場者も老若男女も問わず会場は大盛り上がり、世界は歓喜と興奮の渦に包まれます。一体感や絆が生じられ人生のあらゆる悩みやバグは解決します。それがカンファレンスの醍醐味です。とはいえ水準を合わせにいってテーマも被ってしまったら優先順位で弾かれるのでプロポーザルを提出する方は先駆者たちと価値観を一体化させ過ぎるのには気をつけましょう。
めちゃくちゃ細かくタイムスケジュールを書こう
ここだけの話なので小声で言いますが、30分のプロポーザルでも3時間のチュートリアルでも5分、10分ごとのタイムスケジュールを自由記述欄に自主的に書きましょう。
それを書くのが慣例で、これがなければどれほど濃密に書かれたプロポーザルでも無条件にリジェクトです。これが理由での選考落ちは少なくないです。粒度が荒ければ荒いほど減点です。私は内容がしっかりしてればタイムスケジュールはいらないと考えていますが、長い日本語が読めない人はここしか読まないので書きましょう。
主催者の好みのジャンル、PyConJPではジャンゴに関連するプロポーザルは補正が入り満点評価に近くなるので、それ以外のプロポーザルは少しでも減点される要素があれば、その時点で一般枠では採択されることはないです。なのでジャンゴでhello worldするプロポーザルを書くか、可能な限り詳細に発表時間の使い方を書く、審査員が読みとりやすい内容にするなどして減点される要素がない、子供でも読める、子供がすごいと思うようなプロポーザルを作りましょう。ただし、PyConJPではジャンゴとsphinxのhello, worldはすでに定番ネタなので配慮しましょう。
PyCon JP Blog: PyCon JP 2022 サンプルプロポーザル
トレンドを押さえよう
PyConJPのトレンドは2010年代前半に流行した技術です。
そこにLLMやAWS、GCP、分散コンピューティングなど、当時存在しなかったものはPyConJPの取り扱い範囲外で採用するための枠もありません。機械学習は当時、SVMなどちょっとだけ存在していましたが機械学習分野の投稿で許されるのは「mecabを使ってみよう」の水準までです。それも衝突しがちなので分野はよく選びましょう。
今年のPyConJPの募集要項は見ましたか?2010年になかった技術ですが例外として『mojo』のプロポーザルは採択すると発表されています。12 ですが、そう発表されたということは『mojo』に関連するプロポーザルはそれを提案した『良い人』と内容が被る可能性がありますので注意しましょう。例外として認められてない技術については熟慮してください。私は審査とは別に個人的にはmojoの話は聞きたくないです。使える場所ないので。誰が聞くんすか?
とはいえ、必ずしも制約が厳しいという訳ではありません。今年のPyConではPythonに関係ないプロポーザルでも審査員が面白いと思えれば積極的に採択する、と発表されてますのでPythonとは関係のないみんなが楽しめる面白いトークが採用されると思います。13 ワクワクしますね。
上級者向けトークとして採択されるのは、プログラマー・OSSの作者をネタにした痛快で笑える内容です。『世間一般のコード書いてるやつは馬鹿、これを聞いて他の人を見下せる玄人になろう』『ハズレのOSS、アタリのOSS。使うべきはどっちのクイズショー』といった広く汎用的な話題が上級者向け枠のトークとして非常に好まれます。
上級者向けトークというのは、時代に取り残されたまま自意識だけが肥大し続けた人達を満足させられる優れたプロポーザルのことです。PyConJPでは去年は運営チームが出した上級者向けトークの採択に私が猛反対したため何故か該当の日本語のトークを英語にして取り行うと運営チームが決定しました。今年は待望の日本語の上級者トークが復活すると思います。応募しましょう。
専門的なことを取り扱うという意味の上級者向けのトークは一般枠で採択されることはないです。そもそも、そんなプロポーザル誰が読むんですか?読み手、聞き手のことも考えてください。どうしてもしたい場合はスポンサーか『良い人』になりましょう。
採択される可能性のあるプロポーザルを書こう
イベントに技術の専門家、情報の専門家は関与しておらず、専門家の監修が入ってない場合もあります。そういったイベント毎の事情にも注意を配り、適切なプロポーザルを書きましょう。適切というのは周囲の水準に合わせる、という意味でもあります。PyConの場合、プロポーザルを書くのに1時間以上かかったなら危険信号です。Take it easy です。
PyConJPの関係者には想像がつかないPythonハッカー、一騎当千と呼べるような凄いコードを書く人が世の中にはいますが、彼らのプロポーザルは相互の想像力の欠如が原因で普通に落ちます。(そもそも「わかってるPythonプログラマー」はPyConには関わらず、孤独にGitHubで草生やしてます。実態として日本にPythonプログラマーのコミュニティはありません。)
調査作業を含めるとこの内容は書くのに100時間以上かかってるな、と思うようなプロポーザルは何件かありましたが真面目なプロポーザル、独自研究は『マニアック』とラベリングされ落ちます。肩の力を抜きましょう。14
日本人のOSS作者の世界的に使われている自作OSSを紹介するプロポーザルは「俺はコイツ知らん」の一言でリジェクトになります。メンツへの配慮が欠けているからです。15
重ねて言いますが評価基準にそぐうプロポーザルを書きましょう。
ここまで読んだ方はおわかりだと思いますが、審査プロセスを知り、その対策ができてるか否かで採択結果は変わります。内情を理解していらっしゃる方々は例年、適切なフォーマットでの提出をされています。
去年のPyConJPの審査では応募者に周知されていた採用基準が実際のものと違うのではないか、と私がわがままを言い続け、不採用になったプロポーザルを何件か復活当選にして頂きました。ですが復活当選した技術者の業務上の機密ドメインの流出の可能性があったので私が悪かったスマン、という気持ちになりました。もうやりません。
そう、2023年には国際イベントとして開かれたPyCon JP, Pycon APACにて来場者の通信内容、DNS情報が流出した事件がありました。その事件に対する詳細な事故調査報告や振り返り、防止策の提案はなく『来年からは専門家の協力を仰ぐから、これ以上は言及するな』という声明が出され非難は収束しました。
イベント開催に関して今後、PyConJPの運営が専門家の協力を仰ぐように方針転換されるのであればよい変化だと思います。
なにはともあれ登壇はカンファレンス業界人になるための第一歩です。
ChatGPTを使いこなして頑張ってください。
イベント用語で使われるプロポーザルという単語は、せめて日本語圏だけでも別の言葉に置換されるべきではないでしょうか。真剣に世界に技術で貢献してる人が使える言葉を、PyConJPせいでそうでない人が「俺はPythonのプロポーザル通した」のように使うので混乱します。『登壇企画』、『予稿』に言いかえませんか? ↩
長年の伝統があり多くの関係者が集う同窓会、試飲会としての意味合いの強いイベントに招かれる人というのは常識的に考えて身内で固められるものです。歴史あるイベントで関係者同士のしがらみのない自由なイベントというのはそうあるものではありません。むしろ部外者の発表にも貴重な時間の一部を割いてくださるPyConJPの関係者の皆様の器の大きさには感謝すべきです。このような扱いをする理由についてPyCon JP Associationの代表は『これはどこでもやっていることだから』と仰られています。 ↩
長い間、人の入れ替わりなく続いているイベントでは、人生のイベントやライフステージの変化などでプログラミング、プログラミング言語に触れられなくなる理由は様々に生まれると思います。それでも今だにイベントを運営し続けてくださっている方々には感謝感謝です。プログラミング言語のイベントを開催するに際してプログラミング言語に対する関心よりも大切なことは沢山あります。 ↩
PyConJPに対してフォーマルにプロポーザルを読まない理由の説明を求めたのですが団体の公式声明としては『PyConJPのメンバーは多忙のため総合的な判断をする』とのことでした。プロポーザルに目を通すよりも優先されるイベントの準備があるのでしょうし、投稿者の名前だけでもイベント運営のための十二分に正しい採択の判断ができるのでしょう。イベント運営の関係者の皆様の働きぶりには感謝感激です ↩
少し前までは『良い人』に支給されるのはSupportという名の自由な小切手でしたが、流石にいろいろあったので世界的にはTravel Grants(- Travel Grants FAQ - PyCon US 2024)に変わりました。日本語ではどちらも『参加支度金』が適切だと思いますがPyConJPは予算の詳細を公表しません。ですが『良い人』の数が多く、一人あたりの支援費の額も大きいのでPyConJPの最大の支出先は「参加支度金」だと思います ↩
(一部、私の主張に誤りがありましたので訂正しました。) SudachiPyはmecabを高速化させたものではありません。処理内容もコンセプトも違います。そもそもRust製だから処理の速度がmecabより早い、という主張はNLP、プログラミング言語の知識が足りていないので研鑽の余地があると思います。PyConJP運営チームが国内の企業のOSSの紹介で枠を取ることもあるのですね。業務として全国各地へ遠征するPyConJPチームが各種イベントで企業のOSSの宣伝をするのは両者にとってwin-winですね。 ↩
https://slides.takanory.net/slides/20240127oscosaka/#/9/1 (プロポーザルとして提出されたのはこの資料ではなく、mecabとの比較があるこれの前の版です) ↩
昔は高卒のPythonプログラマーとかもありえましたが、ここ2、3年でPythonプログラマーとして普通に就職しようと思ったら中小でも基本的にはSTEMの修士以上が最低要件、足切りラインになりましたよね ↩
あたり前ですが世代毎に価値観は異なります。中高生、大学生にとってmecabが使える使えない、なんて話は関心がない話だと思いますが、PyConJPの採択会議の出席者は私以外の全員がmecabの使い方を集客の目玉として捉えており、私以外の出席者全員がmecabの使い方の習得に対し意欲があると言っていました。何歳になっても挑戦、mecabの習得にチャレンジし続ける姿を敬いつつ、我々は敬うべき年長者の価値観に配慮したプロポーザルを作りましょう ↩
『良い人』は良い人なので世界各地、日本各地の色々なイベントに招待されますし招待もします ↩
去年は私が異議を唱えさせてもらい一部の『良い人』たちには別の内容のトークをして頂きました。お手数をおかけしました。この場を通じ、御礼を伝えさせて頂きます。 ↩
https://pyconjp.blogspot.com/2024/05/pyconjp2024-review-perspective.html ↩
https://pyconjp.blogspot.com/2024/05/share-your-python-experience-at-pyconjp2024.html ↩
マニアックな内容じゃなくても採択される、ということは応募すると採択される可能性がある人が多い、ということです。PyConJPの場合は高校の教科書に書いてある記述を真似してプロポーザルを作ったりすると統計や機械学習の範囲以外ならちょうどいいレベル感になると思います。皆さんも応募してみましょう。ですが、未成年の方などは承認欲求は抑えないと悪いタダ飯オジの手駒にされてしまうので気をつけてください。 ↩
自分で作ったものを自分で紹介するのではなくカンファレンス業界人に紹介をお願いしてみる、というのも一つの手です。 ↩
コメント
いいね以上の気持ちはコメントで