見出し画像

駆け出しの初心者が「生成AI時代」に最速でプログラミングを学ぶ方法【2023年版】

こんにちは!noumi0kこと熊澤です。

最近は、ホリエモンこと堀江貴文さんと協業でタノメルキャリアスクールという生成AI活用の基礎(とPython、ビジネス基礎)を習得できるオンラインスクールを運営したり、ChatGPTを活用して学ぶプログラミング入門書を執筆しています。

ホリエモンチャンネル出演時(サービス名のみ最新に修正)

こういう活動内容を伝えると、僕はもう開発をしていないと勘違いされることが稀にあるのですが、今でもスクール運用の効率化のシステム開発や、生成AI周辺のR&D、新規サービスの開発、個人でも推し活領域のサービスの開発/運営など、今も個人/会社問わず、現役で開発をしていたりします。


この記事の目的

画像生成AIが作ったChatGPT!って感じ

さて、みなさんはChatGPTを日々活用していますか?名前は知っているとか、触ったことはあるという人も多いのではないでしょうか?

実際、ChatGPTがすごいのはわかるけど、何に使うの?という感想を、多くの人が抱いているのではないかと思います。

その中でもChatGPT活用の王道、最強の活用法の一つであるプログラミング活用、プログラミング学習での活用については、プログラミングに興味を持ったのなら、ぜひ実践してもらいたい活用方法です。

しかし、プログラミングを学びたい人全員がChatGPT前提の学習に向いているかというと、(すぐにあらゆる学習にChatGPTなど生成AIが溶け込んで行く気がしますが)誰もがChatGPT前提の学習に向いているとは限らないかもしれません。

ということで、今回はプログラミングをやってみようかなと思い始めた人から、プログラミング勉強し始めたけど挫折し始めている人、既に挫折したという人向けに、「どんな学び方ならプログラミング習得を最速で出来るのか」を紹介していきます。

※この記事には宣伝があります。 #PR
※2023年10月時点で絶賛予約受付中の著書「ChatGPTと学ぶPython入門」を必要とする人に、一人でも多く知ってもらいたいと思って書いているので、ChatGPT推しスタンスの記事となります。ChatGPT活用が許せない人はここで引き返してください。

ChatGPTに「勉強法」相談

画像生成AIで作成したそれっぽい画像

さて、プログラミングの勉強法はどんなものがあるでしょうか。独学、メンター(師匠)に教えてもらう、学習サービスを使う、スクールに入るなどでしょうか。

※「独学」という言葉が聞き慣れないという人もいると思いますが、ここでは「公式のドキュメント・サンプル」「書籍」「QAサイト・技術共有記事」を活用して、誰かに教えてもらうのではなく、自分で学ぶことを独学と表現しています。

僕は「生成AI」も「プログラミング」も独学で学ぶことを推奨しています。どちらも誰かに教えてもらうことに頼ると、最新の技術や常識に追いつけず、即戦力の実力を維持するのが難しい領域だからです。

そのため「独学出来るレベルの基礎や習慣を身につける」ことは、独学ではもちろん、メンター、学習サービス、スクールを活用してプログラミングを学ぶ中で、最も重要視すべき要素と言っても過言ではないと考えています。

ただ、その事実に気付いたとしても「独学出来るレベルの基礎や習慣を身につける」ためにどんな手段を選ぶべきなのか、自分に向いているものはなにか、何をすればいいのか悩む人は多いと思います。

そこで、今回はその悩みをChatGPTに相談できるプロンプトを用意したので、これをそのままChatGPTの入力欄にコピー&ペーストで入力して送信してみましょう。

ChatGPTを利用するためには、アカウント登録が必要ですが、ChatGPT自体は無料でも利用が可能です。ただし、今回はGPT-4というChatGPT Plusという有料プランに入っている人限定の「性能が高いモデル」を利用していますのでご注意ください。

ChatGPT
https://chat.openai.com/

※GPT-4を利用することを想定しています。
※悩んだときに勉強法を考えるきっかけに利用してください。
※絶対に正しい判断をすると保証されるものではありません。

勉強法相談プロンプト

# 指示者情報
プログラミング初心者
これからプログラミングを学習しようと考えている

# 実行者情報
指示者がやる気を無くさないように、専門用語を使わず、優しくモチベの上がる表現を使う

# 実行者の責務
指示者の思考傾向を元に最適な学習法を提案する責任がある
指示者の情報がないと提案が出来ないので、提案出来るだけの情報を質問して取得する
一度のメッセージには質問は一つ以上含めない

# 勉強法情報
1.独学(書籍)
2.独学(技術共有サイト)
3.メンター
4.学習サービス
5.スクール

# 判断基準
a.理解難易度
b.最適な教材やメンターを見つける難易度
c.理論・実践どちらから学びたいか
b.サポートの必要度

