来たるべき、“みんな”のコードのために:平成4年生まれがつくるプログラマーの学校

プログラミング教育の重要性が叫ばれている。コードが書ける人材の需要が背景にあるが、時代が変わるにつれてプログラマーの役割も当然変わりつつある。そんななか、17歳でドワンゴに入社した異才が「学校」をつくるという。その意図と未来予想図を聞いた。
来たるべき、ldquoみんなrdquoのコードのために:平成4年生まれがつくるプログラマーの学校
PHOTOGRAPHS BY TOHRU YUASATEXT BY WIRED.jp_Y

SHO KUSANO|草野翔
プログラマー。1992年熊本生まれ。高校在学時から開発したサーヴィスが話題に。17歳の時にドワンゴに入社する。その後、クックパッドなどのIT企業を経て、2015年にマンガ配信サーヴィスを手がけるマグネットのCTOとなる。2016年からイーブックイニシアティブジャパン技術部長を兼任。

草野翔

「もし『25℃に室温を保つ空調のプログラム』を依頼されたら、どうすればいいか」

草野翔に、プログラミング教育についてたずねると、彼はまずそんな思考実験をはじめた。「25℃」という温度が正確なのか、1年間で外気はどのように変動するのか、もし障害が発生したときには何分以内に25℃に戻さないといけないのか。そして、何のために「25℃に保つ」必要があるのか。つまる所、それらの条件を確かめるために依頼主に会いに行く必要があるという。それがわからないままコードを書きはじめるプログラマーは、草野の基準によれば、優秀なプログラマーではない。

「プログラムというのは、入力があって出力があるブラックボックスです。例えば、ユーザーがECサイトの購入ボタンをクリックすると、商品が家に届く。ドローンで倉庫から直送されていようが、社員が自らクルマを運転して配達していようが、ユーザーには関係がない。何が起こっているかはどうでもいいから、早く楽に購入できる方がいいでしょう。ユーザーにメリットをもたらせるかどうかが、すべてなんです。だから、真っ当なプログラムが中身から決まるなんてことはありえない。中身は、書き手の都合に過ぎませんから」

そんな草野が語るプログラマー観は、まるで一流の書き手のようだ。常に自分のプログラムを使うユーザーを意識して、コードを書くという領域にだけには留まらない価値を発揮する。コンサルティングも行いUXも考える一種の万能人だ。

草野はプログラミング以外に学ぶ必要を感じなかったため、高校を中退して地元から上京した。しかし、現在また当時学べなかった生物などを知るために通信制のN高校で勉強する予定だ。

「答えは、他人の頭のなかにしかないんです。空調の例えは極端かもしれませんが、ぼくが現在CTOを務めているマンガ配信サーヴィス・マグネットの立ち上げ時も、同じようなことがありました。『マンガをブラウザ上で配信できればいい』という要件で、ある編集者から仕事を持ちかけられたのですが、よくよく話を聞いてみると『できるだけ画像をキレイに表示する』サーヴィスを立ち上げることがミッションだった。とはいえ、ぼくはプログラマーなので、『キレイ』が何かよくわからないからさらに問い詰めると、『紙の印刷みたいに画面上に表示して欲しい』と答えが返ってきた。結局『紙の印刷』がよくわからなかったから、印刷所まで行って現場の人に話を聞きましたよ(笑)」

プログラマーがサーヴィスをつくるために、印刷所に行く。それだけ聞くと異様な光景を想像してしまうが、草野にとっては当然なことだ。そんな草野は、小学校の時に図書館の棚の本をアイウエオ順にすべて読破しようとしたことがある。

「大量にさまざまな種類の本を読むなかで、はじめて『知らないものがある』ということを知りました。もちろん、全部を読んだわけではなかったのですが、世界は知らないものに溢れているという事実を知ったのは、そのときです」

