教育」カテゴリーアーカイブ

本当の「勉強」とは何か?

こんにちは。石川大貴です。

今回のテーマは「教育」です。

最近、小学生から高校生までプログラミングの家庭教師をしたりしています。

まだ幼いですが自分の子供もこれから小学生になり、中学生になり、高校生になり、大人へなっていくんだなと思うと教育に関して考えることが多い今日この頃です。

森博嗣先生の「勉強の価値」という本を読んで、「ふむ、ふむ、なるほど。うん、うん、そうだよね」とうなずく部分が多く、非常に面白かったので僕の考えも含めてまとめておこうと思います。

■「なんで勉強するの」とずっと思っていた

たしか中学生に上がってしばらくした頃だと思いますが、まだ子供だった僕は「なんで勉強するんだろう?」とずっと思っていました。

いや特に勉強を頑張っていたわけでも、親に「勉強をしろ!」と言われていたわけでも全くないのですが、学校の勉強に対して「つまんねーなー」と思っていたのは鮮明に覚えています。

「なんで勉強をするのか」という問答は、結構多くの子供が通る道なのかなーと思っています。

「将来、役に立つから」では、あまりに漠然としていて答えになりません。それを言う親自身も、勉強の価値を本質的に理解できていないからではないかと思います。

そもそも子供が思索できる未来は限られています。今日を、いまを精一杯生きているのが子供です。彼らが考えうる未来なんてせいぜい1週間先か、1ヶ月先かそれくらいです。「将来」なんて言われてもピンと来ないのは当たり前です。

■そもそも「勉強」の意味を分かっていない

「なんで勉強するのか」の前に、そもそも「勉強とはなんなのか」、根本的にそれが分かっていないんじゃないかと思います。そんなことを教えてくれる先生や大人はあまりいないですよね。

勉強の定義ってなんなのでしょうか。

広辞苑を引くと、「学問や知識・技術などを身につけるために学ぶこと。」とあります。

まあまあまあ、広義の意味ではそうなんでしょうが、僕はなんかしっくりきません。

「勉強には種類がある」と、僕は思っています。

それは「目的がない勉強」と「目的がある勉強」です。

言い換えると、「やらされる勉強」と「自分からやる勉強」とでも言えましょうか。

学校でやる勉強はどちらでしょう?

どう考えても前者ですよね。義務教育と「義務」が付いてるくらいですからね笑。やらされてる感がハンパじゃないです。

文科省が作った学習指導要領というものがあり、「この学年の間にこれとこれとこれを勉強しなさい」といった指示書のもとに先生は授業をしなければいけません。それを生徒は学び、成績がつけられます。

現代の子供(と大人も含めて)は義務教育をみんな受けます。全ての人はここ(=やらされる勉強)がスタート地点なので、「自分からやる勉強」の方をほとんど知らないのではないかなーなんて思っています。

大人になってからそれを知る人もいるでしょうが、おそらく少数派なのではないでしょうか。

■目的のある勉強が本当の勉強である

「目的のある勉強」が本当の勉強であって、「目的のない勉強」「やらされる勉強」というのは本来の勉強とは全然違う、真逆に位置するものと、僕は捉えています。

本来の勉強というのは、非常に奥深く、難しく、そして面白く、喜びに満ちたものです。無理矢理やらされるもの、我慢をしてやるものではありません。

僕もそれを知ったのは、高校へ行き、浪人を経て大学へ行き、その後休学をして中退を決めたそのあたりです。つまり、”学校の外”へ出た後です。

それはもう、衝撃的でした。

本筋から逸れるのでここでは詳しく触れませんが、一度自分の目的が見つかると「勉強」がしたくてしたくて仕方なくなりました。

あれほど嫌いでつまらなかった「勉強」が、いきなり大好きで楽しい「勉強」に変わったのです。

そこからの僕は、はちゃめちゃに勉強をやりました。どうしてもやりたいこと、知りたいことがあったので、寝る間も惜しみ、削れる時間は全て削り、ひたすら勉強に時間を費やしました。

いまはもう少しマイペースにゆったりと「勉強」をしていますが、寝ても覚めても勉強をする時期はとても幸福な時間でしたね。

学校の勉強というのは、「目的のない勉強」「やらさせる勉強」です。
つまり、本来の勉強とはかけ離れているわけです。ここが分かっているのか、分かっていないのかがミソです。

親も先生も、ここを曖昧にしたまま「勉強しよう」だの「きっと将来役に立つから」だの言っているからおかしくなっちゃうのかな、なんて思います。

「目的のない勉強」とは、例えるなら「完成形がないのに金槌で釘を叩く行為」です。

本来金槌で釘を叩くという行為は、いえを作るだとか、椅子を作るだとか、家具を作るだとか、何かしら目的があって、それを実現するために行いますよね。

何か目的があって、そのプロセスとして行うのが本来の「金槌で釘を叩く」ことであるわけですが、その目的が欠如した状態のまま「金槌で釘を叩かせる」。いわば、それが学校教育に当たります。

特に目的を与えることもなく、「将来役に立つから金槌で釘を叩けるようになっておこうね」ということで、ひたすら金槌で釘を打つ練習をさせるわけです。

目的も何もないまま、ひたすら金槌で釘を打つ、ただそれだけを練習します。

いえを作りたい、椅子を作りたい、家具を作りたい、そういう何か目的があってこそ、そのプロセスである金槌で釘を叩く行為も面白く感じてくるものですが、それが無いのです。

やらされている方からすれば、「なんだこれ」と感じてしまうのも無理もない気がします。

■テストは、「目的」にはなり得ない

なかなかに厄介なのは、この目的とはなんぞやという話です。

学校のテストは、目的にはなり得ないと僕は考えています。

「目的のある勉強」。ここでいう「目的」というのは、自分がやりたいこと、心から湧き出てくるもの、夢だとか野望だとか、そういう極めて内発的なものです。

言われてやるとか、誰かに準備されてやるとか、そういう外発的なものではありません。

「目的」を他の言葉で表現すると「ビジョン」に近いかなと僕は捉えています。日本語で言うと世界観とかですかね。僕はこういう風になりたい、私はこんなことを実現したい。ビジョンを描くと言うように、やはり目的もその人本人が「描く」ものなんですよね。

これは完全なる主観になりますから、目的には大きい小さいも、良い悪いも基本的にはありません。どんなことでも立派な目的になり得ます。

ただし、それは自分が、その人自身が描いたビジョンです。

ビジョンというのは、仮にAというビジョンが達成されたとすると次にワンステージ上のA’のビジョンが生まれてきて、それがまた達成されたらA’’とまたワンステージ上のビジョンが生み出されて。というように昇華されていくものであると考えています。

だから、本来の勉強には本質的に終わりがないわけです。一生勉強、死ぬまで勉強です。

ビジョン、目的には、それほど深いものがあり、人を惹きつけるものがあります(それを時に”生きがい”とも言ったりするのかもしれません)

ただし、この目的ができるためには、ある程度の人生経験が必要です。

世の中に何があって、自分の可能性はどれくらいで、といった自分自身への理解と、外の世界への理解が必要になってきます。

いろんなことを見たり、聞いたり、やってみたりする中で、「あーこれかな」というのが見つかってきたりするものです。

子供は、年齢的にもまだまだ人生経験が少なく、ましてや生活のほとんどを家と学校だけで過ごしているわけですから世の中のことを何も知りません。

こういう状態では、目的を持つことも難しいでしょう。

