見出し画像

【教育】キッズプログラミングは役に立つのか 『エンジニアとしての僕の考え』

シンガポールの高層マンション。窓の外には、スコールがまるで巨大なシャワーヘッドから噴き出す熱湯のように、容赦なく街を叩きつけていた。アスファルトの道路はたちまち黒光りする川と化し、行き交う車たちは水しぶきを上げながら、まるで必死で何処かから逃げるように走っていた。熱帯の湿った空気は、重く澱んで、まるで呼吸をすることさえ億劫になるようだった。

僕は、冷房の効いた部屋で、キンキンに冷えたアイスコーヒーをゆっくりと味わっていた。氷がカラカラと音を立てる。その音だけが、この蒸し暑い熱帯の喧騒から僕を切り離してくれる。日本で流行っているらしい「キッズプログラミング」のことが、頭から離れなかった。ScratchやらUnityやら、子供向けのプログラミングツールがあるらしい。ゲーム感覚でプログラミングを学べるそうだ。雑誌の記事で読んだのだ。カラフルな画面で、ブロックを組み合わせてキャラクターを動かす。まるで、おもちゃのブロック遊びのようだと思った。だが、僕はその話を聞いた時、何か違和感のようなものを感じたのだ。それは、まるで、真夏のビーチで、突然冬の寒さを感じるのと同じような、奇妙な感覚だった。

僕は、エンジニアとしてこの世界に足を踏み入れた。しかし、皮肉なことに、プログラミングを覚えたのは社会に出てからだ。大学では情報学の学部に入ったものの、専攻したのはケーブルテレビの仕組みを研究する社会メディアだった。当時の僕は、プログラミングとは無縁の、どちらかといえば文系の学生だった。社会学の講義に出席し、論文を読み、撮影用のカメラを担いでフィールドワークに明け暮れていた。そんな僕が社会に出てからコードを書くことなど、夢にも思わなかった。

社会人になって、初めてプログラミングの必要性に迫られた。配属されたのは、日本の鉄道会社を顧客にするシステム開発部門だった。右も左もわからないまま、先輩に教えられながら、必死でプログラミングを学んだ。それは、まるで、異国の地で、言葉もわからないまま生活を始めるようなものだった。戸惑い、不安を感じながらも、少しずつ、この新しい世界のルールを理解していった。

どうやってプログラミングを覚えたのかと問われれば、それは、まるで、言葉を覚えるのと同じようなプロセスだったと答えるだろう。プログラミングの講習を受けたわけでもない。分厚い参考書を読破したわけでもない。ただ、先輩が書いたコードをカスタマイズして、少しずつ自分がやりたいことを形にする練習をすることで、自然と身についていったのだ。英語を学ぶとき、例文を自分の言葉に置き換えて、何度も繰り返し使うことで、次第に自分の言いたいことを表現できるようになる。プログラミングも同じだ。既存のコードを参考に、自分の作りたいものに合わせて書き換えていく。その繰り返しの中で、プログラミングのロジックを理解し、自分のものにしていくのだ。

今でこそ、僕はGoogleのエンジニア部門の管理職という立場にいる。部下たちの仕事ぶりを監督し、プロジェクトの進捗を管理するのが主な仕事だ。最後に自分でプログラムを書いたのは、もう20年も前の話になる。自分の仕事を効率化するためのミニアプリを作ることはあっても、本格的にプログラミングをすることはほとんどない。それは、まるで、かつてはバリバリのプレイヤーだったサッカー選手が、引退後に監督としてチームを率いるようなものだ。

そんな僕にも、子供にプログラミングを学ばせようとしたことがある。日本で「キッズプログラミング」が流行り始めた頃、シンガポールでも同様の教室を見つけた。子供はまだ小学校低学年だった。彼に、将来役に立つかもしれないと思い、軽い気持ちでキッズプログラミング教室に通わせてみたのだ。しかし、結果は散々だった。彼は、教室の雰囲気になじめず、プログラミングにもたいして興味を示さなかった。まるで、無理やりピアノを習わされた子供が、鍵盤を叩くことさえ嫌がるように。結局、彼は数回通っただけで、教室に行くのを拒否するようになった。

