ログイン新規登録

エンジニア転職をうまく進めるためのポイント〜企業選びのポイントから年収交渉のコツまで〜PR

1000件以上のユーザー転職事例をもとに解説!

13
16

PyConJPに採択されるプロポーザルを書こう!!

最終更新日 投稿日 2024年05月31日

採択されるプロポーザルと採択されないプロポーザル

私は去年、PyConJPのプロポーザルの審査員を担当しました。
プロポーザルの審査員とは登壇希望者が提出する登壇内容の予稿、プロポーザルを評価する人のことです。
審査プロセスを理解していないプロポーザルが多く残念に感じたため、PyConの審査を通過するプロポーザルの書き方を講座をレクチャーします。

3つの背景と3要件

プロポーザルを通すには3つの背景とそこから導き出される3要件を遵守した上でプロポーザルを書くことが必要です。

3つの背景は以下です。

  1. 基本的にイベント運営者の身内以外は採択されない
  2. イベント運営者、およびレビュー審査員はPythonの経験がない
  3. プロポーザルは中身を読まれずに審査される

上の背景条件により『一般枠』で採択されるプロポーザルが備えてなければならないのは以下の3要件です。

  1. 採択されるジャンルを選ぶ
  2. Python、IT技術を知らない人向けに書く
  3. わかりやすく有名人アピールをする

PyConJPのプロポーザル審査を通過するにはこれを理解することは必須です。
この重要性は審査プロセスを知ることで理解できます。
プロポーザルの審査は以下のフローに沿って行われます。

審査プロセス

『良い人』と争わない

3種類の採択経路のそれぞれの採択数については言及をさけますが、あなたが『良い人』でないのならプロポーザルの応募ジャンル、テーマによっては、出した時点で不採択が確定しています。それは低い確率ではありません。
この『良い人』というのはプロポーザルの審査プロセスや国内外のイベントへの参加支度金の交付枠、イベント間の相互招待支援の対象枠、高級旅館で行われる運営会議への招待枠で登場する言葉で、五輪貴族のPython業界版、PyCon業界人のことです。
同じ主題のプロポーザルは一つしか採択されないので『良い人』のプロポーザルとテーマが被った時点で、あなたのプロポーザルは不採用になります。
『良い人』を差し置いて良い人以外が選ばれることはありません。そこにプロポーザルの質は関係ありません。
もしあなたが『良い人』でないのなら『良い人』とトピックが被らず、かつ運営が採択する狭いジャンルの中のプロポーザルを書く必要があります。

実際の戦略

『良い人』対策

『良い人』たちはそれぞれが同じ内容での登壇を繰り返しているので対策を練ることは容易です。
去年(2023年)は、裏テーマとして『mecabの使い方に関するプロポーザルを大量に採択する』という取り決めが内部で共有されており、『良い人』たちがmecabの使い方に関するプロポーザルを投稿するなどして傾向がズレましたが、基本的に2010年ごろから登壇内容にアップデートはありません。
では『良い人』と内容が遠ければOKか、というとそうでもありません。

『良い人』がプロポーザルの採択の最終決定権を保持しているため『良い人』たちが知らないジャンルのプロポーザルがPyConで採択されることはありません。なので『良い人』と被らず、かつ『良い人』の興味をひけるギリギリを攻める必要があります。
これが、Pythonに関連するプロポーザルの内、多様な人の登壇可能性が残されている唯一の枠、『実質ジャンゴ枠』を狙う場合の最初の一歩になります。

なお、これがPyCon運営チームが共同で提出した『最新ツールを知っててmecabをディスれるイケてる俺達』的な内容のプロポーザル概要です。裏の採択基準にも沿っている完璧なプロポーザルだと思います。個人的な感想ですが主張内容が全部嘘でちょっと怖かったです。123

出展:https://slides.takanory.net/slides/20240127oscosaka/#/9/1
PyConの運営チームが求め、評価するのはこういった主張のプロポーザルです。その辺りを考慮してプロポーザルを書きましょう。

模範解答としての『ジャンゴ枠』