やはり、目的を持つにはある程度の人生経験を重ねることが必要だと思われます。ですので、子供が本来の勉強をするのは本質的には難しいことと言わざるを得ません。

ちなみに。

話が横道にそれますが、僕がプログラミングの家庭教師をしていて、たまに「プログラミング検定」を勧めることがあります。つまり、テストを受けさせるということです。

そのテスト対策をして検定にのぞむということをするのですが、やはり、やりすぎは危険かなーとも悩みながらやっています。

テストというのは、短期的なモチベーションを作る上では役立ち、確かにテスト対策をすることで学習が進むことは進むのは事実なのですが、本来の勉強からは逸れていきます。

「〇〇テストで1番になる」「〇〇受験に合格する」そう自分で決めて、自分で目標にすればそれは立派な目的のある勉強じゃないか、と言う声も聞こえてきそうですが、テストは目標にはなっても、目的にはならないでしょう。それは、極めて一時的だからです。

競争の中で勝ったり、数値で結果が出たりすることは非常に分かりやすいので目標としてはとても良いと思うのですが、どこか描く「ビジョン」というほどの世界観は与えてくれない気がします。しかも、目標にしたとしてもその先がなかったりします。達成したとて、「で?」という感じでしょうか。

描くビジョンとしては、とても弱いのです。
目的とは、そんな一時的で、薄っぺらいものではないのです。

目的とは、自分はこうしたい、自分はこうなりたい、というもっと内発的で心の中から沸き起こってくるものです。長期にわたって持続するような強い動機です。

テストなどで作るモチベーションは、もってせいぜい数ヶ月か1年と言ったスパンでしょう。
(かくいう僕も、そのやり方で受験勉強だけは乗り切りましたが、案の定合格した後(テストが終わった後)には何のモチベーションもビジョンも残りませんでしたね)

テストというのは短期的なモチベーションを無理やりにでも作るものであって、それ自体は目的・ビジョンにはならないということです。

だから、プログラミングを教えていて、テスト対策をやらせるのもなんか違うな、と僕は考えています。

プログラミングというのも、本来はそうじゃないんですよね。もっともっと自由なもの。作りたいものを作る、実現したい世界を作り出すための手段なんですよね。

目的があって学ぶ勉強。それがプログラミングです。「やらされる勉強」では、やはり本来の勉強からは逸れていってしまう。

だから、本当のことを言えば、本来は先生自体が別に必要ないし、ましてやテストだって必要ありません。自分でやりたくて、何か実現したいことのプロセスとしてやるわけですから先生がいなくたって、テストがなくたって自分でどんどん自走して学んでいくことができますからね。

プログラミング教育が学校教育に組み込まれることで懸念している1番のポイントはここです。

「やらされる勉強」としてプログラミングをやってしまうようになることです。目的もなくひたすら金槌で釘を叩くようになってしまうことです。

本来のプログラミング、本来の勉強はそうじゃないんだよ、というくらいは伝えてあげたいですね。

■学校の勉強は、なんのために?

じゃあ、学校の勉強はなんのためにあるのか、という話になりますが、
ここまでの話で、「だから学校の勉強はやらなくても良いよ」というのは早計です。

むしろ、「学校の勉強は絶対にやっておいた方が良い」というのが僕の意見です。

あれほど疑問をもち、「勉強が何の役に立つのか」と思っていた子供時代でしたが、受験勉強の時だけは一生懸命に勉強しました。結果、一応高校も大学も進学校に進学することができました。

大人になったいま思うのは、学校の勉強はめちゃくちゃ使うじゃん。という事実です。

もし「学校の勉強が役に立たない」と言っている大人がいるならば、それは本来の勉強を全然していないのか、あるいは、学校の勉強の効果を過小評価しているかのどちらかだと思います。

大人になり何か目的をもって、さて、勉強しよう、突き詰めようと思った時には、やはり様々なことを学んでいかなければなりません。その時に、理解や思考の下地になるのが「基礎学力」です。

そして、その「基礎学力」を身に付けるのが、学校教育の正体です。

どんな分野を学ぼうと思っても、いろんな知識や言葉を知らないと勉強の効率がとても悪く、勉強すること自体がハードルが高く、苦痛になります。

僕の場合で言うと、理系科目は特に学校時代サボっていた影響で、それ系の分野を勉強しようと思ってもなかなか挫折してしまいます。数学とか、物理とか、化学とかです。あまりに知識がなかったり、基本的な素養がなかったりすると本当にゼロからやらなければいけず、自分での勉強も勧められないんですよね。

その結果、例えばですが、数学をめっちゃ使うプログラミング言語の習得は本当はやりたいんですが諦めましたし、物理学とかは本当はもっと勉強して世の中のことを知りたい(自分のやりたいことにつなげたい)のですがやってみてちんぷんかんぷんすぎたので諦めました。

国語をとってみても、基本的な読み書きの能力は大人になってからの学習能力に直結します。

学校の義務教育の中で身についている「知識」や、トレーニングしている「能力」は、実は計り知れないほど大きい、と僕は思っています。毎日あれだけの時間をかけて、しかも9年間も続けるわけですから、まあ当然と言えば当然かもしれませんが。

学校でやるどの教科も、本当は突き詰めれば限りなく深い世界がもっと広がっていて、それらを使って何か(=目的)をやる機会は世界には実は山ほど転がっています。先生も親もあまり知らないと思いますが。

学校の勉強をしないってことは、結局は、自分の可能性を減らすんですよね。

もちろん「学歴」という一面からもデメリットとして言えますが、そんな表面的なことではなく、本当に可能性を減らすんです。

大人になっていざ目的をもって本当の勉強をしようと思った時には、いろいろな分野の幅広い知識があることや、考え方の素養があることは勉強への入場パスになります。

入場パスをもっていないと、そこに入ることは難しくなります。

あーやっておけばよかった、というのはその時になって初めて分かるでしょう。

だから、学校の勉強は、「目的のない勉強」「やらされる勉強」ではあるのは違いないですが、「つまんないけど、基礎学力を獲得しておくと本来の勉強ができるようになるからやっておけ」という結論になります。

■子供の「勉強」に対してどう接すれば良いのか

最後に、じゃあ子供にどのように教育をすれば良いのかという話です。

1つは、筆者の森博嗣先生が言っていますが、子供にも正直に伝えることですね。

「本来の勉強はこうじゃないからね」とその実態を伝え、「学校の勉強はつまんないよ。だけどやっておこうね。」と正直に言うのです。

本来の勉強は目的をもって行うプロセスなのであって、目的なしに行う勉強は楽しくありません。目的なくただ金槌で釘を叩き続けるだけですから。

ただし、基礎学力を身に着けるには大いに役立つので学校の勉強はやっておいた方が良いのです。

2つ目は、親が勉強をすることです。

子供は親の背中をやはりよくみています。大人が目的をもって夢中になって勉強していれば、「なんだか世の中には面白そうなことがあるんだな」くらいは肌感覚で感じ取っているはずです。

大人になっても本来の勉強を全くしていない(気づいていない)人も多いと思うので、子供にとって周りに勉強をしている大人がいない環境は良くないなと思います。

親が勉強をしていれば、子供もいずれ本来の勉強とは何かということに気付き、自ずと向かう時がいつか来るでしょう。

3つ目は、人生経験を増やしてあげることです。

目的を持つためには、ある程度の人生経験が必要です。よって、生きた年数が少ない子供には本質的に目的を持つことは難しいと言いましたが、現代は経験の拡張範囲が異常に拡大しています。