# 指示
最適な勉強法を提案してください。
パソコンの場合
スマホ(アプリ)の場合

今回のようなシンプルなプロンプト(ChatGPTへの指示)の場合、プロンプトを見れば答えが予想できたりします。しかし、自分で判断基準や勉強法情報を追加・修正することで、自分では判断に迷う決断も提案してくれる相談相手にすることが出来るので、是非カスタマイズして活用してみてください。

さて、肝心の相談結果ですがいかがだったでしょうか?選択肢の中に「独学」を含めていたので、最初から独学を勧められた人もいるかもしれません。

では次は勉強法ごとにどう学ぶべきか、何を使うべきかの話をしていきましょう。

勉強法ごとのオススメコンテンツ

画像生成AIで作成したかっこいい画像

1.独学(書籍)

まずは「ChatGPTと学ぶPython入門」を予約/購入して、ChatGPTを活用したプログラミング学習を体験してください!

自分の目的に応じたプログラミング言語を最初に学ぶべきという考え方もありますが、気持ちが専攻しすぎて目標を高く設定しすぎて達成できないリスクを減らすためにも、まずは学習法を学べる本書から始めてください。

ChatGPTにこの勉強法をオススメされた方なら、きっと一歩ずつ基礎を積み上げていくことが出来ると思いますので、達成できない高い目標に心折れることなく、着実に基礎を学んでいきましょう。

本書では、Python学習を通して、ChatGPTを活用したプログラミング学習法を習得できる構成になっています。本書を学んだ後であれば、他の技術書も挫折することなく読み進めることができるでしょう。

勉強法が分かったら、後はやりたいこと・自分の目的を実現するための実践&勉強をしていきましょう。本書でプログラミングの概念や学び方を習得した後であれば、自分の目的に応じたプログラミング言語を学ぶ際にも、苦手意識や抵抗なく、学習効率が高い状態で向き合えるようになっているはずです。

2.独学(技術共有サイト)

「エンジニアのための情報共有コミュニティZenn」という技術共有サイトで、自分の目的に応じた「目的のプログラム・仕組み」を検索して、それを真似して動かしながら学んでみましょう。

初心者向けの記事であれば、自分のパソコンでプログラミングを動かすための「環境構築」のやり方が書いてあるものもあるので、初心者向けの丁寧な記事を最初は探すのが良いかもしれません。

また、ZennであればBookStoreという本形式で提供される記事もあります。無料でなく有料のものもありますが、実際に動くプログラムを作りながら学べるものも多くあるので、実践重視の方は要チェックです。
https://zenn.dev/books/explore

また、他にも有名なサイトとしては「Qiita」「stackoverflow」(技術特化のQAサイト)などがあります。是非ご活用ください。

技術共有サイトで学ぶ際にも、表現をわかりやすく言い換えたり、サンプルコードの解説や、別のサンプルコードを作成してもらうなど、ChatGPTを使うと更に柔軟な学習が可能になります。

3.メンター

メンター(師匠)を探すのは容易なことではありません。すごいプログラマーを知っていても、その人にプログラミングを教えてもらえる関係になることは中々できることではありません。

そんなときに使えるのが「MENTA」です。すごいプログラマーとの繋がりがなくても、学びたい技術と支払える金額を提示することで、様々な分野のプロがメンターとしてサポートしてくれます。

ちなみに、僕もモチベ管理サポートのプランを提供しているので、希望の方は是非お問い合わせください。

最近はメンターもChatGPTで良いという話もあります。その方法については著書にノウハウを詰め込んであるのですが、ChatGPTではなくメンターである意味もまだたくさんあります。

人間のメンターは通常その業務のプロであることが大半です。つまり、実際の業務で起こりうるトラブルなどのあるあるやその対策を知っています。また、変化の激しい技術を使う場合は古い情報を伝えるChatGPTには限界がありますし、フリーランスのメンターであればプログラミングでの仕事の営業から案件受託するところまでサポートをお願いできることもあります。

このように人間とAIの得意不得意を理解した上で、うまく使い分けることが生成AIが当たり前になる時代の必須なスキルになるのかもしれません。

4.学習サービス

有名なところでいうと、「Progate」はオススメです。スマホでもパソコンでも出来る気軽さや、コードを書く体験をライトに出来るのでサクサク進む楽しさがあるという観点では圧倒的良さがあります。ゲーム感覚で初めると良いでしょう。

ちなみに「Progate Path」という実務経験を疑似体験しながら学べるサービスも展開しているので、他の学習方法で学んだ人も、実務経験を積む前に最後の腕試しをしてみても面白そうですね。


また、「Paiza」も個人的にはすごく好きです。こちらもProgateのようにコードを書きながら学ぶことができます。

