ちょくだいさん、ごめんなさい

ちょくだいさん、ごめんなさい。(ちょくだいさんが中高の後輩で、中学校一年生や中学校二年生の頃の印象からアップデートされていないことも行き違いの原因かと思いますので、この書き方にいたします。) 

nuc.hatenadiary.org

このあいだ書いた上の文章に対して、なぜか、ちょくだいさんに反論されています。

chokudai.hatenablog.com

しかし、ちょくだいさんには、かなり感謝と配慮をした文章を書いたつもりでした。

まず、前の方には、ちょくだいさんのおかげで、りりあんさんは模擬面接を受けることになったよ、ちょくだいさんがいなければ知り合うことすらなかったよ、ということが書いてあって、後ろの方には AtCoder のこのあたりの過去問(4問時代のABCのC問題)を解くといい勉強になるよ、とまで書いてあるわけじゃないですか。宣伝までしたくらいの気持ちでしたよ。

 

というわけで、ちょくだいさんが、先輩に失望したといっているのを見たときは、何を言っているんだろう、と思いました。

AtCoder

それで、しばらく首をひねっていたんですが、実は、まったく理解していなかったところがあったことに気が付きました。それは「競技プログラミング」とは「AtCoder」のことであり、「AtCoder」とは「ちょくだい」のことである、と読む人がいるということです。

競技プログラミングをしている」と言ったら、非常にありがたいことに、殆どの人がAtCoderに取り組んでいると思います。日本における「競技プログラミング」は、「AtCoder」と言い換えても、さほど問題がないかと思います。(競技プログラミングの在り方 ~「競技プログラミングを我々が終わらせる」を受けて~ - chokudaiのブログ)

これは、ちょくだいさんが blog に書いてくれたので気が付きました。なるほど。なるほど。これについては、意図せず失礼なことを書いたとお詫びしたいと思うと同時に少し背景の説明と本来の意図をご説明させてください。

 

当たり前ですけれども、あれくらいの長文を表に出すからには、あらかじめ、それなりの数の関係者に閲覧して感想をもらって修正してから投稿してます。それなりの数の先輩や後輩や同僚や教えた相手などに先に見せてます。もちろん、りりあんさんにも見せてます。

で、この「競技プログラミングを終わらせなければ」における「競技プログラミング」というのは、もともとは、今回の模擬面接をした3人の周りの人たちの間では、競技プログラミング同好会・クラブやその周辺の活動を指すわけです。

 そりゃそうじゃないですか、「競技プログラミングをする」という表現は当時はなくて、「プログラミングコンテストに出る」と言っていたわけです。だから、競技プログラミングといえば、自分たちが大学生の頃の集まりを指すわけです。「学生時代のバンドを終わらせなければ」と置き換えたら意味が通じるでしょうか。つまり、自分たちの大学生・大学院生の頃を反省して、とても大事なことをやり忘れてきたのでやり終わらなければいけない、ということです。

 少々不正確になって誤解されることを恐れずにもうちょっというと「東大理学部情報科学科に2002年から2005年ごろに進学した人々とその周辺のうちでお祭りが好きな人たちのコミュニティー」があったという話です。そして、2007年に競技プログラミングの名前が付きます。つまり「競技プログラミング」が広まり変質したというのは AtCoder ができる2012年より前の話をしています。「前競技プログラミング時代」には Gokuri-Squeeze GNC  kitsune- というような本当にすごい先輩たちがいたんですよ。ただ、競技プログラミングができた少し後あたりで、どこかで歯車を狂わせてしまったように感じております。

 

だから、あらかじめ閲覧していた人たちの中には、「競プロ終わらせるは本当にそう」といった反応をしている人も複数いました。

 

別に「競技プログラミング」という単語を商標登録していたわけでもないですから、その後、誰が使うのも自由です。ただ、さすがに、個人の代名詞や会社の代名詞のようになっていると思っている人がいることには私は気が付かなかったわけです。

それを前提に、元の文章を置き換えて、

「ちょくだい」は、東京大学「ちょくだい」同好会2007年春台湾合宿から始まります。

「ちょくだい」は変質し、その悪影響は看過できない所まで来てしまったと思います。

我々の目的の一つは、我々が始めてしまった「ちょくだい」を我々が終わらせることです。

という風に読んでいると理解すると、なるほどこれは、たしかに「抹殺する」という意味にもなりそうですし、

AtCoder」は、東京大学AtCoder」同好会2007年春台湾合宿から始まります。