例えば高校生ですでにプログラマーとして仕事をしている人はざらにいますし、中学生、さらに小学生でも起業家や研究者、発明家、作家、映画監督、作曲家、野菜ソムリエ、コーヒー焙煎士などなどあらゆる分野で活躍する子が普通に出始めています。

今は、知識や経験にアクセスするときのコストが劇的に下がっており、子供であっても何かしらの対象に強い興味関心をもてば、突き詰めていくことが可能です。

これらは紛れもなく「やらされる勉強」ではなく、「自分からやる勉強」です。本来の目的ある勉強です。

「子供だからといって経験が限られる時代は終わった」とも言えるでしょう。
学習がしやすい時代、行動がしやすい時代。恵まれた時代に私たちは生まれましたね。

まだ子供だからではなく、子供のうちから様々な人生経験をさせる(学校の外を見せる、体験させる)ことで、早々に目的が見つかり、本当の勉強を始める子も出始めるでしょう。ただし、周りと比べるものではないので、まあ、焦る必要は全くないですけどね。

ということで、以上「本当の勉強とは何か」というテーマでお話ししました。
お読みいただきありがとうございました。

ではまた。

子供にプログラミングを教える時に気をつけている〇〇のこと

こんにちは。石川大貴です。

今日は、プログラミング教育に関するお話です。

どちらかと言えば、教える先生側寄りのお話です。
ですが、子供に習い事をさせたい考えている親御さんにとってもどこか参考になるかもしれません。

僕は最近、小中高生向けにプログラミングの家庭教師をしています。

僕の場合は、この仕事で食っていこうと思っているわけではなく、ただ好きでやっているだけですので、個別指導の家庭教師というスタイルでマイペースにやっています。

対面のマンツーマン家庭教師なので非常に効率が悪いのは難点ですが、そのぶん目の前の子供の成長を見守ることができる個別スタイルなので、毎回教える僕自身も楽しくさせていただいています。

子供にプログラミングを教えている中でいくつか思ったことがあるので、まとめておきます。
さて、それではいきなり本題に入っていきます。

■できない子はいない。できる分野とできない分野があるだけだ

小学生であっても、もう子供によって能力差は全然違います。これは、認めたくないかもしれませんが、紛れもない事実だと思います。実際に教えていて、如実に感じます。
(そしてこれはただの予想ですが、おそらく東京などの都市圏ほど能力差が大きいんだろうなと思います)

ただし、いわゆる「できない子」というのはいない。と僕はそう思っています。このマインドは大事です。

確かに、「理解が悪い」「なかなか覚えられない」「進みが遅い」などの事象はあることにはあるのですが、それら多くの場合は、突き詰めて言ってしまえば単なる「集中力」の問題だと思っています。言い換えると「向き不向き」「好き嫌い」の問題ともいえます。

以前なんかのテレビ番組で(ダーツの旅だったかな・・)田舎の小学生にインタビューしたのがありました。
インタビューした子供たちの中に、「引き算が苦手」という男の子がいたのですが、彼は本当に引き算ができなかったんですよね。スタッフが引き算の問題を出しても、答えられない。

それが今度は、スタッフが機転を聞かせてその男の子が好きだという「戦車」に掛けて問題を出しました。

「戦場に8台の戦車がいました。そこから3台の戦車がいなくなりました。さて、今残っているのは何台?」

すると、男の子は即答で「5台!」と当てました。

同じ容量で、今度は難しい二桁の引き算を戦車で出してみたら、男の子は「ん〜ん〜」と考えつつも、正解を出したんですよね。
この問題には周りにいた小学生も悩んでいたから、一瞬にしてこの男の子は「できる」側になってしまった。

これも、結局は「集中力」の問題だと思います。

子供というのは、教えている側が思っている以上に集中していない(話を全然聞いていない笑)時が往々にしてあります。集中していない時は、マジで話を聞いてません。マンツーマンですらそうなんですから、集団授業になればもっとそうでしょうね。

少し話がそれますが、「人の話を聞ける子」というのはそれだけで優秀だと思います。
話が聞けない子は本当に多い。

だから、まず1つ言えることは「集中力」のコントロールがめちゃくちゃ重要です。

では、「集中力」を高めるために何をしたら良いのか。
オーソドックスではありますが、ポイントを3つ挙げます。

■興味分野を見極める。好きなことを掛ける

1つ目は、興味のあること、好きなことを掛けることです。

例えば、プログラミングを学ぶ場合にしても、実は分野はいろいろあります。

「スクラッチ」を教えるのか、「HTML・CSS」を教えるのか、「javascript」を教えるのか。
ひとえに、プログラミングといっても、方向性は様々です。

受験勉強やテスト勉強など、何か近い将来に得られる利益のためにいま我慢してでもやらなければいけないこと、避けることがどうしてもできないことであれば、興味があろうがなかろうが取り組む。そういうことも人生においては時に必要でしょう。

しかし、プログラミング教育に関してはその類いではありません。
まずやってみて、トライしてみて、好きなんだったらやればいいし、嫌いなんだったらやらなくて良いと思っています。やるにしても、まず興味を持てるところから始めれば良いのです。

「できることが増えていくのが面白いな」とそう素直に思えることからやれば良いと思っています。

ですので、そもそも「何を教えるのか」自体もその子供の好き嫌いによって僕は変えています。

小学生だから。中学生だから。頭が良い悪いとか、勉強ができるできないとか。そういう区切りは無意味です。テストの点数とか偏差値なんて関係ない。そんな固定概念で分けるのではなく、「興味が持てるか持てないか」だけを基準にして、何を教えるのかを決めています。

スクラッチが面白いと思う子にはそれを中心に教えていく。
HTML、cssなどのプログラミング言語に楽しく取り組める子には、それを中心に教えていく。といった具合です。

そして、さらに「それにできるだけ好きなことを掛ける」コンテンツにしていくこともやっています。

例えば、スクラッチを教える場合でも、野球をやっている小学生なのであれば、まずは野球の簡単なミニゲームを一緒に作ったり、ナルトに興味があるのならばナルトのキャラクターを使って動くプログラムを一緒に作る。といった具合です。

要するに、その子の興味分野、好きなことに寄せていくのです。
これで集中力は格段に変わります。

まあ、個別指導だからこそできるスタイルではあります。

個別カスタマイズというのはどこまで行っても、労働集約的な仕事になりますので、余裕のない現場の場合は難しいのでしょうが、本来ならば教育はこうあるべきだと僕は考えています。

多様性の裾野がますます広がっている現代では、尚更です。

■難易度を合わせる

2つ目も、個別指導だからこそできることですが、シンプルにその子の力と教える内容の難易度を合わせることです。

これは、基本中の基本なんですが、意外とバランス感覚が必要でもあり、とても重要なことです。

子供が「集中力を失う」原因はさまざまあると思いますが、多くの場合は「難易度が合っていないから」だと思います。

そもそも興味がある / ない、というのももちろん大きい要素ですが、たとえ興味があることでも、今の自分のレベルと、扱う問題の難易度が離れていると人は集中力を失います。そして、(本当はそれが興味の持てる内容かもしれないのに)その教科に興味がなくなり、やがて嫌いになります。

これは、大きい機会損失です。とてももったいない。

単純に、「難易度を合わせてあげる」だけで、その子の集中力が上がり、ひいては興味を持ち始める場合は多いんじゃないかと思います。プログラミングだけじゃなくて、他のことなんでも言えると思いますが。

どうしても子供は集団で学習する機会が多いはずですので、この「難易度が合っていないから」という原因で、消極的になってしまうことはとてももったいな〜なんて個人的には思っています。

