みなさん、おはようございます!タカハシ(@ntakahashi0505)です。
こちらの記事は、タカハシが音声メディアVoicyの「スキルアップラジオ」にて放送した内容から、ピックアップしてお届けします!
今回のテーマは、ノンプログラマーのプログラミング学習でChatGPTを使うことの意義です。
なお、以下で実際にお聴きいただくこともできます!
では、よろしくお願いいたします!
この1年生成AIが急激に普及しました
ChatGPTを始めとする生成AIは、この1年少しで急激に普及しましたね。
リスナーの皆さんもお仕事で使っていらっしゃったりとか、あと周りの皆さんが話題にしたりとか、そういった機会が結構あるんじゃないかなと思います。
このChatGPTなんですが、僕は今まで非IT企業の非IT人材の皆さんノンプログラマーと呼んでますが、この皆さんがプログラミング技術を身につけて、それを実務で活用する。
そういったことを目指す上で、このChatGPTや生成AIがものすごく役に立つんじゃないか。そんなふうに考えていまして、それはなぜなのかというところを今日は話をしていきたいなと思っています。
僕は、2015年に起業してから9年間、ノンプログラマーの皆さんにプログラミングを教えて差し上げたりとか、書籍を執筆したり、こうしてVoicyで話をしたり、あとはコミュニティノンプロ研というコミュニティを運営したり、そういった活動をしています。
そんな中、やはりプログラマーの皆さんがプログラミングを学習するというのは、本当にハードモードだなと常々感じていまして、それをうまく支援したいなと思っているんです。
なぜノンプログラマーのプログラミングが困難なのか
なぜノンプログラマーのプログラミングが困難なのかということなんですが、リスナーの皆さん、理由を思いついたりされますでしょうか。
プログラミング学習では8割が挫折を感じる
プログラミングの学習は、そもそもやや難易度が高いというのがあるんです。その中で約8割の方が、何かしらかの挫折とか行き詰まりを感じると言われているんです。
どんな時にそういうふうに感じるかというと、たとえば作ったプログラムがエラーになりました。そのエラーを全然1人では解決できないというのがあります。
自分がどういうふうに学習を進めていけばいいのかとか、何かわからないことがあった時、そういった時に誰にも質問ができない。そういったポイントもあげられています。
さらに、根気よく継続して学習を重ねる必要がありますので、その長い間モチベーションを維持するのが難しい。そういうふうにも言われています。
最大の課題は孤独になりやすいノンプログラマーの環境
しかし、これらの挫折ポイントでいうと、身近なところに質問をしたり、頼ることができる。そんな先輩や仲間がいるのであれば、解決できることがほとんどなわけです。
つまり、1人で孤独に学習せざるを得ない環境というのが挫折しやすい環境いえるんです。
しかし、非IT企業・非IT部門に勤めていらっしゃるノンプログラマーの皆さんは、周りにそういったプログラミングに詳しい人とか、頼れる先輩、仲間がいないことがほとんどなので、ほぼ全てのケースでそういった挫折しやすい孤独な学習になりがちなんです。
僕はこの孤独な学習になりやすいというノンプログラマーの環境が、プログラミングの最大の課題といっていいんじゃないかと考えているわけです。
したがって、ノンプログラマーの皆さんにもしアドバイスをするのであれば、まずは学習仲間を見つけようというのを強くお勧めしているわけです。
社内など身近なところで見つかればいいんですが、そうはいかないことも多いです。だからこそ、ノンプロ研のような学習コミュニティをオンラインで運営したりということもしているわけです。
仲間がいることによって助かる4つのポイント
さて、仲間がいることによって助かる4つのポイントが挙げられるかなと思っています。
道筋
1つ目が道筋です。
その人にあったカリキュラムを用意してくれて、その通りに伴走する。そのような役割を期待することができます。
約束
2つ目が約束です。
たとえば次の勉強会までにここまでやってこよう。そういった約束をすると、その実現度はぐっと高まります。
このような強制力を働かせたり、ペースメイクだったり、そういった役割を期待することができるということです。
対話
そして、3つ目のポイントが対話になります。
何か勉強している時に困った時、エラーが出た時、そういった時にその状況に合わせて、適切な情報提供や支援をすることができるというのがあります。
これによって、大きく時間を無駄にしてしまったり、自己効力感を著しく失ってしまうとか、そういったことを避けることができます。
応援
最後のポイントが応援になります。
他者と関わりあうことで、それ自体がモチベーションを見出してくれるわけです。
応援してもらったらやはり嬉しいものですし、その関係性があるから頑張ろうと思えたりとか、その学習自体がポジティブなものになったりとか、そういった効果を期待することができます。
ChatGPTが対話の部分を担える可能性がある
このように、仲間がいることの意義というのはとてもたくさんあります。
ぜひ皆さん、その仲間の力を借りていただきたいなと思うんですが、2022年11月に誕生したある技術・サービスが、その仲間じゃないと担えなかった部分の一部、もしくは結構なところを担えるんじゃないか。そういうふうに考えられるわけです。
そのあるサービスというのが、皆さんご存じのChatGPTになるわけです。
先ほどお話しした仲間による4つのメリット、道筋・約束・対話・応援。このうち、最も期待ができるのが対話の部分になるわけです。
プログラミング学習を進めていて、わからないキーワード・概念が出てきた時には、それを日本語でChatGPTに質問すれば、それについて教えてくれるわけです。
エラーが出てしまったとしたら、こういったエラーメッセージが出たので解決方法を教えてくださいとお願いすれば、それに対してもほとんどの場合適切な解決策を教えてくれます。
このように、ChatGPTを使えば、エラーを解決できずに何時間も経ってしまった。わからないキーワードだらけでもういっぱいいっぱいになっちゃうとか、そういった辛い状況を乗り越えやすくなるです。
さらに、ChatGPTは、何度失礼な質問の仕方をしても別に気分を悪くしたりしませんし、24時間いつでも気軽に質問して、きちんと回答してくれるわけです。
なので、孤独なノンプログラマープログラミング学習でいうと、問題が見つからないことが最大のネックではあるんですが、そのうちの一部、対話の部分に関しては、かなりの部分をChatGPTが担ってくれる。そういったことが期待できるわけです。
ChatGPTを使ってどうやって学習するのが最短距離なのか
では、そういったChatGPTのような生成AIが誕生した今、初心者のノンプログラマーにとっては、これを使ってどうやって学習するのが最短距離なのか、そういった問いが生まれるわけです。
もちろん、ノンプログラマー向けの言語、たとえばVBAなんかでいうと、これまで素晴らしい書籍がたくさん出ていますので、その書籍できちんと順番に基礎を学んでいく。その過程で分からなかったことや詰まってしまったことについて、ChatGPTに問いあわせてそれを解決していく。
そういった補助的な役割として、ChatGPTを使うというのもアイデアとしてはあります。ただ、そのやり方だと、やはりどちらかというとインプット学習に偏りがちなんです。
学習でいうと、アウトプット・インプットの比率、これは6対4かもしくは7対3。これぐらいアウトプットの比率を上げた方が効率はいいといわれているので、もっとアウトプットの比率を上げていきたい。それでいうと、ChatGPTとなら会話ができるわけです。
つまり、学習者がChatGPTにプロットを投げれば投げるほど、アウトプットの比率を上げることができて、学習効率が上がっていきます。
ChatGPTが生まれた今、ChatGPTにどんどん依頼をしながら学習を進めていく。そのやり方が確立できるのであれば、ノンプログラマーのプログラミング学習にとってとても画期的なことになるんじゃないか。そういうふうに考えるわけです。
その新たな学習方法を提示するというのが、今回僕が執筆を進めている書籍のミッションになるわけです。
さて、そのChatGPTを使った新たなプログラミング学習の方法。これを考える上で、学習者が初心者だとすると、乗り越えなければいけない厄介な課題が1つあります。
ただ、今日はちょっと時間が来てしまったので、その厄介な課題というのはなんなのか。そしてその厄介な課題を解決するためのアイデアとはなんなのか。
それについては、また別の機会でお話しできれば嬉しいなと思います。
まとめ
ということで、今日はVoicy「スキルアップラジオ」の放送から「ノンプログラマーのプログラミング学習でChatGPTを使うことの意義」をお届けしました。
タカハシのVoicyの放送はこちらからお聴きいただけます。
チャンネルのフォロー、コメント、SNSでのシェアなどなど、楽しみにお待ちしております。
では、また。