AtCoder」は変質し、その悪影響は看過できない所まで来てしまったと思います。

我々の目的の一つは、我々が始めてしまった「AtCoder」を我々が終わらせることです。 

という風に読んでいると理解すると、なるほどこれは、たしかに「破産させてやる」という意味にもなりそうです。というか、それ以前に「お前たちは始めてないよ」といわれそうですよね。

そりゃそういう風にいわれたら怒ります。ごめんなさい。だけど、破産させる気も抹殺する気もありませんでした。というよりも、こう読まれるのにあらかじめ気がつけというのは、正直無理です。

僕たちは、競技プログラミングを娯楽として楽しんでいます。これを、初期にちょっとプログラミングコンテストに取り組んでいた程度で、我が物顔で「我々が競技プログラミングを終わらせる」などというのは、到底容認できるものではありません。競技プログラミングは貴方のものではない。もちろん僕のものでもないので、多様な競技プログラミングのあり方があるべきでしょう。(競技プログラミングの在り方 ~「競技プログラミングを我々が終わらせる」を受けて~ - chokudaiのブログ)

 という部分は

僕たちは、「AtCoder」を娯楽として楽しんでいます。これを、初期にちょっとプログラミングコンテストに取り組んでいた程度で、我が物顔で「我々が「AtCoder」を終わらせる」などというのは、到底容認できるものではありません。「AtCoder」は貴方のものではない。もちろん僕のものでもないので、多様な「AtCoder」のあり方があるべきでしょう。

という意味だとすると、納得がいかない理由はとてもよく分かります。なので、わざわざ、プログラミングコンテスト競技プログラミングを書き分けているということですよね。

しかし、「我々が「AtCoder」を終わらせる」というのは、容認するとかしないとか以前に、具体的に何をすることをイメージしていたんでしょうか。やっぱり、破産させるとかでしょうか。容認できないと判断できる程度には具体的にイメージできていたはずと思います。「AtCoder はあなたのもの」の具体的な意味もよく分かりません。ただ、なるほど、これはなんかとんでもないことをする計画だったっぽいですね。

しかしながら、前の文章でも AtCoder の過去問を解いてみたら、とおすすめしていることからも分かるように、サービスはあって欲しいと思います。

本当にごめんなさい。

 

5歳くらい歳が離れると一部の言葉が通じなくなることがあるのは、少し前に「アンチ」という言葉で強く実感したことがあります。これもそうなのでしょう。

 

ここまでが謝罪です。

質問

ところで、ちょくだいさんの文章、何を言っているかまったく読めないというか、全体として言いたいことはあるみたいなのだけれども、部分部分の整合性がないのではないでしょうか。局所的にころころ意見変わっているように思います。

ちょっとよければ書き直していただけませんか。

たとえば、「競技プログラミングが役に立つかどうかは企業が決めるべき」だと考えているんだったら、問い合わせなり資料を漁るなりしましょう。しかも、競技プログラミングAtCoderのことと置き換えてもいいとかいっているんだったら、AtCoder が役に立つかどうかを問い合わせましょう。

Googleはどっちかというと役立つ企業だと思ってますが……。」みたいな希望を書かれても知らんがなというしかないです。GoogleAtCoder が役に立つか問い合わせるなり、公開されている資料を探すなりすればよいでしょう。

その一方で、「AtCoder社として主張してそのまま通っているもの(注: IT就職における評価)もある」ということで、「AtCoder社が自発的に就職に役に立つと評価している」ことも書いていて、こんな短い文章で自己矛盾しちゃうのは読む方としては厳しいです。

そして、そもそも「Googleに入るのが偉い」という価値観を批判していたわけで、そういう価値観じゃないのだったら、Google 就職で役に立つかなんか、どうでもいいはずで、文章中でだらだらと一番長い章を立て語っているのは何がしたいのか不明です。役に立とうが立つまいがどうでもいい。そうなるでしょう。

 

また、私も、AtCoderGoogle 入社にまったく役に立たないと書いた記憶はなく、教える立場として「4問時代のABCのC問題とかが問題集としていいですよ」というのは生徒に対しても繰り返し言っているところです。この点、ちょくだいさんは、具体的にはどの程度まで役に立つとお考えでしょうか。「あくまで一部の要素でしかない」「勉強時間の2~3割は競技プログラミングに充てても良い」とありますが、具体的にはレーティングでいうといくらでしょうか。あるいは、どの問題を何問くらいでしょうか。

 

(ちょくだいさん向けの文章は、ここまでです。)