ですので、その子の今のレベルをよく観察して難易度を合わせる。これは強く意識したほうがいいです。

ちなみに、この点をもう少し掘り下げると「難易度を合わせる」とはもっと具体的にいうと「すでにできることを解かせつつ、今の実力よりギリギリ上のこともやらせる」という意味です。
つまり、興味と自信を持たせる機会を与えながら、負荷もかけなさいということです。

これは大人も一緒ですが、すでにできることばかりやらせていても成長はありません。
今できないギリギリのことをやらせないと人は伸びません。しかし、扱うレベルがあまりに難しいとやる気を失います。

ですので、できるかできないかギリギリのところを狙ったレベルの内容に挑戦させます。
簡単にはできないけど、頑張ったら、粘ったらギリギリできそう。そういう内容です。

学校ではこういう経験もあまりできないと思うので、良い訓練にもなるでしょう。

ただし、例外として「興味を持たせる・集中力をあげる」ことをまず第一の目的とする場合があり、その時はあえて「できる問題」ばかりをやらせたりもします。これは、自信を付けさせて楽しくさせるためです。

子供の性格やタイミングなども考慮しながら、「できること」と「できないこと」のバランスを取っていくことが重要です。

■集中力をそぐ環境は改善する

話を元に戻します。集中力を高める3つ目のポイントは「環境」です。

集中できる/できないは、その子の能力うんぬんの問題だけでなく、環境も非常に大きいです。

中でも一番影響する要素だけ一つ挙げるとズバリ「スマホ」ですね。

東京ですと中学生以上はほぼ持っているという現状かと思います。

最近アメリカで麻薬中毒などを研究している研究者が本を出しました。
スマホというのは、誕生したのが2006年ぐらい?ですので、まだたかだか15年ぐらいの歴史しかありません。

仮に2006年に生まれた子供は、生まれた時からスマホが存在していて、今は14歳前後ということになります。

スマホにはもちろんたくさんのメリットがあるわけですが、子供時代からデジタル機器を持つことに関してどんな悪影響があるのか?それがいま研究されています。

例えば、これは大人が対象の実験なのですが、
スマホというのはただ横に置いてあるだけ、カフェで相手と向かい合って話をしている時、机の上にスマホが置いてある、ただそれだけで会話の質がぐんと下がるんだそうです。

スマホが目線に入っているだけで、無意識的に気になってしまう。これは抗えない本能的なものなのでしょう。スマホが「目の前にいる相手との良好な人間関係」を築くことの妨げになりうることが実験でわかっています。

僕も教えていて、これには完璧に同意します。

家庭教師でレッスンをしている時、横にスマホを置いている生徒さんも多いのですが、100%気がそれます。LINEでブーっと音がなる。休憩時間や、少し手が空いたらさっとスマホを手に取り通知を見る。その子がどうこうではなく、人間にはこういう性質がある、というレベルの話です。

ですので、僕の場合は、スマホは禁止までにはしていませんが、あえて子供が一緒にいる目の前で、親御さんに上記のお話を伝えします。その後どうするかは、親御さんのご判断に完全に委ねますが、まあ知っておくと人生損をする機会が減るんじゃないのかな〜とは思っています。

もちろん「スマホ」だけではなく、「ただそこにあるだけで集中力を削ぐもの」というのはたくさん身の回りにあるはずです。

それらを排除していくだけで、環境は整っていき集中力は格段に上がりますのでぜひ実行してください。

■ビジュアルプログミング「スクラッチ」はやって意味あるの?

次はトピックが変わりまして、少しエンジニア向けのお話になるかもしれません。

僕は家庭教師を始めた当初、本格的なプログラミング言語(真っ黒な画面に文字をカタカタ打ってプログラムしていくやつです)を教えていました。

その後、お客さんから要望が多かったのでスクラッチも教え始めました。

最初は、スクラッチはあくまで練習、勉強のための勉強というぐらいに(ある意味バカにして)思っていたのですが、実際に教えているとそうではないことがわかります。

スクラッチというのは、本質的には「ストレスポイントを削ぎ落としたプログラミング教材」と言えると思います。どういうことか説明します。

「ストレスポイント」と僕が呼んでいるのは、子供が集中力を落としてしまう、わからなくて、できなくてストレスを感じてしまう、そういうポイントのことです。

もちろん難しい問題を扱って、それが解けないこともストレスポイントになり得ますし、例えば、パソコン画面端っこの方でドラック&ドロップがうまくできない(これ意外でしょうが、子供に多いです)などもストレスポイントの一つになります。

このストレスポイントというのは、適度にあるのであれば良いのですが、あまりにストレスが多すぎると子供は集中力を落とします。我慢してやり切る力が高い子はそう多くないですから、子供の場合は特に気を付けねばなりません。

そして、スクラッチとは、「余計な部分を全部削ぎ落として、思考力(プログラムを組むこと)だけに集中できるもの」だと僕は捉えています。だから、ビジュアル(文字を打つのではなくブロックを使って)でプログラミングなんです。

ここでいう「余計な部分」とは、「プログラミング言語を書く」という行為です。

一応付け加えておきますが、でも本来はそれが「プログラミング」ではあるんですよ。

スクラッチを使って実際の仕事しているのは、教育関係者だけです。
つまり、スクラッチはあくまで学習教材であり、実際に世の中で働いているエンジニアは何かしらのプログラミング言語を書いて仕事をしています。もちろん、将来本当に働くのであれば、プログラミング言語は覚えなきゃいけません。スクラッチじゃ現実のものは何も作れません。

しかし、「プログラミング的な訓練をすること」つまり、あくまで「論理的な思考力を鍛えること」が目的なのであれば、プログラミング言語を覚えることは全部余計なんですよね。書き方のお作法とか、どんなメソッドがあるだとか、そんなことは全部必要ない。

ですので、思考力を鍛える場合には、むしろスクラッチの方が上です。

下手にプログラミング言語を教えて、最初のとっつきにくい書き方のお作法とか、覚えなきゃいけないことの多さとか、それで嫌になる子もいます。

それよりも、視覚的にできるビジュアルプログラミングで「考える」訓練が楽しくできるのならばそちらを使ったほうがいいと僕は思っています。

■何のために教えているのか?

僕は、プログラミングを教えるのは、「子供の将来を広げるため」だと思っています。

そこが、本質です。

教育には、「コンテンツ」と「トレーニング」という二つの側面があります。

ぶっちゃけ「コンテンツ」としてのプログラミングなんてどうでもいいんです。

将来本気でやりたくなったのならば、自分で勉強していけばいいですし、逆に今たとえ有用なプログラミング技術を身につけたところで、10年後は結局また新しい技術を学ばなければいけなくなります。いまの世の中では、同じ労働であればその労働の価値はだんだんと下がっていきますので。

ですので、大事なのはむしろ「トレーニング」の方です。

そして、「トレーニング」の観点で大事なことが何点かあると思っていますので挙げていきます。

■「作る側に回る」その体験をする

プログラミングとは、何かを生み出す行為に他なりません。

ぼくたちの身の回りには、プログラミングによってできているものでありふれています。

お店でよく見かけるようになったペッパーくんや、お掃除ロボットのルンバなどもそうですし、もっと身近な炊飯器や電気のon/offのスイッチ、今見ているこのwebページなどもプログラミングが使われています。

普段私たちは、これらを「使う側」でしかないので、それが一体どのようにしてできているかを意識することはないでしょう。

しかし、それらは確実に誰かの手によって作られています。誰かが作ってくれたモノによって私たちの生活は豊かで、成り立っています。

