僕は学園祭の実行委員会でWebサービスの開発と運用をやっている。その性質上、多くの人が開発をやらないと間に合わなくなって困るので、新人の教育、もっと言うならプログラミングをこれから始めるような初心者の教育は必須である。
でも、最近思い始めてきた。
『新人にプログラミング教育するの、無理じゃない?』
自分の怠惰なのかもしれない。もっと上手くできる人はできると思う。
でも、言い分を聞いてほしい
理由① 教える側と教わる側の考え方にギャップがある
俺達は雰囲気でプログラミングをしている。
だから、技術力とは場数を踏むことでやっと向上するものだと知っている。
でも、これからプログラミングを学ぼうとしている人は、そうじゃない。
ここにギャップがある。
教える側『プログラミングとは自分でコードを書いて始めて成長するもの。プログラミングを始めるにあたって必要な最低限の知識は教えるが、そこからは自分で学んで成長してほしい』
教わる側『プログラミングは手取り足取り教えてもらうもの。自学はせいぜい復習程度で必要なことは全て教えてもらえるはず』
このギャップは絶対埋まらないと思う。
俺達が本当に教えるべきものは狂ったようにZennで技術記事を読み漁り、公式ドキュメントを開いて新しい概念を学び、エラーをコピペしてGoogleに貼り付けるジャンク精神だったのかもしれない。
理由② プログラミングの座学がつまらない
プログラミングの座学ほどつまらないものはない。
これは教わる側ももちろんつまらないし、教える側はもっとつまらない。
教える側にとってはわざわざ言語化するまでもないような基礎知識を全部詰め込んでからやっとコードの説明になる。苦痛でしかない。
自分も長文の解説を書いて講習会までやったけど、結局初心者にとってはよく分からなかったで終わってしまった。どうすれば良かったんだ
理由③ AIコーディングツールが優秀すぎる
AIコーディングツール(Cline、Cursor、Windsurf、GitHub Copilot Agent、Claude Code)がプログラマたちの魂を震わせてから少し経った。その威力については散々語られているので言うまでもないように思う。最近だと「Vibe Coding」という完全にLLMに任せてしまう開発も話題らしい。
自分も開発に結構使っていて、GitHub Copilotのclaude-3.7-sonnet(じきに改悪されるらしいけど)とClineでgemini-2.5-proのAPIを叩くのを併用している感じだ。
性能面は革命的に良い。「こうしてくれ」と指示するととんでもない速度でコードを書いて、実行エラーも自分で修正できてしまう。
いや、良すぎるといったほうがいいのかもしれない。
コイツらが優秀すぎるので新人をわざわざ育成するモチベがない。
今までは人手が欲しくて育成してた。でも今じゃ「別に無理して育成しなくても・・・」と感じている自分がいる。
AIが新人用のタスクを巻いてしまう問題
残念ながら、(少なくとも現時点では)AIコーディングツールは要求される全てのタスクを完璧にこなすことは難しい。
AIが得意とするものは「比較的規模が小さく」「深い理解を必要とせず」「方針が明確」なものだ。
お分かりだろうか。これは本来新人に任されていたタスクである。
これらのタスクは新人にとってプロジェクトについて理解しつつ、簡単なタスクをクリアする達成感と技術力向上への足がかりとなる役割があった。
もしもAIがこれら全てをやってしまったら新人はどこで成長するのだろう。
「人間」というボトルネックが消えていく
どれだけ優秀でも、人間の肉体と時間という物理的成約が存在する以上、こなせる業務量には限界がある。だから仕事が増大していく中で、誰かに任せるという作業が発生していた。
しかし、AIのコーディングスピードが全てを塗り替える。もはや任せる必要はない。自分でなんとかできる。効率は今までの数倍クラス。
少なくともうちくらいの規模感なら多分AIさえいれば数人で開発運用は回せる気がする。
「新人を教える」ということに、未来を見出したい
Geminiにこんな質問をした。「これからの時代の新人プログラマはどのように生きていくのでしょうか?」と。
Geminiの答えはこうだった。
これからの時代の新人プログラマーは、単にコーディングができるだけでなく、「AIを駆使して、より早く、より質の高いソフトウェア開発を行うための、高次の思考力、問題解決能力、システム理解力、コミュニケーション能力を持つ人材」として育成される、あるいは自ら成長していく必要があります。
水準が高すぎる。
一体どれほどの時間という名のコストを注がなければならないのか。俺達にだって他にやるべきことはあるんだぞ。
でも、僕は経験者以外お断りなクローズドな空間にはしたくない。そこに未来はないって分かってるから。
だから今日も未だに「新人教育」と向き合っている。
嗚呼、プログラミングの神よ、我らを救い給へ。