見出し画像

AI 時代にプログラマが持ってたら良いだろうたった一つの考え方

 私は、アメリカのシアトルでソフトウェアエンジニアをやっていますが、AIに起因するソフトウェアエンジニアの大量レイオフがあったり、Visual Studio Code Agent などの エージェントがコードをゴリゴリに書いていく様を観て、とても不安に感じている人も多いのではないだろうか?
 自分もそうなのだが、社内で行われたMLのカンファレンスで決定的な意見を聴いて、自分もそうやなぁと深く思ったのでシェアしたいと思います。

デベロッパと思う事

それはすごく簡単で、自分を「プログラマ」ではなく「デベロッパと思う事」です。AI の変化は破壊的ですが、よく考えると程度の差こそあれ過去に起こっていた、コンパイルのためにコード書かなくても良くなったとか、アセンブラ書かなくてよくなったとかの変化と同じことが起こっているに過ぎません。
 自分の事を「プログラマ」と思っていると不安に思うかもしれませんが、そもそも私たちはソフトウェアを開発したい「デベロッパ」であって、ソフトウェアを作るという視点に立てば、同じように開発に必要なステップが自動化されているに過ぎません。
 そう考えると、あまり過去と違いはなくなるので、勉強したり試したりして、時代に合わせてよいソフトウェアを作る技術を磨き、失敗を重ねて強くなれば良いので実はそんなに変わりもありません。

  自分は自分でいまいちプログラマとしてのセンスが無いと思っていましたが、どうやったら技術力が上がるかばかり考えていましたがそういうところかもしれません。そうではなく、良いソフトウェアを作れるようになると考えて実際に作りあげることが何より重要なのだと思います。ミュージシャンがテクを目指さず、音楽を作ることに集中するのと同じ考えかもしれません。

レイオフで起こっている事

 さらに大規模のレイオフも、実はAIによって、社員の首が切られているのではなく、会社が方向転換しているために、それに合わせた人材に入れ替えていると言っても良いでしょう。これはクラウドの時にも起こってたことですね。どうすれば良いかというと、そっち側。つまり AI で開発出来るデベロッパになれば企業が求めている人材になりやすいというわけです。

結局専門知識は強力

 最後におまけを一つ。AIの時代でも結局専門知識がものをいうと思います。プログラミングと設計ゴリゴリに出来て、センスの良いソフトウェアを書いてた人は、Vibe Coding を使って1夜にして素晴らしいプロトタイプを作っていました。
 LLMを使ったアプリの開発を実際にしていると、Stabilize が一番難しかったり、LLMが簡単にあほにゃんにゃんになったり、Stable vs Creative のタスクで、何を LLM にやらせて、何を Program にやらせるかとか結局のところゴリゴリにノウハウが必要になってくるわけです。
 実装したら、結局分散システムの知識やデプロイメント、テストの知識が必要になってくるわけで、くっそど素人がVibe Coding でできるのはせいぜいプロトでしょう(しかしそれでも世界が進歩して素晴らしいですね!)
 必要とされる専門知識は常に時代によって変わっていきますが、今までのように、それを継続的に勉強して試し、自分の血肉にしていけば、特に恐れることはないのではないでしょうか?ソフトウェア開発を相変わらずエンジョイしましょう!

 なぜか最近 Kindle の順位がまた上がってきています。なんでやろ。ありがたいことやわ。


いいなと思ったら応援しよう!