日本における教育とは、何かと「受け取る」ことが多いものであるとぼくは思っていますが、ここに質的な転換をもたらせるのがプログラミングの醍醐味の一つです。

消費するんじゃなくて、作る側に回る。何かを生み出す。自分で組み立てていって、アウトプットを作る。

今の学校教育では「受け取る」ことのほうが圧倒的に多いでしょう。何かを生み出す、作るという経験は少ないんじゃないかと思います。

しかし、世の中に出た後、社会に出た後に大事になってくるのは、こうした「作る」ことです。

特にこれからの時代はもっとその色が強くなってくるでしょう。人に言われたことだけやる人間では、働いていくことも「メシを食うためだけ」と割り切って「つらい」と感じるかもしれません。

「作る側」に回ることができれば、人生を面白く、楽しく生きていくことができるかもしれない。

別の言葉で言えば、「自主性」です。
「受け身」でいるのではなく「自主的」になること。そういう自主学習をする。

学校時代から、こういう体験を刷り込んでいくことは非常に大きな財産になると僕は信じています。

■失敗を良しとする。何度も試した先に、できるようになる

「むしろ、たくさん失敗した方がいい。」これもプログラミングによって磨ける大きな姿勢です。

プログラミングの世界では最初から正しいプログラムを作ることはできません。
まず作ってみて、実際にどうなるか動かしてみて、意図と違ければどこに原因があるのかを探して、また考えて直す、そしてまた動かしてみる。

こういう試行錯誤の連続の世界です。むしろ、たくさん間違った者が遠くに行ける世界です。

今の世の中、トライ&エラーを繰り返せる人材の方が生命力は高いと思います。

そして、これも学校ではなかなか「失敗しろ」という文化はない気がします。(そういう学校なのだすれば、良い学校ですね)

いきなり100%の完成度を目指すのでなく、とりあえずやってみる。作り始めてみる。手足を動かしてみる。1%でも2%の進捗でも良いからまずやってみる。

そうして、粘って粘ってコツコツやっていくと、完成度が10%になり20%になり、50%になり、100%の完成度に近づいていく。

これは大人になってから、実際の仕事で行うプロセスに等しいと思っているので、そういう体験を今のうちからできることも大きいと思います。

できなかったことができるようになる。わからなかったことがわかるようになる。こういう経験は好奇心を刺激して面白いものです。

■できるだけ「教えない」こと

先生としては、「失敗をさせる」ために重要なことがあります。

それは、「あまり教えない」ことです。

人にもの教える先生や講師という立場はどうしても教えたがりますし、色々と教えることで変な話安心感が(自分のほうに)生まれたりします。

ただそれで満足していてはダメだなと僕はいつも思っています。

教えるのではなく、一緒に肩を並べて、一緒に考える、一緒に悩む、一緒に学んでいく。それでいいのではないかと思います。

(だから、僕もよく「ん〜わかんないなー。できないなー」なんてことを、生徒の隣でよくつぶやいています笑)

むしろ、できるだけ教えない方がいい。というかその方が難しいんです。教えるのは簡単です。

例えば、生徒が間違いであるプログラムを組み始めた時、もちろんこちらとしては先がある程度読めるので、「そのやり方でいくと多分うまくいかないよ」というのはわかります。

そして、その時点で方向修正をして、正解へと教えていくのは絶対にやっちゃダメです。

これは、「失敗を摘み取る行為」です。その子の可能性を潰すとすら思います。

とにかく自由にやらせてみる。自分のやり方、自分の思う方法でやらせてみる。何かやろうとしているときには先生は見守る。この姿勢が大事です。

だから、僕のレッスンでも例え扱うカリキュラムが同じだとしても、生徒によって途中のプロセスは異なっています。違うものができることもあります。

でも、それでいいんです。その子のやり方、その子の特徴を尊重する。
「自主性」を持って進めて、自分で間違いに「気づく」ことも1番の学びになります。

そういう可能性は、先回りして潰しちゃいけない。

ただし例外として、学びはじめの初心者の時などにはある程度のことは教えてあげる必要があるでしょう。

何も知らない初期の状態では、当然「はい、どうぞ。自分でやってみて」といったところで「何をしたらいいのかさっぱりわからない」という状態になりますから、ある程度の武器は与えてあげる必要があります。

何事もそうですが、ある程度の道具があり、武器があり、基礎があって、そこからやっと自分で動き始めたり、思考ができたり、応用ができたり、オリジナリティーが生まれたりするのです。

ですので、「教えなきゃいけない部分」と「教えずに見守る部分」の範囲を自分で考えながら指導していくのが良いのではないかと思います。

そして、そもそもプログラミングにおいては、正解は一つではありません。

「正解はひとつじゃない。いろんなやり方があるよ」ということは、レッスン中も僕も口をすっぱくして繰り返し言います。

学校の勉強は基本的にテストに向かってやりますし、最終ゴールは「受験」ということになりますから、どうしても正解があり、それを学んでいくというスタイルです。

しかし社会では、正解が見えなくて自分で見つけていかなくちゃいけないし、やり方も一つではありません。それが大人になってからの仕事です。厳しい世界です。

そういう経験もプログラミングを通してできることは大きな糧になるでしょう。

■「いま学んでいること」と「現実世界」をつなげる

これも大事な視点です。僕はレッスンの節々でたまに脱線した世間話をチラッと入れます。

例えば、今日Aという内容を勉強したのだとしたら、Aという技術は身の回りのこんなことに使われているよ、Aという技術を使ってこんな仕事をしている人がいるよ、いくらぐらいお金になるよ、などです。

できるだけ学習と現実世界のリアルを繋げていく作業を意識します。

こうすることで、「自我に目覚めさせること」にもつながるのかななんて思っています。

教えているのはあくまでプログラミングという一つの世界、しかもそのほんの一部でしかありませんが、いま学んでいることと現実世界がつながり始めると、「外の世界」につながると良いなと期待しています。

子供というのは、通常接する大人は親と学校の先生ぐらいでしょう。
そこに親でも先生でもない、僕のような人間が話をする機会というのは手前味噌ですが、影響があるのだろうなと思いながらやっています。

「社会にでたら、こうして働くのか」
「この技術が、世の中のこんなことに使われているのか」

こういったことがリンクしはじめると、他のことにも興味を持ち始め、ゆくゆくは「自分は何をしたいのか」といったことを考えてくれるようになったら嬉しいですね。

学校という世界は、とにかく狭い宇宙の中です。
でも実際の世の中はとてつもなく広い。

社会に出てから、いろんなことを知り、自分の興味を探るのではなく、今のうちから、「世の中ってこうなってるんだ」「あ、面白そうだな / つまらなそうだな」「自分は何が好きで何が好きじゃないか、それがよく分かった」とか、そういう感性を育てることが大切だと思います。

以上、かなり長くなりました、今日はおしまいです。

結局は、教えるに当たって大事なのは本質を忘れない、ってことなのかなと思います。

未来の可能性を広げようと思ったら、個々が持ってる原石を見つけて、信じて、伸ばす方法を考えて実行してみる。外の世界も見せてあげて、新しい視点を与えてあげる。

そんなことを試行錯誤しながら、僕も探っているところです。

多様性時代には、集団学習よりも個別学習を選べ

こんにちは、石川大貴です。

今日は、最近僕がプログラミングの家庭教師をしている理由について書いていきます。

僕がなぜプログラミング家庭教師をしているのかという理由ですが、
一番は「好きだから」の一言に尽きます。今は、正直自由なことをしているだけですね笑