その後、当時親に買ってもらった携帯でゲームを動かそうとプログラムをつくってみたのが、プログラミングに足を踏み入れたきっかけだ。頑張って書いたコードを動かしてみては、自らのゲームと、プロがつくったゲームを比較して「スゲー」と感嘆の声を上げていた小学生だった。

草野が普段プログラミング作業につかっているPCとエディタ。仕事場所は選ばず、電車内でコードを書くこともある。

「コードを書くということは、全能感と無力感を行き来する行為です。自分の予想通りに書いたコードが動くのは、マシンのなかで神になったような気分ですし、自分のつくったアプリが誰かの役に立って感謝してもらえたときに分泌される脳内麻薬は異常な量です。ただ、それだけではなくプログラミングには自分のコードを見直す瞬間があります。過去の自分が書いたコードと向き合い自省するんです。なんてこのコードは糞なんだろう、なんで自分の想像力は、こんなに甘かったんだろう、って」

こうやって鍛えられた想像力こそ、プログラマーに必要な能力だと草野は言う。自分が何を知らないのか、想像できなければ、コードを書き始めることすら出来ないのだと。

「17歳の時にドワンゴに入社してから、縁あって多くのプログラマーの人に出会ってきましたが、優秀な人ほどコードを誰かに教わったわけではない場合が多い。プログラマーってコードを書けたからなれる訳じゃないんです。言語化できない感覚値が大切で、それはさまざまなケースを知った上でも、自分が何を知らないのか想像できる力なんだと思います」

そんな草野が、この4月から高校生のみを対象者としてプログラミングの学校「バンタン プログラマーズ・ハイレベル・ハイスクール」を立ち上げるという(きたる3/6には体験授業も行われる)。そこには、草野が考えるこれからの世界では、本物のプログラマーがもっと必要とされるという問題意識がある。

草野は現在マグネットのCTOを務めながら、電子書籍を販売するイーブックイニシアティブジャパンにも所属している。最新作は、社員間で情報を共有するWikiシステムだという。

「生活のいろいろな部分に、プログラムが入り込んできています。クルマの運転や、照明の制御といったIoTの領域まで。そういった生活に近い領域において、将来的にプログラムには高い汎用性よりも、1つ1つの細かな要望に応られることの方が求められると思います。例えば、照明ひとつとっても、スイッチを入れたときに急に明るくなって欲しいか、ゆっくり明かりが点いて欲しいかは人それぞれです。そこを、カスタマイズするためには機械に命令をするという意味で、広義の『プログラム』が不可欠になってくる。そして、そんな細かなニーズに応えてコードを書くためには、人の話を聞くことが不可欠なのです」

1人ひとりのための「みんなのコード」を、これからの世界は必要とする。そして、いまそれに対応できるプログラマーは少ない。だから、第一線でプログラマーとして活躍する草野が教鞭をとるという訳だ。ただ、先ほど「言語化できない感覚値」が重要と言った草野は、それをどう教えるつもりなのだろう?

「ぼくがゲームのプログラミングをやっていたときに、勉強したのは物理でした。マグネットでは印刷と出版、クックパッドにいたころは料理という行為そのものを学びました。繰り返しになりますが、コードが書ければプログラマーになれる訳ではない。そういう意味では、プログラミングばかりを教えるつもりはありません。それよりも『何のためにプログラミングするか』という与えられた条件を疑う考え方を学べる場所にしたいです。例えば現場のプログラマーを呼んで、さまざまな事例について話を聞くつもりです。ぼくも知らないことが多いと思うので、楽しみですよ」

草野が体験授業用につくった「働クリッカー」。表面上はクリックを繰り返すだけのゲームに見える。だが、プログラムでチートを自由自在に行い、いかに早くクリアするかを競うのが、このゲームの本当の楽しみ方だ。草野が開発の経緯を記したブログはこちらから。

PHOTOGRAPHS BY TOHRU YUASA TEXT BY WIRED.jp_Y