PyConの運営者たちは2010年ごろに、今風に言うと『Python驚き屋』をやっていた人たちで今に至るまで入れ替わりはありません。彼らは若者を使いウェブサービスで一発儲けようと考えているウェブ屋からIT技術が抜けたドジっ子たちです。
2024年のPythonは昔とは社会的な意味合いや存在、技術水準、求められるスキルセットは違うのですが、彼らは2010年ごろのPythonに関する知識を保持していて羨望の対象はmecabを扱えるプログラマーで当時、流行っていたウェブフレームワーク、『ジャンゴ』という単語にだけ過剰反応します。結果としてジャンゴに関するプロポーザルは異様に評価が高くなります。
なのでジャンゴのプロポーザルは通ります。なお、そこで真剣にCVEを探すとかそういうこはする必要がありません。採択されるレベルは『SQLというものを知ってましたか?SQLを知っているのは偉い』とかそういう内容でいいです。そういう内容がいいです。捻る必要はありません。『皆さんはlen関数がどう動いているか知っていますか?なんとlenプロパティが呼び出されるんです』これくらいの内容の深さで30分の投稿を作りましょう。
Django ORM道場:クエリの基本を押さえ,より良い型を身に付けよう by Takayuki Shimizukawa - YouTube
Pythonはどうやってlen関数で長さを手にいれているの? | PPT

一般枠(実質ジャンゴ枠)がジャンゴやその周辺のプロポーザルばかりなので私は「何故ジャンゴに関するプロポーザルだけ評価するのですか?」と運営チームに確認をしたのですが『ジャンゴはPythonでPythonはジャンゴである。機械学習やクラウドはPythonではないので採択しない』という解答を受領しました。
『良い人』でない人はPythonではないプロポーザルを送るのは止めましょう。それは本当に意味ないです。PyConにプロポーザルを通すためには過去問での対策を怠っては駄目です。自分の得意ではなくPyCon側の需要をよく見定めることが大事です。

実際の傾向

下の表が採択会議の結果です。「DevOps」、「WebProgramming」、「Tips of development with Python」の枠が一般採用でも取れる可能性があった枠です。(去年は他の枠でもわずかに一般採択がありました。それは私があまりの偏りぶりにPyConの運営に猛抗議……お願いした結果です。今年の枠はないと思います)
ジャンゴに関するプロポーザルはWebProgrammingだけではなく、DevOpsやTips of developmentにも割り振られます。ジャンゴは多くの分野に跨る、というか運営の言葉を借りるなら『ジャンゴはPython』です。
Tips of development with Pythonが多いのは、私がPyCon運営者たちが出したプロポーザルの内容の間違いを指摘した結果、『運営枠』の登壇内容が公式ドキュメントの音読に変わったためです。
image.png

有名人枠

ジャンゴ枠の他に、スポンサー枠、有名人枠というのもあります。
PyConの運営者が『Twitterで見た』という意見のもとに『準いい人枠』でPyCon運営者がフォローしている人を採択することがあります。
プロポーザルの最終決定権を持つ運営の人たちは、プロポーザルは名前の欄以外は読まないので一般枠の採用においてはSNSの評判が重視されます。
なので、審査日が近いタイミングでSNSのプログラミングワナビー界隈でツイートをバズらせることは採択可能性を大幅に上げます。
毎日、PyConのハッシュタグをつけてツイートする、とかそういう方法で少しずつ『良い人』たちからの認知度を上げていきましょう。
なお、GitHubのスターや芝の量は意味ないです。むしろコードを書いてない方がプラスに働きます。その方が運営と目線や考え方が近くなります。

スポンサー枠

プロポーザルを通すためにスポンサーになるのはオススメしません。PyConのスポンサーの流動性の高さは異常だと思いますし、「PyConでスポンサーやってます」のアピールにポジティブな印象を私は持ちません。
スポンサー枠での応募は採択されますが、それは他のもっとよいプロポーザルを押し退けて採択されていることは自覚した方がいいと思います。
(スポンサー枠に押し退けられようと、退けられまいが中身のある投稿は端から採択の見込みはないのですけど)

