ソフトウェアエンジニアはAIに仕事を奪われてしまうのか
AIがコーディングを支援する「GitHub Copilot」は日々の開発に欠かせない存在になってきている。FastLabel 姉川純一朗氏は「弊社でも即座に導入し、開発生産性の向上に大きく貢献しています」と話す。これ以外にもAIを活用した開発支援ツールが次々に登場し、すごく便利ではあるものの、ふとこんな疑問が頭をよぎったりしないだろうか。「このままではAIにソフトウェアエンジニアの仕事が奪われるのではないだろうか」と。
姉川氏はAIについて「銀の弾丸ではない。究極のサジェストだと感じています」と話す。AIが出力する「サジェスト」を自分が扱う文脈のなかで、正しく理解し、検証し、適切に採り入れていく必要がある。またAIに質問を投げかける時は要件を正確に言語化し、プロンプトに落とし込む必要もある。
先述の「エンジニアの仕事がすべてAIに奪われるか」というテーマについて、姉川氏は「奪われることはないものの、大部分が代替されるとは感じています。そのためAIとうまく付き合っていくスキルがソフトウェアエンジニアとして生き残るために必要になると考えています」と言う。具体的にはどうすべきか、より詳細に見ていこう。
U30のソフトウェアエンジニアの生存戦略
戦略1:使っている技術を正しく理解するスキルを身につける
ソフトウェア開発では、まずは技術を学んでから開発していくため、技術を正しく理解していることが前段階にあった。しかしAIがコードを提案してくれるようになると(見た目がそれっぽいので)、そのまま受けいれてしまいがちだ。
技術的に高度になってくると、ますますAIのサジェストを鵜呑みにしてしまうかもしれない。AIがサジェストしてくれるようになればこそ、今まで以上に技術を熟知しておく必要がある。
姉川氏は「当たり前ですが、理解できない部分があれば、ChatGPTに再度質問する。初心に戻って公式ドキュメントを参照する。あるいはGoogle検索や、他の開発者に質問するなど、従来と変わらずに進めていく必要があります」と話す。
続けて「AIのサジェスト内容を正しく理解し、取り入れていいか判断できるところが今後のソフトウェアエンジニアの価値で差が出てくる部分ではないか」と姉川氏。
戦略2:要件を正確に言語化し、設計に落とし込むスキルを磨く
今後ますますAIが発達することで、狭義の実装ではほとんどの部分をAIに委譲することになるだろう。GPT-4はGoogleにおけるソフトウェアエンジニアの役職のL7相当とも言われている。この優秀なソフトウェアエンジニアとうまく付き合うために「AIに要件を正確かつ適切に伝える言語化能力、設計能力が重要になります」と姉川氏は言う。