AIの時代にエンジニアとして何を磨くか
AIの時代にエンジニアとして何を磨くか
実装はAIが進め、一次reviewもAIが行い...
実際のところこの半年間はAIで開発し、
そこに対して自分が修正が必要と判断した箇所は修正、
AIにreviewさせてテスト回して...
reviewも人間の確認はまだ必要だけれど、わりと近い将来、
それすら無くなるだろうと思っています。
「 AIが当たり前になったこの時代に、エンジニアとして自分はどこをどう磨いていくべきなのだろうか。」「どうあるべきなのだろうか」
自分なりに思うことを整理したので、短くまとめておく。
私の考えなので、もしこれをみていただいた方で違う意見があれば聞きたいですので、
ぜひコメントください( ・∇・)/:.。. .。.:・゜゚・*☆
AI時代にエンジニアとして価値を上げる3つの力と、その土台になるもの
エンジニアの価値は "要件定義"に寄っていくと考えていて、
そのために、より重要になるのは以下3つだと考えている。
何を作るべきか? 将来の展望を見据えてその設計は妥当か?
将来の変更や運用に耐えるか?
はたまた、それら踏まえてオーバーエンジニアリングなのではないか?
実装の速度が上がるほど、この判断の差がそのまま成果の差になる。
その判断を支える土台として以下二つの力が大事だろうと思う。
判断するための基礎知識
AIがコード書いてくれるから「基礎が不要、AIの使い方や仕組み作り磨こう」ではなく、
むしろ逆で基本的な知識こそが"意思決定の武器"として重要になる時代だと思う。
とはいえAIの活用についてはもちろん学び続ける必要はあるのでどっちも大事だと思うのですが、
偏らないようにしたいですね。
コミュニケーション能力
コミュニケーション能力に関しては、
ドメイン知識をコードに落とし込むために(落とし込ませるために)もそうだし、
顧客・ベンダー・チームとの対話、すり合わせ、合意形成の中でしか"本当の要件"
その先にある実現したいこと(未来)は出てこない。
まあそれもそうなのだけど、AIが出力を良くするためにそもそも必要な入力情報を落とし込めるかというところでもある。
設計も企画も、結局は人間同士の共同作業だ。
ここに関してAIも設計できるのではないか?はあるかもしれないが、
何を最適化するか(目的)と何を守るか(制約)は、利害関係者の合意で決まる。
目的と制約が曖昧なままなら、AIの設計は“それっぽい最適化”にしかならない。
だからコミュニケーションは、ドメイン理解と設計の土台になる大事なスキルだ。
責任は人間であることには変わらない
AIは実装し、テストし、レビューまでやる。
優秀なチームメンバーのように見える瞬間もある。
AIは成果を出しても、責任を取らない。
(責任を取れる未来も来るのだろうかという問いはまた今度で...)
AIがAIをレビューし、自動修正し、テストして、マージする未来が来ても、
最後に残るのは
- 何を作ると決めたのか
- どのリスクを許容したのか
- なぜその判断をしたのか
これらは人間の判断になるし、責任だと思う。
AIが高度化するほど、人間の責任は軽くなるのではなく、むしろ重くなる。
そしてその責任を支えるのが、ドメイン理解・設計・企画、
そして基礎知識とコミュニケーションだ。
そこにしっかり責任を持つために学び続け上記のスキルを磨いていくのだと思う。
最後に:まとめ
AIが実装を速くする時代に、
エンジニアの価値は「実装力」から「決定力、要件定義」へ移るだろうとは思うが、
もちろん実装力がいらなくなるという話ではなくそこが当たり前のスキルとも言えるのだと思う。
基礎知識含め知識は磨き続けるとともに、
より要件定義の力と最初の設計力が試されていくだろう、自分自身磨いていきたい
と思っています。
この凄まじい変化を楽しみながら、よりエンジニアとして成長していきたい。
Discussion