PyCon特有の書き方の作法

また、PyCon特有のプロポーザルの書き方のテクニックがあります。
ジャンル選びに失敗すると、その時点で採択可能性は潰えるので、ジャンル選びがプライマリーですが、二番目に気にする必要があるのが書き方です。

専門用語や高度な内容は絶対に駄目

採択会議の場でプロポーザルの中身は読まれません。
採択会議に出てる人の9割は事前にプロポーザルを読んでいません。それでも採択者の多くを正しく選ぶことができます。
名前で決められなかった枠、残りの一般枠を決めるために、3~4人のPyConJP用語でいう『忙しくない人』が事前にプロポーザルに目を通しています。Python経験のないお祭り人、物販の利害関係者、70歳くらいのおじいさんたちが自分の有利な状況を作るために事前の点数評価をし、その評価を元に採択会議で採択がなされます。
事前評価をする彼らは難しい日本語を読めません。なので専門用語を使ってはだめです。主張が長いのも駄目です。小学生でも読める程度の日本語の難易度、文量で書く必要があります。そうでなければ内容に関係なく『よくわからなかった』『3行以上の主張は長くて読めない』という評価とともにリジェクトリストにinします。
また、活用方法が読み手である非技術者に伝わらないものもダメです。
嘘でもいいので、癌を100%の確率で見分けられる、とかそういう大袈裟な書き方をしましょう。雰囲気を眺めているだけで文章は読んでないので真偽が評価されることはありません。採択されるプロポーザルはそうした真っ赤な嘘のものが少なくないです。
image.png

もっというと癌とかnvidiaとかAWSとかそういう言葉を使うのも審査基準的には減点でした。もっと幼稚園児にも伝わる単語が好まれます。実態がわからないとエミュレーションしにくいと思うのですが、読み手はITの用語がわからないIQが低めの老人だと理解して書きましょう。多様性やSDGsをインクルーシブすべきです。そうでなければ当人にリジェクトされます。
ルビーと赤いガラスを見わけるには専門技能が必要です。なので実際に選ばれるプロポーザルというのは、ビールは美味しい、あそこのタダ飯は旨い、この話を15分聞くだけでPythonはマスターできる、pandasは簡単、pythonのOSSはクソ、mecabは時代遅れ、俺が書いた入門書は神!、プログラミングの奥義を語ります、といった内容です。こうした個性的で独創的なプロポーザルを審査員は高く評価しますし、PyConJPの運営もそうしたプロポーザルを求めています。『良い人』が出してくるプロポーザルの内容もそういうものです。
これは冗談や皮肉を言ってる訳ではないです。技術的背景や専門知識が不要なプロポーザルの方が誰にでも読みやすいので評判がいいですし、専門知識を使わずに世の中を一刀両断できる内容はみんなで盛り上がれます。この水準からあなたのプロポーザルがズレればズレるほど一般枠での採択可能性は減っていきます。気をつけましょう。とはいえ水準を合わせにいってテーマも被ったら優先順位で弾かれるので合わせ過ぎは駄目なんですけどね。

めちゃくちゃ細かくタイムスケジュールを書こう

そして、テクニックとして、30分のプロポーザルでも3時間のチュートリアルでも5分、10分ごとのタイムスケジュールを書きましょう。
それを書くのが通例になっており、それがなければどれほど濃密なプロポーザルでも『何を話すのかわからなかった』という評価とともにリジェクトが確定します。
ジャンゴに関連するプロポーザルは補正が入り満点評価に近くなるので、(ジャンゴ以外のプロポーザルは)少しでも減点される要素があれば、その時点で一般枠では採択されることはないです。なのでジャンゴでhello worldするプロポーザルを書くか、減点される要素がないプロポーザル、幼稚園児でも読める、幼稚園児がすごいと思うようなプロポーザルを書きましょう。ただし、ジャンゴでhello, wolrdは運営チームの定番の得意ネタなので配慮しましょう。

トレンドを抑えよう

