こんにちは。 エンジニアの新卒採用を担当している、福島です。
4月2日に開催された、「げんなま」は、 「武雄市で実施している小学1年生へのプログラミング教育」を題材として、 CTOの川崎が登壇しました。
こちらのプロジェクトについては、インターネットなどで話題になっている割に、 その詳細は社内でも殆ど知っている人がいないという程、表に出ていませんでした。
今回はプロジェクトの生々しい話のみならず、
CTO川崎の生々しいエンジニアライフについてもご紹介しており、
みなさん ドン引き 興味津津でした!
※げんなまSHOWROOM版、MYCODE版のレポートも併せてご覧下さい。
今回の登壇者

今回登壇したのは、DeNAのCTO 川崎修平。
「げんなま」の毎回のファシリテート役でもある南場(DeNA ファウンダー)とは、 大学院生時代のアルバイトの時から、固い信頼関係があります。
CTO川崎修平の実態
川崎は、モバオクから始まり、Mobageやポケットアフィリエイト、 SHOWROOMのアプリなど、DeNA数々のプロジェクトを成功に導いてきました。

川崎はCTOになった今も、がっつり現場に入って、 難しい技術・スピードが求められる開発を 一手に引き受けています。
仕事をしていて楽しいことは、 「普通だったら、1ヶ月くらいかかるかな」という仕事を、 「1週間でできるでしょ?」って言われて、 2日で仕上げるような時
と言う通り、川崎の開発のスピードは社内のエンジニアをいつも驚かせます。
今回は、その集中力の源、ドーピングとも言える、 開発グッズもお披露目しました。

武雄市、小学1年生へのプログラミング教育
全員に触れてもらえる「公教育」というアプローチ

(南場) 「私はずっと、プログラミングが出来る人を 増やす必要があると唱えてきました。」
プログラミング教育を事業として展開している会社に 出資もしているDeNAですが、 これまで、プログラミング教育を 自社で進めたことは一度もありませんでした。
(川崎) 「プログラミング教育は、絶対に必要だけど、
DeNAの強みを活かせる領域では無いと考えていました。
塾など、教育に慣れている会社の方が合っていると思っていたからです。」
ですが、今回のプロジェクトは、今まで行われていたものとは 違う要素を持ったものでした。
(川崎) 「対象が小学校1年生、しかも公教育で全員を対象とする。
これは、何かを良い方向に変えられる可能性を感じました。」
(南場) 「全員をエンジニアにしたいというわけではありません。
今の大人が当たり前にハサミやのりを使えるように、
全員がプログラミングが何かを知っていて、
それぞれの進む道で、ITを用いて何ができるのかを
考えられるようになって欲しいと思っています。」
(川崎) 「そのためには、一つ教科が増えた・・・と感じるのではなく、
楽しい、怖くない、と思ってもらう事が、一番大事なことでした。」
先生と何度も打ち合わせし、プログラムを決定
実際に授業をする前には、先生と念入りに打ち合わせをしました。 先生も、プログラミングに関しては全くの初心者。 カリキュラムは川崎が考え、 それが45分の授業に収まるように、プロの先生と調整していきました。

8回の授業ごとに、毎回振り返りを行い、ちょっとずつ教材も修正していきます。 そのため、Scratch等の既存言語は今回は利用せず、 小回りの効く、かつタブレットで操作できる 専用言語を川崎自ら開発しました。

自分で書いた絵・写真が、タブレットの中を動き出す
その中でも特にこだわったのは、自分で書いた絵や写真を、 登場人物として動かせるようにしたところです。
子どもたちは、作り出したい世界を決めて、 そのために必要な手法をとして、 for 文や if 文の概念を学んでいきました。

イベントの中では、1年生が卒業生に送った、 「卒業生がみんなでロケットにのって飛んで行く」 というプログラムも披露されました。

7~9割辛くても、全部自分で作る
イベントの中で、いかにも川崎らしい、生々しい声を拾えたので、 掲載しておきます。
インタビューとかで「苦しかったことはありますか?」 と聞かれるといつも、「特にない」と答えてました。実は今、あるプロジェクトの佳境なんですが、めちゃめちゃ苦しいです。 苦しい時になると、「そういえばあの時も苦しかった」と、色々思い出します。
開発をしていて、楽しい時間なんて、1割から3割あればいい方。 残り7~9割は、辛い、地味な作業。 でも、この地味な作業を、人に任せたり手を抜いたりすることで、 プロダクト全体のコンセプトが壊れてしまうことがあることも知っている。
一切妥協せずに作り上げたものが、世の中に出た時は素直に嬉しいし、 それが成功して不可能に近い負荷対策が要求されたりするのは、 最高のご褒美。
そうしていると、開発中の苦しかったことなんて、また全部忘れてしまうんですね。

質疑応答
プログラミング教育に携わったことがあるという方も参加しており、 いろんな質問が出てきました。
for 文や if 文の概念は大人に教えても苦労する。どうやって教えるのですか?
川崎 「とにかく目的に合わせて使ってみて、 使ったらできた、を繰り返すことで、知っているという状態にしました。 進み続けるには、とにかくこのブロックの中に歩くという命令を入れるんだ・・・みたいな。 1回目の授業でif文を教えるのに大失敗して、10分の休憩時間に教材を作りなおしたというエピソードもあります。」
生活に密着ということであれば、ハードと結びつける所を教えたりも検討していますか?
川崎 「それは面白いし、有りだと思う。 一方で、タブレットの中で、自分が書いた絵が、 命令通りに動き出すという、エンジニアからしたらなんともないことで、 子どもたちが目を輝かせる、その面白さも大切にしたい。」
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。