生成AIが凄いことになってきました。完全にプログラマーの仕事は激変していくでしょう。そんな状況で今僕が感じている危機感と覚悟について書いてみます。
ソフトウェア業界は、多重下請け構造が長年問題になってきました。設計する「上流工程」と実装する「下流工程」まで何段階かに分けて、大手ITゼネコン・SIerが上流工程を担当してめっちゃ高い報酬を受け取り、実際に手を動かして実装する下請け企業は安く買い叩かれる。僕はかつて多重下請け構造の末端で働いていて、いろんな嫌な思いをしてきました。
特に思っていたのが、イマイチな上流工程エンジニアに対する「まともに実装できないくせに、偉そうに設計だけするんじゃねぇよ」という怒りでした。「コードを書ける人間」がいないと成り立たないのに、下流工程のエンジニアがすごく軽視されている状況も健全ではないと強く思っていました。
これは僕自身にも当てはまって、一度「元請けで完全に新規からシステムを設計〜実装」する仕事のリーダーを任されたことがあったのです。そのときは僕が設計して他のメンバーが実装するスタイルだったんですが、僕自身の経験不足により筋の悪い設計をしてしまった部分が多々あり、「ちゃんと設計するには、まずちゃんと実装できるエンジニアにならなければダメだ!」とその時は思ったのです。その後、プログラマーとして思いっきりコードが書ける会社に転職し、僕自身の「実装力」はかなり鍛えることができました。
時代も変わり、SNSで流れてくる広告では「エンジニアに転職して年収1000万円!」みたいな「エンジニア(=プログラマー)はかっこよくて儲かる仕事」という世の中になりました。が、その時代は生成AIによって終わりかけています。そんな空気が何となく感じられてきた2023年に、たまたまフリーランスになりました。そこから2年近く経って、いよいよ本気でヤバいと僕自身も思うようになりました。
かつて「コードを書ける人間がいないと成り立たないのにすごく軽視されている」と怒りに燃えていたわけですが、もはや「コードを書ける人間がいなくても成り立つ」時代に片足を突っ込んでいるんですよ。コードを書くのは楽しい。楽しんでコード書きたい人はこれからも自由に書けば良い。でもそれを本業としてお金を貰えるかというと全然別問題で、一周回って「上流工程が非常に重視される時代」が来てしまうんだなぁ・・・と思っています。
かつて筋の悪い設計をしてしまった自分に対して「まずは実装力を鍛えよう」という判断をしたのは、当時としては正しかったと思います。ただ、それなりの実装ができるようになった後に、上流工程の技術力を鍛える努力を自分はどれくらいしてきただろうか?2023年の退職エントリ で上流工程の重要さについて熱く語っていたくせに、結局この2年間は実装力ばかりで勝負してしまった気もしています。実装力さえあれば、小規模なシステムは力技でサクッと作れてしまう。でもそれで「設計力・プロジェクト遂行力がある」と思い上がってはいけない。大規模なシステムは、小規模なシステムのやり方の延長では絶対にうまくいかない。
生成AIが普及した近未来の開発現場は「小規模なシステムは、プロンプトに雑な指示をだしてもサクッと作れてしまう」「大規模なシステムは、丁寧に設計してからプロンプトに指示を出さないとイマイチな作りになる」「いずれにしても人間がコードを書くことはない」となるのでしょう。
2年前の時点では「現状のスキルでも十分やっていけるけど、自分がやりたい方向性はもっと別だ」みたいな思考回路でした。でも今は「現状のスキルでは時間の問題で食っていけなくなりそう」と真剣に危機感を覚えています。
実装を自分でしない前提で設計し、ドキュメントを書き、マネジメントをするという行為がとても苦手でした。上流工程のスキルが高まったとしても、あくまで「設計をちゃんとしてから、自分で実装もする」というスタイルでやっていくつもりでした。でもきっと「自分で実装する」は趣味以外では許されなくなるのでしょう。寂しくはありますが、時代の大きな流れに抗っても仕方ありません。
「実装をAIにさせる前提で設計し、ドキュメントを書き、AIをマネジメントする」ことが出来るエンジニアが生き残ることは間違いなさそうなので、いよいよ僕も、本腰を入れてその領域に取り組む覚悟を決めました。そこで最重要なのは小手先の「プロンプトエンジニアリング」なんかではなく、ちゃんとした「設計力」「パートナーに仕事を依頼する能力」だと思います。それが出来る人間は、AIへの指示出しも自然にうまくできるでしょう。逆に基礎がなってないのにAIとだけ仲良くなろうとしてもきっと大したことはできない。AIの進化は今後も続くので、小手先のプロンプトなんて近い将来きっとどうでも良くなります。僕の覚悟は「AIの使いこなし方に本気出す」よりも「上流工程の技術習得に本気出す」という覚悟になります。
なんとなく現状維持を続けて茹でガエルなっていくことを避けるために、一旦ブログで宣言してみました。