
チェックの価値
友人と話していたときのこと
「今はAIがプログラミングをするので、自分はコードを書く人というより、コードをチェックする人になっている。でも、その価値がなかなか理解されない」
先日、エンジニアの友人と話していたときのことです。
エンジニア界隈のみならずキャリアコンサルタント界隈でも同じなので、体感的にもわかります。
AIが短時間でコードを書き、実際に動くプロダクトが作れることは事実でしょう。
それだけを聞けば、エンジニアの仕事は楽になったように思えますし、場合によっては、「AIがつくったコードを確認するだけでしょう」と見られてしまうかもしれません。
しかし、私は(さしあたり、超最先端テクノロジーを取り扱う場面以外においては)そこに価値があると思います。
コードがあるのと使えるは違う
AIは指示をすればすぐにコードを出してくれます。
それもアルファベットの羅列だけでなく、私たちが分かりやすいように画面表示までしてくれています。
しかし、コードが生成されたことと、安心して使えるシステムが完成したことは、全く異なります。
そのコードは、本当に要件どおりに動くのか、とか、将来の変更にも耐えられる設計になっているか?こうしたことを判断するには、専門的な知識と経験が必要です。
AIはコードを生成できますが、AIが生成したコードを採用してよいかどうかは、誰かが判断しなければなりません。
エンジニアのみならず、キャリアコンサルタントも同じだと思います。
チェック仕事の本質
コードを書く仕事には、目に見える成果があります。
何を書いたのかがわかる、具体的なものなのだからです。
一方、チェックする仕事の成果は、簡単には見えません。
丁寧に確認した結果、障害が起きなかった。
後から大きな修正が必要にならなかった。
エラーも報告されなかった。
何も起きなかったからこそ、周囲からは「何もしていない」ように見えてしまいます。
しかし、何も起きなかったのは、何もしなかったからではないと思っています。
誰かが問題を見つけ、判断し、事前に止めていたからではないでしょうか?
AIが速くなるほど、確認する人が必要になるのでは?
話を元に戻すと、AIがコードを書く速度は、人間よりもはるかに速いです。
だからこそ、確認する側の重要性は高まります。
迅速かつ大量につくられたコードに問題があれば、その問題もまた、大量かつ迅速に広がってしまうからです。
AIによって、コードを書くための負担は小さくなるかもしれません。
一方で、そのコードの品質を保証すること、安全性を確かめること、事業に与える影響を考えることの重みは、むしろ大きくなります。
エンジニアは、単にコードを書く人ではありません。AIの出力を技術的に評価し、「これは使える」「これは危険だ」と判断する人でもあります。
さらにいえば、その判断に責任を持つ人です。
AIがAIをチェックする時代も来るのかもしれませんが、どうなのでしょう?
つくった量では測れない価値
これから、エンジニアの仕事の一部は、確実にAIへ移っていくと感じます。
しかし、それはエンジニアの価値がなくなるという意味ではありません。
価値の置かれる場所が変わるのです。
自分の手でどれだけコードを書いたか?から、AIが書いたコードをどれだけ正確に評価し、安全に世の中へ出せるか?へのシフトだと思うのです。
ただ、この変化には一つ問題があります。
判断や確認の価値は、外から見えにくいことです。
言語化だ!
だからこそ、エンジニア自身も「チェックしました」だけで終わらせず、何を確認し、どのようなリスクを見つけ、どんな事故を防いだのかを言葉にする必要があります。
これはすなわち、言語化です。言語化のトレーニングには、しごおもラボがおすすめです。
同時に、仕事を評価する側も、生成されたコードの量だけではなく、品質を支えている判断に目を向けなければなりません。
これから価値を持つのは、速く作る力だけではありません。
正しく確かめ、適切に判断し、責任を引き受ける力。
友人が話していた「コードをチェックする人」という仕事は、今後のエンジニアにとって、中心的な仕事になっていくのではないでしょうか。