web系の仕事はずっとしていましたが、プログラミング自体を覚えたのはごく最近のことです。プログラミング自体も好きですし、子供に教えるのも楽しいので、趣味みたいな感じでやっています。

生徒の反応が見えて、目の前の子供の成長を見守ることができるのは、もうシンプルに楽しいですね。

マンツーマンなので、その子供によって教える内容や教え方も変えながらやっています。

勉強や習い事系はなんでもそうですが、習う方法として「個別学習」か「集団学習」かという選択肢があります。

僕の場合は家庭教師ということで個別指導の形でやっています。

実際に自分でやってみてよく分かりましたが、「効率」という観点だけでみると個別指導、しかも、生徒のご自宅まで訪問して直接マンツーマンで教える対面式の家庭教師スタイルはめちゃくちゃ効率が悪いです。

1件稼働するだけでも、まあまあ時間と手間がかかります。おまけに個別カスタマイズなので、準備も毎回かかりますし、行き帰りの時間もかかりますからね〜。いや〜、、、なんて非効率。でもまあだから良いんです。直に会ってレッスンする方がなんか人間味があって僕は好きです。

もし仮に、この家庭教師だけでお金を稼ごうと思ったら勝手が変わると思います。

何件も受け入れをして過密に忙しく稼働するか、1件あたりの単価を大きく上げていかないと成り立たないでしょう。準備にしても、そう1件1件個別に用意するよりも、できるだけ統一化して使いまわせるものばかりを用意しておく方が合理的です。

幸いなことに、僕の場合は一応メシの種が別にあるので、これでお金を稼ぐ気は全くありません。これに関しては、好きだからやってるだけです。

なので、マイペースに楽しく没頭できる範囲に調整しながらやっています。

そして、なぜ個別指導を選んだのかの理由ですが、それは「子供により影響を与えられる形だと思うから」です。

教える内容を個別にカスタマイズできるのもそうですし、もっと言えば、直接会って教える、親や学校の先生以外の大人と密に触れられる経験というのも子供にとっては大きいじゃないかなと思いながら、普段接しています。

だから、プログラミングの内容は当たり前ですけども、レッスン中の言葉遣いとか雑談とか立ち振る舞いとか、そういうことも大切にしています。個別指導の良さがここにありますね。すごい非効率だけど、体温があるというか。

■「集団学習」と「個別学習」

実は教えている生徒さんの中には、プログラミング教室に通っていたのちに、僕の個人レッスンを受けた小学生もいます。

「プログラミング教室」というのは集団で学習する形式です。

一番最初の個別レッスンでその子を見た時に、確かにパソコンの使い方も慣れているし、プログラミングの内容も色々と知ってはいました。賢いな〜という印象でした。

ですが、1年間通われていたそうですが、その割には「自分でできる」ところまで理解し切れていないかもな??という感じがありました。

試しに、即興でとても簡単なプログラムの問題を自分で書かせてみたところ、正解までたどり着けませんでした。

逆に小難しい技まで覚えている分、自分が知っているいろいろなパーツを組み合わせてしまって、正しく動くプログラムが作れなかったわけです。

まっさらな状態で、イチから自分の頭で論理的に考えていけば、すぐにできるプログラムなのにです。

付け加えておきますが、そのプログラミング教室は有名どころです。お世辞抜きにしても、内容も制度もしっかりしていると思います。さらに、その子自身もプログラミングの素質は高く、理解力や集中力も間違いなく高いタイプです。

なぜこんなことが起きるかといえば、やはり、「集団学習」と「個別学習」の性質の違いだと僕は思っています。

この集団学習か個別学習かという点は、教育に関してはとても重要な要素ですので、親としても先生としてもよく理解しておくと良いかと思います。

プログラミングの場合は特にそうですが、積み上げ方式で1つ1つ学んでいかないと前に進めなくなります。最初は特にそうです。

集団学習では、先生1に対して生徒が8人とかになりますから、どうしても、カバーし切れない部分は出てきます。

プログラミングは、必ずどこかでつまずきます。理解できない、分からない部分が出てきます。それも、個人によってその場所は異なります。

いくら全体でスピードを合わせるといっても、限られた時間内のなかで、今日はここまで進めるというカリキュラムがあるのであれば、「正解を見せる」ことが必ず必要になるはずです。先生としては、それが一番簡単に進められますので。

もし生徒のためと思って、誰かがつまずく度に、その都度ぜーんぶ個別に一緒に考えて、解決しながらやっていたら、多分1時間で全然進まずに終わるでしょう。それはそれで問題ですよね。集団授業が成立していません。

生徒にとっては正解のプログラムが見えれば、とりあえず先生が言う通りに同じプラグラムを組めば意図通りに動くわけですから、楽しい!できた!という状態にはなります。「なぜそうなるかはよく分からないんだけど、その通りに動くから良いか」という感じで授業が終わります。

毎回それが続いていたら、興味や好奇心などは満たされるかもしれませんが、本当の力は実は積み上がっていない、なんてことは普通にありそうです。

これは、誰かが悪いというより構造的な問題です。

集団授業では、抜きん出た才能や個性というのは邪魔になります。

いちいち合わせていたら、全体が前に進みませんからね。誰か1人を不平等に満足させると、他の39人を我慢させることになり、これは先生としては失格になるわけです。集団学習というのは、そういうバーターシステムになっている。

だから、扱う内容も、扱うレベルも、画一的な方へ均質的な方へと自然と向かっていく。そういう宿命にあります。

集団学習は、効率がよく、平等である。だけど、個性は殺してしまう。それが特徴です。

先生が悪いとか、学校が悪いとか、そういう話ではなくこれはシステムの問題です。
学校の先生とかも、きっとたくさんの制約の中でどこか「もやもや」を心に抱えながらも、余裕がない中で生徒の教育に当たっているんだろうなと想像します。現場は大変でしょうね。

まあ、集団は集団で、良さもたくさんありますし、逆に集団でなければできないことだってたくさんありますので、僕は役割の違いなのかなとは思っていますが。

教える先生側としても、また習い事を受けさせる親としても、この「集団か個別か」はシチュエーションによってよく吟味されると良いかと思います。

今日は「僕が最近プログラミングの家庭教師をしている理由」という内容でした。またね〜。

プログラミング教育は将来使える力となるのか?

こんにちは。石川です。

2020年からプログラミング教育の導入が小学校で始まります。

気になっている方も多いのではないでしょうか?

僕は、プログラミングを2018年に初めてからwebサービスを自分で作れるようになりました。

これまでいろんなことに手を出して勉強してきましたが、中でもプログラミングは当たりだなと思っています。

挫折してきたものが多くある中でも、プログラミングをしてる時間はすごく没入できて、楽しく続けられています。

当記事は、「プログラミング知らないけど興味あるという方」や「自分の子どもにプログラミングをやらせるかどうか悩んでいる方」に向けて書いていきます。

なぜプログラミングは面白いのか?

不思議に思ったので考えてみました。

結論から言います。

「プログラミングは、分からないことが次々と襲うけど頑張れば解決できる」

多分これが1番の面白さだと思います。

僕はまだまだペーペーのエンジニアです。

周りのプログラミング学習者と比べて、深い所まで突っ込んで勉強まではできていません。

僕の場合はトップエンジニアになりたいわけではなく、経営者(事業を作る人)として力をつけていきたいので、プログラミングしてる時間はかなり少ない方です。

それでも、分からないことは次々と襲って来ます。

「あれ、これってどうやったら実現できるんだろう?」