さらに、ランクシステム付きのスキルチェック問題があったり、プログラミングエンタメという「セキュリティを学ぶためのハッカーゲーム」「プログラミングで推しと世界を救う?ゲーム」など、本当にゲームのようにプログラミングを学べる仕組みがあるので楽しい学習が可能です。

また、スキルチェックのランクによって、企業からスカウト(採用面接へのお誘い)が来たりするので、勉強していたらエンジニアに!?ということが現実に起きるサービスというのも魅力の一つです。


やり方さえ教えてくれればいいんだ!という人は「ドットインストール」が向いているかもしれません。

10年以上前からあるサービスで、僕もプログラミング初心者のときにお世話になったサービスなのですが、日々更新されているため最新の情報はもちろん、他のサイトにはないようなプログラミング言語やツールの学習コンテンツが揃っています。

5.スクール

え、生成AIのスクールだからプログラミング関係なくない?と思った方もいるかもしれません。

しかし、実は「タノメルキャリアスクール」には、現役のPythonエンジニアのPython講義が30講義以上。環境構築からPythonプログラミングの基礎、更に機械学習、ChatGPTのAPI連携の動画講義まで揃っています。

生成AIも学びながら、プログラミングも習得しようという意欲的な人も、どちらか学びたいけど興味の方向がどうなるかわからない人など、両方一気に学べるスクールは中々無いので、是非チェックしてみてください。

また、他社プログラミングスクールの個別の紹介については、どれも入会したことがなく、初心者の方に自信を持って評価できるほど各スクールの内容に精通していない為、割愛させて頂きます。

他社プログラミングスクールに関しては様々なサイトで比較、紹介されていると思うので、是非そちらでご確認ください。

最速のプログラミング習得に必要なこと

画像生成AIで作成したかっこいい画像

さて、ここまで向いている勉強法を探し、向いている勉強法ごとに具体的に何を使うべきか紹介してきました。

しかし、重要なのは「それを使ってどのように学習するか」ということです。どの方法を使っても目的は達成できますが、「どのように」プログラミング学習に向き合うか、どんな意識をして実施するかで成果は大きく変わります。

次は「最速のプログラミング習得」のために役立つ、行動や考え方を紹介します。

1.プログラミング学習を始める

何を言っているんだ。と思う人も多いかもしれませんが大切です。始める前に挫折する人が実は結構いたりします。

もちろんこっそりやってみたけど、無理だったのでやってないことにした人もいるのかもしれませんが、勉強し始めたと宣言した人の方がプログラミング習得率が高いのは間違いありません。

自分に向いている勉強法は多分これと決めたら、とりあえずやってみましょう。勉強法は向いてないと思ったら、いつ変更しても大丈夫です。

それでも勉強法に悩んでいて進められないという人は、とりあえず「ChatGPTと学ぶPython入門」で学びましょう!(著書宣伝)

2.とりあえず5分やってみる

「勉強し始めたけど続かない」「勉強する時間がない」このあたりは定番のプログラミング習得出来なかった理由だと思いますが、この2つは「とりあえず5分やってみる」で解決します。

最近はよく言われるようになってきましたが、人間がめんどくさいと後回しにしたくなるタイミングは「開始する前」なので、開始してしまうと案外勉強を始めることが出来たりします。

もちろん本当に無理なときはあるので、5分やってみて無理ならその日は休みましょう。そうして必ず毎日勉強する習慣をつけることで、無理なく継続することができるはずです。

3.全てを完璧に覚えようとしない

もちろん、知っておくべきことは抑えておく必要がありますが、それを判断し、取捨選択出来るのも大事な能力です。

例えば、スマートフォンアプリを開発するときに、スマートフォンOS(Android/iOS)内部の実装を理解して開発している人は少ないですし、使っているプログラミング言語自体の実装、使っているライブラリやフレームワーク内部の実装も全員が把握して開発しているわけではありません。

プログラミングよりも覚えることが少ないExcelでさえ、使う人が多いにも関わらず、全ての関数を把握し、機能の全てを理解している人は少ないのと近いかもしれません。

にも関わらず、初心者がプログラミングの全てを理解しようとしたらすぐに挫折することは想像しやすいのではないでしょうか。

それはそれとして、理解できない概念に気持ち悪さを感じることも理解できますので、その時は学習の流れを止めない程度にChatGPTに質問して、疑問を解消することがオススメです。

今回は「完璧に覚える」に言及しましたが、学習段階では「完璧なものを作る」こともよくある挫折パターンなので気をつけてください。

4.困ったときの対策を用意する

言われたとおりに書いたのにエラーが出た瞬間、もうどうすればいいか分からず絶望を感じる。初心者のときにこれを味わった人は少なくありません。

でも、エラーが起きても行う行動が決まっていれば「エラー出たからこのフローやらなきゃ」くらいの気持ちで絶望するほどではなくなります。

