AIが壊したエンジニアの成長装置
エンジニアという仕事の根っこには、ひとつの事実があります。
マシンは嘘をつきません。
文法を間違えれば、コンパイラは止まります。ロジックを間違えれば、プログラムは書いたとおりに、つまり間違ったとおりに動きます。「正しく書いたはずなのに動かない」夜に、正しく書けていないのは、自分です。原因をたどると、たいてい自分に戻ってきます。
これがどれだけ珍しい環境かは、ほかの仕事と比べると分かります。
上司に詰められたとします。その根拠は、たいてい曖昧です。上司の機嫌かもしれないし、社内の事情かもしれないし、伝え方の行き違いかもしれない。「あの人がわかっていない」と思える隙間が残っています。人が相手の仕事には、人のせいにできる余地があります。そもそも人は、指示を一行ずつ厳密には書きません。どこかで汲み取ってもらうことを期待しています。
コードには、それがほとんどありません。マシンは汲み取らないし、忖度もしないし、機嫌もない。動かないものは動かない。だから動かないコードの前に座った人は、遅かれ早かれ「間違っているのは、自分かもしれない」と思うところに行き着きます。
自分の認識を疑う力が、こうして育ちます。マネジメントでは「できていないことを、本人にどう気づいてもらうか」がずっと難しい問題であり続けていますが、エンジニアはこれを毎日、マシンから突きつけられてきました。
動かないコードの前に、そろっていた3つのもの
動かないコードの前で過ごした時間には、3つのものがそろっていました。
ひとつ目は、揺さぶりです。いまの自分の理解では手に負えない、という体験のことです。動かないコード、通らないテスト、レビューでの指摘のように、容赦のない返事が毎日のように返ってきます。
ふたつ目は、支えです。動くか、動かないかの結果がはっきり返ってきます。直せば動くし、動けば前に進んだことがわかります。小さく「できた」が積み上がるので、「自分はやれる」という感覚が残ります。叩かれるだけなら、人は折れます。折れずに済んだのは、結果がすぐ返ってくる環境が支えになっていたからです。
みっつ目は、振り返りです。かつては「なぜ動かないのか」を延々と考える時間がありました。デバッグはコードを疑っているようで、実は自分の理解を疑っています。自分の頭の中を、いったん外に出して眺める練習になっていました。
揺さぶられて、支えられて、振り返る。人の見え方が大きく変わるときは、この3つがそろっていることが多いです。逆に言うと、どれかが欠けると育ちにくくなります。揺さぶりがなければ、いまのままで済んでしまいます。支えがなければ折れます。振り返りがなければ、同じ体験を何度しても素通りします。
エンジニアの仕事は、この3つを最初から含んでいました。誰かが用意したわけではありません。仕事のかたちそのものが訓練でした。
だからエンジニアは、段階を飛ばせませんでした。理解していないコードは動かないし、動かないという事実は隠せません。わかったふりが通じない場所に、ずっと置かれていました。多くの職場では、わかったふりをしてもばれません。ばれないので、飛ばせてしまいます。飛ばした分は、ずっとあとになって、もっと上の立場で、もっと大きな形で返ってきます。
もうひとつ、エンジニアの仕事には特別な体験がありました。自分で作ったものを世に出して、人に触ってもらう体験です。
作ったものには、自分の考えがそのまま入っています。世に出ると、褒められもするし、文句も言われます。バグ報告は「あなたの考えに抜けがある」という知らせで、使われないプロダクトは「あなたの仮説は外れていた」という結果です。作ったものへの反応は、そのまま自分への反応になります。作ったものを通して、自分のことがわかるのです。
そして大事なのは、当のエンジニアがこれを訓練だと思っていなかったことです。ただ困っていて、ただ動かなくて、ただ夜になっていました。訓練していると思わずに、訓練できていました。
器は、こうして「勝手に」大きくなっていました。
AIが壊したもの
AIは、器が「勝手に」大きくなる環境を壊しました。
正確には、壊したのは一カ所です。ただ、その一カ所が肝でした。
悩まなくても、答えに手が届くようになりました。
動かないコードを貼れば、原因の候補が数秒で返ってきます。エラーの意味も、直し方も、もっといい書き方も。一晩かかっていた問題が、数分で片づきます。環境構築でハマることも、分厚いドキュメントを読むことも、AIが手伝ってくれます。
これ自体はまちがいなく進歩です。AIを取り上げて昔に戻れという話ではないし、戻れるものでもありません。
困るのは、この進歩の副作用が見えにくいことです。
ミドルまでが半分、シニアまでが3倍。この話に戻ります。
前半はわかりやすいです。知識もスキルも、AIで身につくのが速くなりました。一人前に見えるところまでの道は、たしかに短くなっています。
では、なぜ後半は延びるのでしょうか。
ミドルとシニアを分けているものを考えると見えてきます。ミドルは、知っている問題を知っている方法で解ける人です。シニアは前例のない問題の前で、問いの立て方から作れる人です。あちらを立てればこちらが立たない中で決めて、なぜそう決めたのかを説明できる人です。前者は知識と経験の積み重ねで届きます。後者は、それだけでは届きません。
シニアと呼ばれる人が持っているものの中心は、知識の量ではありません。思い詰めて考えた時間の積み重ねです。答えがわからないから、仕方なく考えます。ほかに道がないから、深く長く考え続けます。この「仕方なく」が大事でした。答えらしいものにすぐ手が届くなら、人はそれ以上考えません。考えなくていいのに考え続けられる人は、ほとんどいません。考えるしかなかったから、考えていたんです。
「答えらしいもの」と書いたのには理由があります。AIが返すものは、たいてい十分に正しいです。動くコードが返ってくるし、それらしい説明もつきます。でも、受け取った人の考えは何も変わっていません。自分の仮説が外れて、前提を疑って、考えを組み直す。この流れが起きないまま、結果だけが手元に残ります。
たとえば、AIと一緒に半年で機能をいくつも出してきた人がいるとします。仕事は速いし、レビューも通るし、周りからの評価も高い人です。ある夜、その機能で障害が起きます。ログを見ても、どこから疑えばいいのかがわかりません。書いたのは自分なのに、なぜこう書いたのかを自分で説明できません。AIに聞けば候補は出ます。でも、候補のどれが正しいのかを決める手がかりを、自分の中に持っていません。
この人の腕が悪いわけではありません。速く作れることは本物の力です。ただ、作るまでの間に「困って、考えて、外して、また考える」時間を通っていないので、困ったときに戻れる経験がありません。前半に書いた、障害対応の二人を思い出してください。焦りの中で手を止めて、切り分ける順番を組み直せる人は、その順番を自分で何度も外した経験を持っています。
困る前に答えが届いて、悩み始める前に解決が差し出されます。なくなったのは時間ではありません。困る機会そのものです。
スキルは速く身につくようになりました。でも、器はそうはいきません。器を大きくしていたのは知識ではなく、動かないコードの前で自分の浅さと向き合った時間だったからです。
合理的に選べば、人は速くて楽なほうを選びます。個人の選択としては正しいです。だからこそ、これは個人の意志の問題ではありません。選ぶ余地がなかったから人を鍛えていた環境は、選べるようになった時点で、鍛える力を失います。誰が悪いわけでもありません。環境が変わったんです。
この記事は参考になりましたか?
- この記事の著者
-
柳川 慶太(ヤナガワ ケイタ)
エンジニア→PdM→事業責任者とキャリアチェンジし、現在は金融事業の責任者として事業戦略・プロダクト戦略・組織戦略の全てを統括。プロダクトで勝負する会社において、事業計画から企画から開発まで全て一貫して進めることの重要性を主張し、自ら実践する。noteでプロダクトマネジメントや事業開発に関する記事を...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