PyConのトレンドは2010年代前半に流行した技術です。
そこにLLMやAWS、GCP、分散コンピューティングなど、当時なかったものはPyConが取り扱うものではありませんし、採用するための枠もありません。機械学習は当時、SVMなどちょっとだけ存在していましたが機械学習分野の投稿で許されるのは、mecabを使ってみよう、の水準までです。それも『良い人』と衝突しがちなので分野は選びましょう。
今年の募集要項は見ましたか?2010年になかった技術ですが例外として『mojo』のプロポーザルは採択すると明言されていました。ですが、運営がそう言うってことは多分それを提案した『良い人』と内容が被って負けます。例外として認められてない技術については察してください。私は審査とは別に個人的にはmojoの話、聞きたくないです。使える場所ないので4

高校の教科書に書いてあるPythonに関する記述をコピペして応募すると、ちょうどいいプロポーザルになると思います。5 ですが、承認欲求は抑えないと悪いタダ飯オジの手駒にされるのでPyConには気をつけてください。

上級者向けの話として採択されるのは、Pythonプログラマー、OSSの作者をコケにする痛快で笑える内容です。『世間一般のコード書いてるやつは馬鹿、これを聞いて他の人を見下せる玄人になろう』『外れのOSS、当たりのOSS。どっちのクイズショー』みたいな内容が上級者向け枠のトークとして非常に好まれます。
上級者向けトークというのは、時代に取り残されたまま自意識だけが肥大し続けた人達を満足させられる優れたプロポーザルのことです。去年は上級者向けのトークの採択に私が反対したため何故か日本語ではなく英語で取り行うとPyConの運営チームが決めたのですが、今年は日本語版も復活すると思います。
専門的なことを取り扱うという意味の上級者向けのトークは採択されることはないです、というかそんなプロポーザルは私以外は誰も読みませんし読めません。評価がついたとして『よくわからなかった 0点』で終わりです。

採択される可能性のあるプロポーザルを書こう

PyConJPのイベントには技術の専門家、情報の専門家は関与していませんし、専門家の監修は入りません。PyCon特有の要件、事情に注意を配り、適切なプロポーザルを書く必要があります。適切というのは周囲の水準に合わせる、という意味でもあります。プロポーザルを書くのに1時間以上かかったなら危険信号です。もっと気軽に書きましょう。

エアプ勢のPyConの関係者には想像がつかないPythonハッカー、一騎当千と呼べるような凄いコードを書く人が世の中にはいますが、彼らのプロポーザルは相互の想像力の欠如が原因で普通に落ちます。(そもそも「わかってるPythonプログラマー」はPyConには関わらず、孤独にGitHubで草生やしてます。日本にPythonプログラマーのコミュニティはありません。)
調査作業を含めるとこの内容書くのに100時間以上かかってるな、と思うようなプロポーザルは何件かありましたが真面目なプロポーザル、独自研究は『マニアック』とラベリングされ落ちます。もっと肩の力を抜きましょう。世界的に使われている優れたOSSの作者のOSS紹介プロポーザルは「俺はコイツ知らん」の一言でリジェクトになります。『良い人』のメンツへの配慮が足りていません。
重ねて言いますがPyConの評価基準にそぐうプロポーザルを書きましょう。
ここまで読んだ方はおわかりだと思いますが、審査プロセスを知る知らないで採択されるかリジェクトかの結果は変わります。内情を理解していらっしゃる人は例年、最適化されたフォーマットでの提出をしています。
去年はこの採択基準はおかしい。応募者に周知されていた採用基準が実際のものと違う、と私が言い続けわがままな交渉をし何件か復活当選にして頂きましたが、復活当選した技術者の業務上の機密ドメインの流出の可能性があったので私が悪かったスマン、という気持ちになりました。もうやりません。

そう、2023年にはDNS流出事件がありましたが、それに対する詳細な事故調査報告や振り返り、防止策の提案はなく『来年からはIT、法律の専門家の協力を仰ぐから、これ以上は言及するな』という声明があり収束しました。
イベント開催に関して今後、PyConの運営が専門家の協力を仰ぐように方針転換されるのであればよい変化だと思いますが、今さら協力してくれる専門家っているんでしょうか。これまで専門家のプロポーザル、採択してこなかったので……

