AIが書いたコードを「動いたからOK」で出し続けたエンジニアに、後からまとめて来る「理解負債」の話

  • URLをコピーしました!

現場のコードレビューで、こう聞かれたとします。

「ここ、なんでこのライブラリ使ったんですか?」

で、口から出てきた答えが、これ。

「えっと……AIが提案してくれたので……」

これ、現場で一番信頼を失うパターンなんですよ。

AIで開発するのが当たり前になった今、エンジニアの評価を分けてるのは、コードが書けるかどうかじゃないんです。

AIが書いたコードを、自分の言葉で説明できるかどうか。

今日は、この話を書きます。

目次

AIは悪くないんですよ

先に言っておくと、AIを使うこと自体は何も悪くないです。

CodexとかClaude Codeが出してくるコードって、パッと見きれいなんですよね。

構文は正しいし、動くし、丁寧にコメントまでついてたりする。

で、動くから「まあ大丈夫やろ」って、そのまま出しちゃう。

中身をちゃんと理解しないまま。

問題はここなんです。

AIが書いたことじゃなくて、説明できないまま出してること。

レビューで見られてるのは、コードの正しさじゃない

レビューで先輩やリードエンジニアが質問してくる時って、コードが合ってるかどうかを聞いてるんじゃないんですよ。

見られてるのは、これです。

「この人は、このコードの意図を理解してるのか?」

だから、AIが書いたかどうかは、正直どうでもいい。

出した本人が説明できるかどうか。

ここが全てなんです。

で、説明できないとどうなるか。

「この人は、何も考えずにコードを出す人なんだ」って印象が、一回つく。

そうなると、次から些細な変更でも「これ、本当に理解してます?」って注意深く見られるようになるんですよ。

一回こうなると、めちゃくちゃ効率が悪い。

自分も、相手も。

僕はこれを「理解負債」って呼んでます。

AIに任せて速く書けた分、理解をサボったツケが、後からまとめて来るんです。

直し方は、「なぜ?」を3回聞くだけ

じゃあ、どう防ぐか。

AIが出してきたコードに対して、「なぜ?」を3回聞く。

これだけです。

たとえば、AIがバリデーション処理を書いてきたとします。

1回目。なぜ、この層に入れたのか?

このチェックは入力の形式を見てるだけなのか、ビジネスルールまで入ってるのか。

後者なら、コントローラーじゃなくてサービス層に置くべきものじゃないのか。

2回目。なぜ、このライブラリを選んだのか?

zodを使ってるけど、プロジェクト内でほかのバリデーションライブラリと統一されてるのか。

3回目。なぜ、このエラーハンドリングにしたのか?

例外を投げてるけど、このAPIのクライアント側は、どういうエラーを期待してるのか。

この「なぜ」を3回やるだけで、コードの理解度が全然変わります。

で、大事なのはここです。

この「なぜ」に自分で答えられなかったら、それはまだ理解できてないってこと。

AIに聞き返していいんですよ

「そんなの、答えられないことのほうが多いよ」って思うかもしれないですけど。

答えられなかったら、AI本人に聞き返していいんです。

「なんでこの実装にしたの?」って。

ただ、条件が1個だけあります。

AIの説明を、自分の言葉で言い直せるかどうか。

AIの説明を丸暗記して、レビューでそのまま横流しする。

これはバケツと一緒で、頭を全く使ってないんですよ。

そうじゃなくて、「あ、これってこういうことね」って自分の言葉に変換できたら、それは理解できてるってこと。

ここまでやっておくと、レビューで何を聞かれても答えられます。

だって、自分で理解してるから。

続けると、AIの間違いに自分で気づけるようになる

でね、この「なぜ」の習慣がつくと、面白いことが起きるんですよ。

AIが出してきたコードの中の、おかしい部分に、自分で気づけるようになる。

「ここ、なんでこうしたんだろう?……あれ、これ間違ってるわ」って。

AIって、プロジェクト固有のルールとかチームの慣習とか、そういう文脈を完全には理解してないので、それを無視した実装を出してくることが結構あるんですよね。

そのズレに気づけるかどうか。

これがAI時代のコード理解力の本質だと、僕は思ってます。

鍛え方は3つ

じゃあ、この力をどう鍛えるか。

3つだけ書きます。

1つ目。AIのコードを、必ず一度読む。

当たり前に聞こえるかもしれないですけど、意外とみんなやってないんですよ。

