この記事は、『50代半ばのじいさんが、AIを目の当たりにした『大学に入ってから自分の無力感がエグい』という大学生にかけることば』と『AI時代のコードレビューは“理解”ではなく“責任”を見る』との続編になります。
AI時代に入り、私も当然ですが、『遅れないようにしよう』と思いながらも日々精進しているのですが、
『AIで書いたコードを、
細部まで理解できていないままコードレビューに出すのは、
職場でも最も信用を落とす行為なので、気をつけましょう笑』
この発言ですが、要はプログラミングスクールをやっている方の発言でした。これは今流行しているSNSのマーケティングで、愚かにも私はプログラミングスクールの広告にマジレスをしたということになります。ということで、文章はそのまま残しますが、投稿へのリンクは外します。これは『宣伝を拡散しない』ということもあるのですが、これから「プログラミングスクールではなくAIから学べ!」という話をするので、営業妨害をする意図ではないことを明確にするためということもあります。
プログラミングスクールは最近特に、雨後の筍のごとく出ており、SNSを使って素人から高額な授業料をもらっているようです。そういった中には『35歳からのSESについて考える』でコメントしている通り『IT業界の実態を良く知らない人達をとりあえずSESに放り込んで搾取する』という実態があります。これらの運営者は
スクール → SES
というルートを確立しており、粗製乱造で商品(エンジニア)を作り会社へ送り込むという、エンジニアをモノ扱いして商売を行っており、IT業界への入り方としては注意が必要(あまりお勧めできない)です。ちなみに、上記のSNS発言の会社が、このようなことをやっているかどうかは解らないということは改めて付け加えておきます。
ちなみに、私ですが、高校生相手のプログラミングスクールをやろうかと考えておりました。それなりにリサーチを行い、「情報の教科書」を購入したり、大学入学共通テストを受けたりしました。点数ですが、70点ほどでした。意外に低いと思われるかと思いますが、細かな用語の定義については勉強しなければならないのでこんなところかと思いますが、ちなみに情報の科目で満点をとってもやはりそこは「大学入試」レベルと言えます。私としては、データ分析よりも、もう少しプログラミングの比重が高い方がよいのでは?と思わなくもないですが、大学入試試験ということならこんなものかとも思います。
実は英語も70点ほどでした。こちらも意外に低いと思われるかと思いますが、大学入学共通テストの英語で70点以上をとれるのなら、ほぼ間違いなく英語を使って仕事ができるかと思います。ただし・文章は全部読んだ上で回答する。リスニングは相手の言うことを分かった上で回答する。という条件がつきます。巷には大学入学共通テストのテクニックが存在しますが、それを使って高得点をとっても生きた英語ができるかどうかは怪しいです(もっともどんな回答方法をやっても満点をとれるのなら、英語に関しては実力があるかと思います)。
話を戻しますと、ここまでリサーチをしたのですが、今はプログラミングスクールをやることは中止しています。
なぜかというと、2025年現在、本人にやる気があればプログラミングスクールに通わなくても、「AIに聞けば」色々教えてくれるようになった。
というのが大きいです。最近ですと私の場合は、
ScratchとRustの言語のチュートリアル、llama.cppのコードの読み方(およびLLMの考え方)についてChatGPTに聞いて勉強しています。
llama.cppというのはローカルAI(LLM)の実行ツールで、つまり自宅のマシンでChatGPTのようなAIサーバーを立てられるものになります。その内部構造について知りたいとき、昔ならコードを手当たり次第に読んでいたのを、今ならChatGPTに『C++は解るのでポイントを教えてくれ』と言ったらそれなりの指針を返してくれます。
https://chatgpt.com/share/69537291-28d4-8006-97c9-a832786fbd92
一往復だけのやり取りを載せていますが、かなり整理されたものが出てきています。
プログラミング初心者の方は上の文章を読んでもわからないかと思いますが、初心者の方は『私はプログラミングの初心者でまったく一から勉強したいのですが、どうすればよいでしょうか?』とすれば、ChatGPTは上手に相手をしてくれます。
https://chatgpt.com/share/69537347-092c-8006-843d-e774b22972fb
ここで、重要なのは返された言葉の意味が解らなければ質問すれば良いです。例えば、「C/C++やJava」が解らなければ「C/C++やJavaとは何ですか?」とか「言語とはなんですか?」と聞けば回答を出してくれます。
「ChatGPTのような生成AIが教師の代わりになれるのか?」という疑問が沸くかと思いますが、少なくとも私はChatGPTとのやり取りで「プログラミングスクールはやめておこう」と思うようになりました。それほど信頼性が高く、初心者が高額なお金を出してスクールに行く価値があるのか疑問に思うほどです。少なくとも、私はお金を取れるとは思えません。
もちろん注意事項もあります。ChatGPTやGeminiが信頼できるというのは『ネット上に溢れている情報で、特に初心者に対しての情報は、多くのチュートリアルがあるのでAIはそれを模倣している」ということが言えますが、あまり一般的でないことや初心者あるあるでない、ややこしい質問をされると、AIも混乱するでしょう。そして一度混乱したAIを元に戻すのは、初心者だけでなく中級、上級者にとっても難しいかと思います。(この場合の有効な手段は、最初からやり直しになりますが、今までのやり取りが消えてしまうので、それはそれで面倒です)。
『人間に寄り添いすぎる面』あります。本来行うべき「厳しい意見」というのを避ける傾向にあります。AIとの距離感の作り方はあらゆることに言えますが、一つの共通課題かと思います。
そうはいっても、プログラミングというのは最終的に、コンピューターで動くものを作るという行為になります。つまり「動くものができるかどうか」ということで検証可能です。AIが間違っていたとしても、動かないことで間違っていることが分かります。そこで、「これ動かないんだけど」とAIに聞けばよいです。場合によっては、何度質問しても、一向にバグが直らないことがありますが、その場合は、仕切り直しをしたり、違う課題をやってみる、掲示板で聞く、自分で考えてみる、などをやってみることになるでしょう。
このやり方の最大の長所になるのですが、このようなプログラミング学習が、そのまま「バイブコーディング(AIによるコード生成)」に移行できるというところです。特に、AIへの「動かない」というフィードバックはそのままバイブコーディング時代のデバッグに通じます。
ちなみに、ネットでは「バイブコーディングで爆速開発!」とかありますが、私自体は現時点ではバイブコーディングに懐疑的です。プログラミングに限った話ではないですが、実際にAIが混乱する様子を観測していると現段階でのバイブコーディングについてはまだ様子見を行っています。また私は独自のプログラミング言語を開発している関係でバイブコーディングを行うことができないということもあります。
もっとも、まったくやらないわけにはいかないので、ブログネタでやるほか、Youtube上ではバイブコーディングを行っている様子がアップされていますので良く見ています。
すこし話を戻しますと、よく言われるプログラミング初学者に対しての質問で「作りたいものをはっきりさせる」というものがあります。つまり目標を持ってプログラミングすると覚えが速いということです。これ自体は否定はしませんが、私自身は「コンピュータが好きだからプログラミングの勉強をした」ということになります。先ほどのChatGPTとの対話では、「何のためにプログラミングを学ぶか」について、ChatGPTは画一的な動機ではなく、様々な動機を提案しています。これはこれで教師としてはある意味人間を超えているとも言えます。人間の場合、どうしても個人の考え(哲学)が入ってしまいます。プログラミングスクールで学ぶ場合、学習者は講師の個人的な考え(哲学)に影響されます。ただしこの哲学は強制されるものではなく、あなた自身が自主的に追及するものになるかと思います。
私の場合は「コンピュータが好きで仕組みを理解したい」ということでしたが、このやり取りを掲載しておきます。
https://chatgpt.com/share/69550def-2290-8006-a2c5-3f4d560915f6
もちろんですが、AIによる自己学習でも壁にぶち当たることがあります。AI相手や掲示板なども使ったが上手くいかず、どうしてもプログラミングをやってみたいという場合は、プログラミングスクールに行くことも有効な手段だと思います。