ジュニアエンジニアの人、AI後はこうしたらええんちゃう?という話
先日、たまたま、Microsoft のキャンパスで大学生の皆さんと話す機会があって、こんなことを聞かれました。
私は大学生で1年ぐらい前からエンジニアになったのですが、世の中は AI の世界ですけど、どうやって学んでいけばよいのですか?AI コーディングとかやったほうが良いのですか?
私なりの回答をシェアしておきたいと思います。たまたま、最近、これからは、AI が来るまでに、実際にプログラミングをゴリゴリやってきた層、つまり、シニアエンジニア以上の天下という話もきいて、まぁそらそうだなぁと思う一方、個人的にはこれからやる人もやりようによっては全然ええ感じにしかも早くなれるのではと思っています。
コーディングエージェントとやった方がいいか?
そらそうよ。もうごりごりにやった方が良いでしょう。だって、もう我々はそれでプログラミングをするのだから。でも、安心していいけど、私も昔は不安やったけど、実際やる様になったらほんまおもろいのよ。自分が考えたソフトウェアが週末で出来てしまう。しかもがっつり運用できるやつが。
将来の予想はむず過ぎて1ミリもわからないけど、自分としては、今後は、ソフトウェアエンジニアで、コーディングエージェントでゴリゴリ開発出来る「AIエージェントのマネージャ」みたいな人が物凄くバリュー高くなると思っています。というのも、実際に私はまず、やり方を学んで徹底的にやっていると、圧倒的に生産性高いし、自分が今までそんな余裕が出来なかった、ユーザビリティとか、リーンスタートアップ的な知識であるとか、そっちにも目を向けることが出来るようになります。
コーディングエージェント時代の良いソフトウェアに人は必要
つまり、結局良いソフトウェアを創ることが重要ですので、コーディングエージェント+人間=良いソフトウェアを作れたらバリューがあるということです。現在のところ「コーディングエージェント+しょぼい人」=クソアプリが10倍の速度で生産されるという感じです。
つまり、「人間」という変数で、良いソフトウェアになるかどうかが決定される要素がまだ残っているという事です。つまりそれが新しいエンジニアリングです。そして、それは日々アップデートしますので、今までのように学んでいく必要があります。
実際に始めている人は、それが簡単なノウハウということでもなく、日々研究が進んでいるエキサイティングな、学びの連続であることを知っているため、いままでプログラミングを楽しんでいた時と全く同じ、いやそれ以上の楽しみといってもよいかも。まさに低レイヤーのことをしなくてよくなっただけという新たな進化です。
ジュニアはシニアに追いつけるのか?
さて、それで、ジュニアの人がシニアにどう追いつくか?私的には全然追いつけると思います。なぜなら、本来従来のプログラミングであっても、経験のある人は、言語が Basic だったころから、インターネットのプロトコルを手で書いてた頃からやっていて、OSが出来てきて、高級言語、フレームワーク、クラウドそして、AIと進化してきています。
AIの前にこれらをこなしてきた人は無敵になるはずですが、無敵の人は常におじいさんではありませんでした。結局新しいことを継続的に学んでいかないと、直ぐに知識が古くなるのがこの業界だからです。一方基礎となるコンピュータサイエンス自体は長年変わっていないので、実のところ基礎的なことはかわっていないのです。進化したことを馬鹿にせず学んでいき、基礎となるコンピュータサイエンスで体を強くするという行為に変わりはないと思います。
たしかに、今はシニアとかの方が今すぐ10倍の生産性の恩恵にあづかれるので、有利ですが、勉強しなければ、その10倍の生産性はすぐに役立たなくなります。
どうやって勉強するべきか?
実は、この Post Coding Agent の時代には「学び」にとって最高なことがあります。エンジニア一人が、週末に、本格的なシステムを実際にCI/CD 含めて、テスト、リリースまでの全ての工程で体験できるということです。AIのお陰で。
AI と一緒でも、結局自分はそれらのディシジョンメーキングをする必要があるので、めっちゃくちゃ知識が増えます。ただし、理解をスキップするのではなく、徹底的に理解します。
例えば私は、AI に勝手に考えてもらう、作ってもらうではなくて、自分がやりたいこと、こだわりをAIに入力しても、AI にかならず提案書や、説明書を書いてもらって(しかも日本語)で私理解しやすくしており、そこでもわからないことはAIと一緒に調べます。私が 週末に何か新しいものを毎週作る様になってからむっちゃくちゃいろんな知識が増えたのを感じます。自分が理解するために、小さなアプリを手で書いてみるのもよいでしょう。これはボトムアップな方向性です。
これらは、ボトムアップな方式ですが、一方、コンピューターサイエンスとか、設計のパターンや考え、インフラ、リリースの考え方などの概要はトップダウンな知識として、例えば本を読んだり、動画で学ぶのは、とても良い事だと思いますし、こういうのは学生の方が時間を使えます。
まとめ
今はどう考えてもゴリゴリに便利なコーディングエージェントですら、未だ使ってない人もいるぐらいなので、さっさと手を染める方が圧倒的に有利になりますし、これを学びのツールとして、毎週すべてのフェーズの体験を出来るとか最高過ぎるので、是非これからソフトウェアエンジニアリングを始めたい人も、エンジョイしてもらったらと思います。大丈夫。大抵の人は社会人になったら努力しないので、それだけでもうゴリゴリですよ。


コメント