ところが、数年後、彼は自分でプログラミングを学ぶようになった。きっかけは、マインクラフトだった。彼は、マインクラフトに夢中になり、毎日何時間もプレイしていた。そして、ある日、彼はマインクラフトの世界をもっと自由にカスタマイズしたいと思い、カスタムプログラムをインストールするようになった。最初は、簡単な改造から始めた。しかし、次第に複雑な改造に挑戦するようになり、何度も自分のマインクラフトの環境を壊しては、試行錯誤を繰り返しながら直すようになった。

プログラムは、壊したときに初めてその仕組みを調べるようになる。そして、仕組みを理解することが、プログラムをカスタマイズする知識となるのだ。彼は、マインクラフトの世界を壊しては直し、壊しては直すという作業を繰り返す中で、自然とプログラミングのロジックを身につけていった。まるで、自転車に乗る練習をする子供が、何度も転びながら、バランスの取り方を覚えていくように。

カスタマイズを繰り返すうちに、彼は次第に自分のオリジナルのコードを書けるようになっていった。それは、まるで、音楽を習うときに、最初は簡単な楽譜を読めるようにして、次第にオリジナルの曲を書き始めるのと似ている。最初は、既存の曲のメロディーを真似たり、コード進行を参考にしたりする。しかし、次第に自分の表現したい音楽が明確になり、試行錯誤しながら、オリジナルの曲を作り始める。

もちろん、最終的には音楽理論を勉強しなければ、正しい作曲はできない。しかし、そこにたどり着くまでの試行錯誤とトライアンドエラーが、基礎知識を高めるのだ。そして、その段階から音楽理論を学ぶと、吸収も早い。プログラミングも同じだ。最初は、既存のコードを真似たり、サンプルプログラムを参考にしたりしながら、試行錯誤を繰り返す。その中で、プログラミングの基礎を学び、論理的な思考力を養う。そして、ある程度の基礎が身についた段階で、本格的にプログラミングを学ぶと、理解も深まる。

彼のプログラミングの才能は、学校の先生にも認められるほどになった。彼は、学校のプログラミングの授業でトップの成績を収め、先生から絶賛されるようになった。それは、まるで、かつて彼がプログラミング教室に通うのを拒否していた頃とは別人のようだった。

僕は、彼の成長を見て、改めて「学ぶ」ということの意味を考えさせられた。無理強いして学ばせても、効果は期待できない。大切なのは、子供が自ら学びたいと思うような環境を作ってあげることだ。そして、子供が自分の興味や才能を伸ばせるように、サポートしてあげることだ。

結局のところ、キッズプログラミングが役に立つのかどうかは、その子供次第だろう。プログラミングに興味を持ち、積極的に学ぶ姿勢があれば、きっと将来の糧になるはずだ。しかし、無理強いしてプログラミングを学ばせても、効果は期待できないだろう。少なくとも親がそれなりにプログラミングを理解していてサポートできなければ、多くの場合はあまり期待通りにはならないだろう。

大切なのは、子供が自分の興味や才能を伸ばせるような環境を整えてあげることだ。世の中にはゲームを禁止する親がたくさんいることは知っているが、僕からするとそれは親が子どもの可能性を潰しているようにしか見えない。親は、子供の個性を見極め、適切なサポートをし、子供にできるだけ多くの経験をさせていく必要があると、僕は考えている。

僕の意見には賛否両論だろう。でも僕はそれでいいと思っているし、僕がたまたまそう結論づけただけの話なのだ。小学校の算数のテストのように正解があるわけではないのだ。

窓の外では、スコールがすっかり止んでいた。空には、虹がかかっていた。それは、まるで、子供たちの未来を象徴するような、希望に満ちた虹だった。

ーーー

もしこのnoteに少しでも役に立つ情報が入っていたら、僕をフォローして今後のnoteも読んで応援してほしい。僕は、副業には一切興味がないので、これからもnoteに有料記事を書くことはないけれど、そのかわりに、これからもnoteを書き続ける勇気がもらえたら、このnoteも継続できると思う。

そして、もし相談や記事にしてほしい内容などがあれば、気軽に僕のプロフィールに載せてあるメールアドレスまでメッセージを送ってほしい。英語学習、海外移住、グローバル教育、外資系キャリアなど、少しでもサポートできたら、それ以上の喜びはないのだから。


いいなと思ったら応援しよう!

よっしー🇸🇬
よろしければサポートお願いします!