例えばPythonであればエラーが起きたらログの中から「Traceback」の文字列を探して、その下の文字列をコピーしてChatGPTに「エラーが起きたので原因を教えて」と送れば、一般的なシンプルなエラーであれば、原因と解決策を教えてくれます。

もちろんChatGPTも完璧ではないので、これだけでは解決できないことがあります。そういうときはGoogleで検索をしたり、技術共有サイト「Zenn」「Qiita」や技術特化のQAサイト「stackoverflow」で類似のエラーが無いか探して、エラーの解決方法を探しましょう。

こうしてエラーが起きたときの対応方法を予め用意することで、エラーの絶望によりプログラミング習得を諦める悲劇が減ることを祈っています。

5.戦略的撤退の勇気を持つ

もしプログラミング習得に魅力を感じなくなったときは、一度プログラミング学習を止めてみるのも良いかもしれません。もちろんどうしてもやらないといけない理由があったり、そうしたい気持ちがあれば石にしがみついてでも続けてください。

ただし、もしそうでないのであれば一度プログラミング学習から離れると良いかもしれません。そして、プログラミングを習得したいと強く思うタイミングで再度挑戦してみてください。

やる気のない状態で嫌々継続することは、プログラミングを嫌いになる可能性が上がるだけです。未来の自分がプログラミングを習得できる可能性さえ奪う可能性があります。

補足

このプログラミング学習時の考え方や行動については、下記Zennの記事も参照ください。重複する部分もありますが、より具体的に記載しています。

おわりに

今回はChatGPTを活用してプログラミングを学習する方法について書きましたが、それぞれ人間には異なる特性があるので万人に合う学習方法は無いと思っています。

著書では、「プログラミング学習で困ったときに使えるChatGPTのプロンプト集」を用意していたり、ChatGPTを活用することでメンターと一緒に学んでるかのような体験が出来るような構成にしていたりしますが、それもハマる人とそうでない人がいるでしょう。

このように一つの手段で全員に合う学習方法を網羅できないと思うからこそ、書籍とスクールという2つの手段を提供しながらも、今回は更にnoteでそれ以外の方法も提案させていただきました。

それでもおそらく無意識に、僕の得意な学習方法中心の提案になっていると思うので、僕と違うタイプの人のオススメも調べてみたり、より自分に近いタイプの人からオススメを聞いてみるのも良いかもしれません。

これからプログラミングを始める人は、書籍で上手く学べなくても、スクールで上手く学べなくても、落ち込む必要はありません。常に自分の特性を考えて、調べて、試行錯誤していくことで、あなたに合う学習方法が見つかるはずです。

変にオリジナルの学習方法に固執して拗らせる人もいますが、今は様々な学習の選択肢がありますので、是非それらを活用して、あなたに合う学習方法を見つけ、最速でプログラミングを習得してください。

書籍の宣伝

プログラミング関連の本を読んでいるとよく見かけるSEロゴが印象深い、翔泳社さんより「ChatGPTと学ぶPython入門」を出版させていただくことになりました!!!

別名義で技術系同人誌を書いたり、Kindleで公開したりとひっそりと執筆をしたことがあったのですが、同人誌と商業誌の違いを執筆する中で何度も強く感じさせていただきました。

本書は、ChatGPTを活用してPythonを学ぶだけではなく、ChatGPTを活用したプログラミング学習の仕方をサポートする「生成AI時代の学び方ノウハウ」を詰め込んだプログラミング入門書です。

そのため「Pythonを勉強したいわけじゃない」という人にも自信を持っておすすめします。是非ChatGPTが生まれたからこそ出来る学習法を体験してみてください。

また、下記「堀江貴文のChatGPT大全」には技術監修として参加しています。ChatGPTの活用イメージを得たい、ChatGPTを使いこなしている人たちにとっての当たり前を知りたいという人は是非読んでみてください。

スクールの宣伝

タノメルキャリアスクール実際の動画

冒頭でも書きましたが、ホリエモンこと堀江貴文さんと協業で運営している「タノメルキャリアスクール」ですが、ここで実際に使われているノウハウを詰め込んだ初心者向けのプログラミング入門書こそが、今回執筆した「ChatGPTと学ぶPython入門」となっています。

「タノメルキャリアスクール」は、プログラミングだけではなく、生成AIやビジネス基礎も含めて包括的に生成AI活用に必要なことが学べるスクールです。最初は「ChatGPTを活用してPythonを学ぶパイソンメイカー」というスクールだったのですが、市場の変化とともに日々進化しています。

プログラミング入門書だけではサポートが足りない、動画での講義や、講師に質問出来る場のある環境で学びたいという人は、「タノメルキャリアスクール」に是非入学してください!お待ちしています!!

サポートされたお金はサービス改善に活用させていただきます🔥