動いたからそのままコミット、が一番危ない。

最低限、差分を1行ずつ見て、「この行は何をしてるのか」を頭の中で日本語に翻訳する。

これだけでかなり変わります。

2つ目。レビューで聞かれる前に、自分で自分に聞く。

プルリクを出す前に、「もしここを聞かれたら、なんて答える?」って自分でシミュレーションするんです。

答えられない箇所が、たぶん出てきます。

それがまさに、理解できてない箇所です。

そこを埋めてから出す。

これだけでレビューの質が全然変わるし、コードの全体像も見えてくるので、自分のレベルアップに直結します。

3つ目。データの流れを追う。

ユーザーがボタンを押す。

APIにリクエストが飛ぶ。

バックエンドで処理が走る。

データベースに保存される。

レスポンスが返る。

この流れを、AIが書いたコードに対しても、自分でトレースするんです。

AIのコードって、部分的に見るときれいなんですけど、全体として見ると不自然なところが結構あるんですよ。

「ここでデータ取ってるけど、この先の処理で使われてないぞ?」とか。

「このエラー、ここでキャッチしてるのに呼び出し元でもキャッチしてて、二重になってるぞ」とか。

こういうのは1箇所だけ見てても気づけないんです。

データの流れを追って、全体を見るから気づける。

まとめると、たった1個なんですよ

で、この3つ、まとめると1個になります。

AIのコードを、他人のコードだと思って読む。

先輩のコードをレビューする時って、「なんでこうしたんだろう?」って自然に考えますよね。

AIのコードも、同じです。

AIを自分の手の延長じゃなくて、チームメンバーの1人として扱う。

この感覚でいると、放っておいても理解が深まっていきます。

コードが書ける人は増える。説明できる人は、増えない

最後に、これだけ言わせてください。

「なぜそうなってるのか?」を考えられる力って、AIのコードに限った話じゃないんですよ。

先輩が書いたコード。

OSSのコード。

ドキュメントには書いてないけど、現場では当たり前になってるルール。

こういうものに「なぜ?」を立てられる力は、僕が現場で見てきた中で、単価が高いエンジニアに共通してる能力です。

コードが書ける人は、たくさんいます。

AIのおかげで、これからもっと増えます。

でも、「なぜこのコードなのか」を説明できる人は、実はそんなに多くない。

ここに気づけるかどうかで、これからのキャリアはかなり変わってくると思いますよ。

コードの読み方と現場での立ち回りは、無料メルマガで深掘りしてます

こういう話、僕の無料メルマガで書いてます。

今日の話は「なぜを3回聞く」の枠組みだけ。

コードの読み方そのものとか、現場でどう立ち回れば「この人は理解してる」って信頼が積み上がっていくのかは、メルマガで深掘りしてます。

「レビューで聞かれるのが怖い状態を、終わらせたい」

「AIのコードを、ちゃんと読める側になりたい」

「AI時代に、信頼されて単価が上がる側にいきたい」

って人だけ、下から登録しといてください。

ほな、また。

ーーーーーーーーーーーーーーーーーーーー

僕は月商にして120万円を稼いでいますが、

エンジニアで月100万以上稼いでいるというと、

怪しいですよね。

お前は元々仕事できた、才能やセンスがあったんだろ?ともよく言われます。

ですが僕は最初からプログラミングが得意だったわけでもなければ、

仕事が得意だったわけでも

交渉や戦略も得意だったわけではありません。

 

そんな僕でも自信を得ることができて

エンジニアとして月100万以上頂ける程

実力をつけることができました。

経済的にも精神的にも豊かになってます。

結局正しい方向で努力するだけなんですよね。

 

誰だって稼げますし。

正しい方向で学べば誰でも自信を持って

エンジニアとして稼ぐことができる

僕雄貴がポンコツエンジニアから、月120万を稼げるようになった過程を下記の記事では公開しています。

>未経験から月商120万になれた雄貴の行動理念

 

ーーーーーーーーーーーーーーーーーーーー


【下記画像をクリックして、エンジニアのロードマップをGET!!】

 

>>詳細が気になる方はこちらをクリック<<

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

雄貴のアバター 雄貴 フリーランスエンジニア

【エンジニアの単価が上がる情報を発信中】
27歳未経験からIT業界へ→経験2年半で月商80万達成
React案件で初回契約月105万を実現

コメント

コメントする

目次