なにはともあれPyConへの登壇はPyCon業界人になるための第一歩です。
ChatGPTを使いこなして頑張ってください。

  1. sudachi.rsとSudachiPyは別物です。SudachiPyはPythonで書かれています。(私の情報が古かったです。私の主張が嘘でした。申し訳ないです) 処理速度はmecab等に比べて遥かに遅いです。SudachiPyはmecabを高速化させたものではありません。処理内容もコンセプトも違います。そもそもRust製だから自然言語処理の速度がmecabより早い、という主張はNLPを舐めすぎているのでは?。この後で説明される使い方も技術選定の過程も間違えています。そもそも何故、PyCon運営チームが国内の企業のOSSの紹介で枠を取るのかも謎です。こんな内容がPyCon運営陣によって各種イベントで使い回されているのは私にはあんまり理解できませんでした。でも集めたお金を登壇手当に変換できるし非常にいいと思います。

  2. https://slides.takanory.net/slides/20240127oscosaka/#/9/1

  3. コメント参照

  4. このタイミングでmojoピックアップするの、エアプが過ぎなくない?

  5. 統計や機械学習の範囲は採択されないので駄目ですよ。

13
16
7

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
  3. ダークテーマを利用できます
ログインすると使える機能について
この記事は以下の記事からリンクされています

コメント

@pycon_shinjitsu

DNS流出について補足しておきます。

PyCon APAC 2023は東京で開催され、その運営をPyCon JPが行いました。
PyCon JPでは以前から来場者向けにWi-Fiを提供しており、そのネットワークを最初はCONBUが、コロナ明けからは自前で構築していました。

CONBUとはイベントネットワークを構築する専門チームであり、PyCon JP以外にもPHPカンファレンスやdroidkaigi、YAPC、InternetWeekなどのイベントで来場者向けWi-Fiを提供してきた非常に専門性や技術力の高いチームです。

ですがコロナ明けのPyCon JPはそのような専門チームの力を借りずに、自前でネットワーク構築をするという愚行を犯し始めました。
2022年の開催の際には、スペック見積もりを誤ったのか、設定の詰めが甘かったのかは知りませんが、大規模な障害を発生さえ、登壇者へ影響を出し、私の記憶ではタイムテーブルの変更が発生したはずです。
そして件の2023では、来場者のWi-Fi接続からDNSクエリを盗取し、しかもそれをWebサイトへ掲載するという前代未聞の惨事を引き起こしたあげく、またしてもWi-Fiが不通となりイベント全体へ影響を与えるということが発生しました。

これらの主悪の根源は、ネットワークチームのリーダであるJ.K氏がもたらしたと私は考えていますし、客観的事実を見てもそうでしょう。
彼がWi-Fiの設計や構築を指示し始めたコロナ明け以降のPyCon JPでは、明らかWi-Fiの品質は劣化しています。
彼の技術不足、技術者倫理が、PyCon JPの質を下げたのは明らかです。

PyCon JPの運営が、彼が暴れている状況を止めずに、むしろ良しとしている状況に対して、非常に強い危機感を感じています。
それはもう組織として自浄作用が全くないことを意味しており、Pythonコミュニティの害悪としてしか機能しないからです。
一刻も早く、彼を追放して、再度CONBUへ頭を下げて、CONBUに会場Wi-Fiを提供してもらうべきだと全PyCon JP関係者や参加者は感じていることでしょう。

J.Kさん、あなたのせいで世界的コミュニティが崩壊しようとしていることに、気づいていませんか?
あなたはエンジニアとしての価値が一切ない人間です。
早く実家にお帰りになって家業の手伝いをしたほうが、全世界の為になるので、一刻も早く消え去ってください。

0
python_bokumetsu
@python_bokumetsu
(編集済み)