「ん?ネットにある記事を読んでも仕組みが理解できない!」

「えー、これで上手く行くはずなのに、なぜか思い通りに動いてくれない!」

最高ですよねこれ。

プログラミングをやっていると、どれだけ勉強して進んでいってもこういった「詰まる」経験はなくなりません。

挑戦して、調べて、考えて、やっとできる。(できないままの時もあるw)

これの繰り返しです。

永遠の勉強。それがプログラミングです。

プログラミングは、人の学習能力を上げる

そもそも教育には、「コンテンツ」と「トレーニング」という二つの側面があります。

プログラミングの場合は、「コンテンツ」としてはプログラミングスキルそのものですね。

webサイトを作れるようになったり、ロボットや機械を作れるようになったり、ゲームをつくれるようになったり、データを使って解析できるようになったり、色々できるようになります。

「トレーニング」としては、自己解決能力であったり、論理的思考であったり、集中力などが身につきます。

プログラミングの効用として、一番大きいのは「人の学習能力」をあげることだと考えています。

プログラミングに限らず、人生において「どれだけ分からないことに出会えるか」の多さで、人の成長は決まってきます。

分かる事ばかりやっている人は、当然成長が止まります。

心の安定は得られるかもしれませんが、負荷も変化もないので面白くありません。

つまらない人になります。

「どれだけ分からないことに出会えるか」という点において、プログラミングは恰好の教材だと思います。

ちょっとかじってみるとわかりますが、勉強していけばいくほど分からないことにぶつかります。

そして、有り難いのはプログラミングの場合、大体ネットで正解にたどり着けることです。

世界中の誰かが同じ問題にぶつかっていて、その解決プロセスをネット上に書いてくれているからです。

例えば、CSSというプログラミング言語をいじっていて、「あれ、ボタンの形を丸くしたいんだけどどうしたらいいのか分からない!」と思ったら、グーグルで「css ボタン まる」みたいな感じで検索すると正解が出てきます。

つまり、自分で問題にぶつかって、自分で調べながら、解決していくことができます。

これができるのが、プログラミングのとても大きな所です。

ちなみに、日本の学校教育では基本的に「問題も与えてもらって、正解も教えてもらう」形です。

少しずつ変わっている流れは感じられますが、まだまだ「先生1人が喋って、生徒25人が聞く」スタイルです。

だから、学校教育を普通に受けてきている私たちは、教えてもらうことに慣れてるので、プログラミング体験はきつい人もいるのかもしれません。

分からないことが出てきても逃げない。

答えを待たずに、自分で調べて、自分の頭で考えていく。

社会人になるまでそういう経験をしてない人は意外と多いんじゃないでしょうか?

プログラミングと世の中の仕組み

次に、「コンテンツ」としてのプログラミングを考えて見ます。

プログラミングは、将来を生き抜く武器になるのでしょうか?

一旦脱線して、経済の話をします。

世の中というは、生産者と消費者に分けられます。

ほとんど全ての大人は生産者であり、且つ消費者でもあります。

お肉屋さんで1kgのお肉を買う行為。これは消費です。

お肉屋さんがお肉を売る行為。これは生産です。

牛農家さんが牛を育てる行為、誰かが牛を殺してさばく行為、運送屋さんがお肉をお肉屋さんまで届ける行為。これらも生産です。

あなたの身の回りに在るモノを振り返って想像してみてください。

私たちの生活は、たくさんの生産活動によって成り立っています。

♪一息つきながら〜人はもっとはたらく〜、の世界観ですね。

今日買ったおにぎりも、スマホで読んだニュースも生産されたモノです。

その裏には、沢山の人の労働があります。

そしてプログラミングというのは、この「労働」を自動化して「機械」に置き換える行為です。

プログラミングは、「モノやコンピュータなどに自動で何かをさせる」ことです。

玄関脇のスイッチを押したら、チャイムが鳴る。

「O N」ボタンを押したら掃除機が動き出す。

今あなたが見ているこのページ、「タイトル」を押したらトップページに遷移する。

全部プログラミングです。

子どもがやっているゲームも、皆が使っているアプリも、家庭や仕事場で身の回りにある機械も、プログラミングがあって成り立っているモノはとても多いのです。

ものすごく乱暴な言い方をすれば、もしプログラミングがこの世から消えたら、身の回りのモノはほとんどなくなるはずです。

何が言いたいかというと、プログラミングができると生産活動ができる幅がグッと広がるということです。

つまり、プログラミングができるとお金を稼ぐことに繋がりやすいかもねという話です。

先ほど、世の中は生産活動と消費活動で成り立っていると言いました。

そして大抵の場合は、生産活動(つまり、労働)と引き換えに、対価としてお金を手にすることができます。

生産は消費されることとセットなので、人の役に立つものを生産するほど、手にするお金の額も大きくなりそうです。

子どもは、大人になるまで消費専門の存在と言えます。

「生産活動をするために準備をしている」とも言えますね。

プログラミングとは、何かを生み出すための技です。

近年AIに仕事を奪われると叫ばれていますが、プログラミングで一流まで突き抜ければAIを作る側(つまり、何かの生産活動を自動化するモノを作る側)にまわれる可能性はあります。

だから、消費者から生産者に脱皮するための大きな武器になるかもしれません。

プログラミングは、大衆化するのか?

2020年からプログラミングが必修科されます。

予定はこんな感じです(2018年時点の情報)

2020年度 小学校で必修化
2021年度 中学校で必修化
2022年度 高校で必修化
2024年度 大学入試

先述した通り、プログラミングは様々な生産活動を担うので、エンジニアは実需がとてもあると思います。

「エンジニアが足りない!」と悲鳴をあげている企業はたくさんあります。

これからの時代も、もっともっと増えるはずです。

しかし、プログラミングができれば安泰なのかと言えば、そうではないと思います。

仮にもし国民皆ができるようになったら、それは代替が効くということなので給料は上がりません。

プログラミングは、それほど学習コストが高くありません。(お金をそんなに払わずとも時間さえあれば誰でも学習できます)

ですので、みんなができるようになればコモディティになります。

給料としては、むしろ下がる可能性もあるのかなと思います。

これは単に需要と供給の問題です。

同じ質で働ける人がたくさんいるならば、高い賃金は出ません。

企業のインセンティブは稼ぐことなので、安いエンジニアがいたらそっちに流れるのは自然の摂理です。

労働プールが広がりチャンスが大衆化すると、賃金は上がりにくくなります。

さらにもっと言うと、今後はグローバルでの競争も起きます。

プログラミングのコードは、ユニバーサルなものなので、基本的には、日本人が書こうがベトナム人が書こうが変わりはありません。

ベトナム人やフィリピン人など、すでに優秀な人も少なからずいます。

経済成長率が高く勢いのある国は教育レベルも上がっていくので、良い人材はまだまだ増えていきます。

これまでは場所と言語という物理的な障壁によって守られてきましたが、何らかの形で、コミュニケーションの障壁が限りなく下がる日もそう遠くないでしょう。

もはや、国境はありません。

人件費の安い国の人と勝負したら、どうなりますか?という問いです。

それを考えていかなければいけません。

ここから何が言えるかと言うと、ただプログラミングができるだけではダメで、突き抜ける必要があるということです。

突き抜け方はいくつかあると思います。

①【量をこなす。早く始める】

単純な話ですが、効果は抜群だと思います。

その理由も単純で、コモディティになったとしても量をこなす人は少ないからです。

量をこなす人が少ないので、それだけで希少性が上がります。