競技プログラミング

競技プログラミングの名前が何を指しているかという意味では、競技プログラミングの名前が付く前のプログラミングコンテストの時代で活躍された三廻部さんの以下の発言はとても示唆的だと思います。

「とっくの昔に終わっていたのではないでしょうか」っていうのはそうかもしれません。ただ、名前の付替えがどうとかそういうのはいいので、三廻部さんもお願いなので、「もしも、自分がクラスメイトなどだったら友達になってお茶をするだろうなと思う」ソフトウェアエンジニアになりたいという人を見つけて、授業なり模擬面接なりをしてあげてください。たぶん、私の言いたいことが伝わると思いますので。

Gokuri-Squeeze の川中さん(mayah さん)も同じ問題意識を持っていて、一緒に模擬面接をすることもありますけど、そういう問題意識があるんですよ。

mayah さんは、競技プログラミングのできる前の世界大会クラスのプログラミングコンテスト勢であるだけでなく、Google にもいた CEO かつ CTO で、エンジニアの教育にもボランティアで精を出していますので、ソフトウェアエンジニアになりたいならば今すぐフォローしましょう。

就職に役に立つ

なお、ちょくだいさんが、Google の人も競技プログラミングは就職に役に立つと主張している例として挙げられている下のツイートですが、私は ymatsux とは小学校3年生からの付き合いです。

これを受けて、Twitterで、現役Googleエンジニアかつ現役競技プログラマの方から、以下のような宣伝が行われていることも確認できます。

 このような事実を見ると、 競技プログラミングGoogle就職の役に立つ、というのも、そんなに間違っていない事実なのではないかと思います。(競技プログラミングの在り方 ~「競技プログラミングを我々が終わらせる」を受けて~ - chokudaiのブログ)

ymatsux も合宿のメンバーで、私は公開前にあの文章(2月の頭の時点の草稿)を見せておりました。しばらく話して、バックスラッシュが出力できないことがあることなどいくつかの例を出すと「よく見つけたなあ」などといってくれた一方、「情報系っぽい経歴がないと、レジュメのスクリーニングに通らない。しかし、競技プログラミングの成績があるとスクリーニングに通るようになる場合がある。これはとても重要な側面だが、お前は分かっていない。」という旨のことをいわれまして反省しました。そして、あの文章に書き足すのを忘れました。

状況

さて、たしかに、あの文章は思い込みがあると読めないものなので、いくつか明らかに断絶があるわけですが、これが分かると読みやすくなることを簡単に説明しましょう。

  • ゴールからかなり遠く、面接本番まで2週間しかなかったので、3人の面接官は本当に焦って、りりあんさんにリアルタイムアタックをさせることにしました。
  • コストパフォーマンスを最大にするために、手分けしながら渋谷の大きな本屋で本を探し、どの本の内容ならば常識的な内容を網羅していて、どこの章は読まなくていいかを議論しました。
  • そして、オアシスの見えない夜の砂漠のような場所を2週間走り続けてください、ぎりぎり間に合うかもしれないから、というようなひどいアドバイスをしました。

ということです。

というように、とにかく3人の面接官は慌てまくっており、あの文章では「りりあんさん」については「リアルタイムアタック」させるための「コストパフォーマンス」の話しかしていないのです。どうも人間関係資本と教養の話をしていると思う方がいるようなのですが、Google の面接に教養も人間関係資本もいりません。

具体的にイメージしやすいように伝えますと、難易度・分量的には、私は「大学受験の物理」くらいと思っていて、一緒に面接官をしている人はそれよりは多くて「大学受験の物理+化学」くらいといいます。センター試験の数学のタイムアタックだけをやりこんできた人に、「残念なお知らせがあります。2週間後に2次試験があって、科目は物理と化学の2科目だけです。聞いたことがない科目かと思いますが、4時間で自然科学の概論を教えるから、その後で知識を詰め込むために本屋行きましょうか。難しい問題はでないからなんとかなると思います。」と告知して間に合わせなくてはいけなくなった。というのが伝わる比喩でしょうか。(聞くところによると、速い人は、数学1Aは8分、2Bは17分前後で解けるらしいですよ。)

 

また、「Google 入社は、えらくもないし、すごくもないし、むずかしくもない」と我々は心から思い、言い続けています。というか「えらくもないし、すごくもないし、むずかしくもない」と思っているから、たとえば、教育制度を整えて国策として大量に人を輸出するべきだといっているんですよ。

私に対して、