@pycon_shinjitsu
個人攻撃はどうかと思いますが、私の技術者としての考えでは、去年のDNSクエリの事件は担当者、並び、運営団体に対して基本的な技術者倫理の欠如、人権に対する価値観の相違、及び、コンプライアンスの欠如を覚えるものでした。
Wi-Fiの不調についてはよく知りませんがそれは仮に事故で済ませられるにしても、DNSクエリの件はそうではないので原因究明と再発防止策の検討、並びに、責任者の責任追求、責任者の変更、管理団体の変更などの改善措置が取られるべきではないかと存じます。
ただし、それは運営に直接言うべき話だと思います。それでも改善が見込めないのであればガバナンスの欠如を指摘するか、絶縁が早いと思います。PyCon JPが集めたお金の使い道はPyCon JPの理事達が独断で決めることなので外野がとやかく言えることではないと思います。もちろん、それを理事がポケットマネーにすることも会計手続きがちゃんとされるのであれば許容されることです。
私は一通り内部で手続の正常化を主張し、意見の交換を行いました。その上で内部の人、事情通だけが採用基準を知る現在のあり方は不公平だと思い公開に至りました。これはPyConに対するメッセージではなく応募者に対するレクチャーです。
ここではプロポーザルの採用基準に関する話をしています。

0
@pycon_shinjitsu

@python_bokumetsu
おっしゃっている通りだと思います。
Pycon JPでは「基本的な技術者倫理の欠如、人権に対する価値観の相違、及び、コンプライアンスの欠如」がある人間がWi-Fiを組んでいるということを一人でも多くの参加者に知ってもらうことが、公共の利益になると思って投稿しています。

また、「原因究明と再発防止策の検討、並びに、責任者の責任追求、責任者の変更、管理団体の変更などの改善措置」がされた様子がないので、PyCon JP運営が見ることを見越して書かさせていただきました。

この記事を荒らす意図はありません。

0
@todesking

sudachi.rsとSudachiPyは別物です。SudachiPyはPythonで書かれています。

sudachipy 0.6.0(2021-11-11リリース)以降はRust実装を使ってますよ https://github.com/WorksApplications/sudachi.rs/releases

0
@todesking

SudachiPyはmecabを高速化させたものではありません。処理内容もコンセプトも違います。そもそもRust製だから自然言語処理の速度がmecabより早い、という主張はNLPを舐めすぎているのでは?

それらの主張はどこで読めますか? リンクされているスライド( https://slides.takanory.net/slides/20240127oscosaka/ )ではMecabに言及されていないようでしたが。

0
python_bokumetsu
@python_bokumetsu
(編集済み)

@todesking
本当ですね。当時からRust実装のbindingがあるのは私も認知していたのですが、ただ投稿されたプロポーザルには『本プロポーザルで紹介するのは以下のレポジトリ(python実装)のライブラリです』と記載されていたので、そちらの紹介だと判断していました。(もしかすると投稿者本人が付与したリンクではなく、他のPyConメンバーがレビュー中に追記したリンクだったかもしれませんが、少なくともレビュー中に参照されてたのはPython実装のレポジトリのリンクでした)
https://github.com/WorksApplications/SudachiPy

1
python_bokumetsu
@python_bokumetsu
(編集済み)

@todesking
Sudachiは他のツールよりも早いので乗り換えましょう、というプロポーザルの本筋部分が間違っている、という私の指摘はまだ正しいとは思います。
ただ、私が本記事で参照しているリンクは同じくPyCon JPの運営団体の発表資料ではありますが、mecabとの比較言及が減っていて、発表者の名義も違う、PyCon JPのプロポーザルに提出されたものとは別の資料であり厳密には本来、参照するべき資料ではありません。
その本来参照するべき資料は、プロポーザル審査に使われた非公開のもので、それをPyConが一般公開している別の資料で代替できるとの私の間違いが生じさせた混乱だと思います。失礼しました。

1

いいね以上の気持ちはコメントで

13
16

ログインして続ける

ソーシャルアカウントでログイン・新規登録

メールアドレスでログイン・新規登録