希少性が上がると、他に代替が効かないので賃金も上がりやすくなります。

日本でプログラミングが必修になると言っても、「プログラミング」という科目ができるわけではありません。

ちゃんとコードが書ける人はほんの一部になるだろうなと想像しています。

あくまでこれはwebサービスの一例ですが、例えばよく皆さんがみているヤフーさんのサイト。

これらのwebサイトは全てこんな感じの文字列によって書かれています。

乱暴な言い方をすると、コードが書けるというのはそういうことです。

プログラミング教育が必修化されると言っても、「プログラミング」という教科ができて、プログラミングスキルをゴリゴリ教えるわけではありません。

「プログラミング的思考」に触れようねということです。

「プログラミング的思考」とは、「ゴールを設定して、どうやったらそのゴールまで達成できるのかのプロセスを論理的に組み立てる力」です。

まあ思い切りの悪い日本のことなので、プログラミング教育は中途半端になるんじゃないかな〜と個人的には思っています。

実際、英語は6年間やってもあのレベルですからね。

「英語」はコンテンツとしてもすごく実用的なものだと思いますが、学校教育の英語科目は「実学」には程遠いわけです。

僕は東京外大に入っているのですが、入学時はほとんど喋れませんでした。

今はどうなのか分かりませんが、外大にも英語が喋れない人は普通にいっぱいいました。

いわば、試験を通ることがどういうことを意味するのかを端的に表している例だと思います。

学校の勉強だけを一生懸命しても喋れるようにはならないってことです。

ちなみに、プログラミング教育ではイスラエルなんかがすごくて、義務教育でC+とC++(言語の一つ)をやったりして、兵役とかで皆python(言語の一つ)を勉強したりするわけです。

もう敵うわけないですよね笑。

世界的には、そんな人たちがゴロゴロいます。

話を戻しますが、日本でプログラミングスキルが大衆化したとしても、やはり質の高いエンジニアはめちゃくちゃ求められます。

今も正確に言うと、「質の高い」エンジニアがいなくて企業は困っているわけです。

そういう人材にはきちんとお金を払います。

時間をかけて真剣に戦い続けて、積み上げているエンジニアさんはやっぱり次元が違うんだろうなと感じてます。

プログラミングは、かけた時間とスキル技量が比例するものです。

努力した人が報われる世界だと思います。

Facebookを作ったマークザッカーバーグも12歳の時からプログラミングの家庭教師をつけていたのは有名な話です。(この方は天才なので比較にならないかもだけどね)

結論として、悩んでいるならば、早く始めてみた方が絶対に有利です。

自分も子どもには、出来るだけ早い段階で触れる機会は作りたいと思っています。

②【有望な言語に挑戦する】

「プログラミング」と言っても色々あります。

「外国語」と一口にまとめてるのと同じようなもので、中には英語、フランス語、スペイン語、中国語、ラオス語、とか色々あって、できることも全然違います。市場も違います。

ですので、どの言語をやるのかはまず重要になってくるかと思います。

みんなができる簡単な言語だけをやってもコモディティーになるので、あまりみんなが手をつけていない言語を勉強していくのも一つの戦略です。

早いうちに学習して突き抜ければその言語においてポジションが取れるので、希少性も上がり戦いやすくなります。

但し、そうした言語は最新技術でまだ情報が少なかったり、普通に難しかったりするので、当然ながら学習コストは高めです。

また、作りたいものから逆算して言語を選ぶのも大事です。

例えば、ゲームを作りたいのか。ゲームの中でもどんなタイプのゲームが好きなのかによって必要な言語は違ってくる。といった選び方です。

2020年に小学校でプログラミングが導入されます。

現時点で詳細はまだよく分からないのでハッキリとした事は言えませんが、おそらくビジュアルプログラミングが中心になるのではないかなと思っています。

ビジュアルプログラミングとは、パズルにような感覚でロジックを組み立てたりできるものです。ゲームに近い感覚でできます。

ビジュアルプログラミングと、プログラミングの大きな違いは、コードを自分で書くのか、書かないのかです。

ビジュアルの方では、もともと色々なパーツが用意されてあって、そこから「選んで」ロジックを組んでいくような形が基本です。

コードを書く量が少ないので、とても取っつきやすいです。

子どもは初めて触れるので興味を奪わないことが大事だ、との論調でおそらくビジュアルプログラミングが中心になるんではないかと思います。

導入としてはすごく良いです。

ただ、そればかりだと僕が最初に述べた、「わからないことに出会う」経験が減ってしまうこともありそうです。

「何もわからない状況から自分で答えを探していく」

それがプログラミングの真髄だと僕は思います。

ですので、コードを書くことを早くから始めるべきかと思います。

そこに差が出るんじゃないかと思ってます。

③【プログラミング以外の得意分野を作る】

プログラミングだけでは代替が可能になるので、それに何かを掛ける戦略も良いと思います。

プログラミング × 数学
プログラミング × 将棋
プログラミング × 農業
プログラミング × マンガ

まあなんでも良いとは思います。

いろんな分野でプログラミングは必要とされているので、得意な分野が他に作れると、より武器として輝くかもしれません。

要は、興味のアンテナをプログラミングだけに絞らずに、他にも好きなことがあるならばやったほうが良いということです。

AI時代には、マニア力が価値を持ってきますので。

オーナーになるか、社員になるか

最後にもう一つ見落とせない視点があるので、書いておきます。

この間、映画「シェフ 三ツ星フードレストラン」をみました。
とても良い映画でした。

ストーリーはこんな感じです。

古風なオーナーと対立し、自分の好きなように仕事ができなかった有名シェフが、フードワゴンを始め、自分の好きなように自由に仕事をするシェフに変わる物語。

これは、プログラミングをこれから学ぶ人にとっても確実に知っておいた方が良い視点です。

オーナーになるのか、社員になるのか、です。

これは好き嫌い、向き不向きもあると思うので、一概にどちらが良いは言えません。完全にその人の価値観によります。

現実的には、どっちも大変です。

自分でサービスを作って世の中に広め、さらにお金を稼いでいくのはそう簡単な事ではありません。

その代わりイニシアチブは自分が握れます。自分の好き勝手に仕事ができます。

会社の中で働く場合は、組織はそもそも分業で成り立つので、いくら裁量がある場所でも100%ではありません。我慢する時が必ず出てきます。

その代わり、規模の大きい仕事ができたり、教えてもらえたり、そもそもちゃんと会社として既に成り立っているわけだから、安定して給料も出ます。

プログラミングを学んで自分で生きるのか、会社に務めるのかどっちの道へいくんだという話ですね。自分の幸せに直結しますので、経験を積み重ねながら考えたら良いと思います。

最後の結論として、最初に戻りますが、プログラミングによって磨かれるのは、自己解決力だと思います。

プログラミングは分からないことだらけ。

だから、楽しい。

この能力があったら、何でも学んでいけます。最強です。

スキルなんて時代時代によって、すぐ変わっていきます。

だから、もっと根幹的なそういう力がものを言うのだと考えています。

さてプログラミング、やりましょう。

 
【ララボ】
勉強以外の子供向け家庭教師マーケット「ララボ」を運営してます。子供達の将来の選択肢を増やすために日々頑張ってます。
・子供が興味のあることを教えてくれる先生を探せます
・ギター、絵画、ファッションデザインなど自分の好きなことで家庭教師に今すぐ登録できます。
興味がある方はコチラ↓

家庭教師マーケット「ララボ(LeLabo)」

 

ツイッターを楽しみたい方はコチラ↓

イシカワのツイッター