とかいっているけれども、どう見ても「「Googleに入るのが偉い」という価値観」を持っているのは、ちょくだいさんのほうですよね。私には「お茶が飲めて偉い、すごい」くらいの違和感があります。

 たとえば、さっき見つけたこのツイート。

「化け物」だとか「注目が集まった」とかいうことですが、偉い、すごい、という価値観がないとでてこない説明です。

私は、このけんちょんさんのために仕方ないと思って記事を書いたのですよ。本当に面倒で書きたくなくて、他に書くものもあり、ツイッターで書こうかなと宣言して自分を鼓舞までしたのに、2ヶ月以上かかりました。

りりあんさんについては、私からすると「やりたいっていうなら手伝ってあげるけど、いくら難しくないからって、さすがに2週間前になってからなんとかなるかっていうの、最後にして欲しいんだけど。でも、2週間走りきったのよく頑張ったね。」というような感覚です。

 

たとえば、こちらの方は私の見え方に近いです。この人も合宿に一緒に行きましたね。

まじめにこれは言い訳しなくてはいけなくて、本当に申し訳ないです。教えるときに古巣の「会社のため」を毀損していないかは考えています。そして、実際に能力が偏っていると「本人のためにもならない」ことがあるのは確かです。

今回は、海外の模擬試験を自分で申し込むようなやる気で、2週間全力疾走をする伸び率が叩き出せるならば、それからも伸びるだろうから「会社の判断が取るならそれでいい」と判断しました。なのでオファーが出た後もなんか色々いいましたよ。

お知らせ

ここで残念なお知らせがあります。とある医学部教授から「読んだよー。文章はいいけど、お前が卒業生をひょいひょい適当にエンジニアにすると教授会で問題になることがあるから、するんだったら出来の悪いのにしてよね。いいね。ほんと頼むよ。特にそこにいる生徒会長みたいなのはだめだから。」ということなので、今後は、あらかじめ「出来が悪いかを問い合わせる」約束をしてきました。

列挙

ここからは、「コミュニティー」からの反応を見た範囲で列挙したものです。

chun さんに、このようなことをお伝えするのは本当にお耳汚しなのですが、散逸は意図的です。私の経験則で「誰にとっても新しい情報」のメッセージを広く伝えたいときには、「詳しい人は同意するが、そうでない人は違和感を感じる内容」を加えるんです。そうすると、人は、「新しい情報の真贋を、周囲の情報から判断しようとする」ので、一部の人に認知負荷がかけられます。こうすることで、根拠と結論が噛み合わない支離滅裂な発言も出てきて広まると認識しています。

この話の内容「かわいそうなことに、りりあんさんは、いかれた3人の模擬面接官が今まで何をやっていたんだと慌てふためいたことにより、2週間のリアルタイムアタックを宣告され、無理やりクリヤーさせられました。コスパがよかったですね。でも、こっちの胃までおかしくなるから真似しないでね。」で終わるのですが、これだけ書いてもぜんぜん広まらなさそうですよね。そこに、フィロソフィーと教育関係の問題意識の話を突っ込むとこうなります。

 我々の世代はこういう考えでしょうね。

 

Spaghetti Source を思い出して懐かしい気持ちになりました。

 

  

 

 

 普段、抑えているところを少しだけ外しました。

 

 ああ、そこは前もって閲覧してもらったときにも複数人がひっかかった箇所です。その前についている「それ以外で、」の部分に相当押し込んでいます。ただ、おそらく、主張が整理しきれていなくて、少しだけ整理し直すと

  • 戦前ならば、単純労働力として南米やカリフォルニアの農園にでも放り込めた。
  • 婚姻などの手段は変わらずあるが、仕事がいるならば、いまではなんらかのジョブ型の仕事をするスキルが必要。
  • だが、なにがスキルとなりうるのか。
  • 社内のスキルを使った社内トランスファー
  • スポーツ・芸術・音楽・料理などは国によってはスキルとなる。
  • 高等教育において徒弟的な教育を受け、理系スキルとしてのエンジニア(ソフトウェアに限らない)があるようだ。
  • 海外で徒弟的な教育を受けても良い。
  • ただ、MBA やローなどの職業訓練で海外の大学院に行っても、現地では働けないようだ。ただ、中国語などができると、そうでもないっぽい。

くらいの気持ちです。ここはコントロールに失敗しています。

元生徒その他

 

すまん、脱線はしないつもりだったが、とあるところが「死に至る病とは、絶望のことである」と構文が同じだったのでしばらく笑っていた。