はじめに
こんにちは。
リンクラフト株式会社の村田です。
リンクラフトアドベントカレンダーの19日目を担当します。
僕は完全未経験からエンジニアになり、案件参画から約3ヶ月。
バックエンドAPIを数十本、画面でのAPI連携を何十本と実装してきました。
…と書くと聞こえはいいんですが、正直に言います。
これはAIがあるからこそのスピードです。
Claude Code(指示を出すとAIが直接ファイルを作成・編集してくれる開発支援ツール)を使っていて、
それを確認し、動かし、必要なら修正を頼む。そういう開発スタイルです。
そして最近、こんな不安を抱えています。
「AIなしでは開発ができない状態になっているんじゃないか」
何が一番怖いか。
バグ対応ができないこと?
レビューで答えられないこと?
いや、一番怖いのは、「自分は成長していないかもしれない」という感覚です。
この記事では、
- AIで初心者がここまでできてしまう現状と、その危うさ
- AIが書いたコードをどう意識して見ているか
- AIがあるからこそ見えてきた「本当に必要なスキル」
を書いてみます。
「AIを使って開発しているけど、このままでいいのかな…」と思っている方のヒントになれば。
AIで開発できてしまう現状と危うさ
まず、AIを使って何ができているのか。
- LaravelでバックエンドAPI数十本
- Next.jsで画面へのAPI連携何十本
- レビュー指摘の修正対応
未経験3ヶ月でこれだけこなせているのは、間違いなくClaude Codeのおかげです。
ただ、これを「実力」と呼んでいいのか。
僕の答えは、NOです。
少なくとも、今の自分にとってはそう思っています。
Claude Codeに「これ実装して」と言えば、AIがファイルを作って、コードを書いて、既存ファイルも編集してくれる。
僕はそれを確認して、動かして、OKなら終わり。
極端に言えば、そういう状態になりかねない。
問題は、次のような点です。
- エラーが出ても原因がわからない
- 「このコード何してるの?」に答えられない
- レビュー指摘の意味がわからない
こういう状態に陥りやすいということです。
「動いているから正しい」は危険な思考です。
たまたま動いているだけで、本質的には間違っている可能性もある。
AIは実装を肩代わりしてくれるけど、理解までは肩代わりしてくれません。
これが、僕が感じている「危うさ」の正体です。
AIの出力をどう意識して見ているか
ここが本題です。
AIを使うこと自体は悪くない。むしろ、使わないほうが非効率。
ただ、AIが書いたコードをそのままスルーしていると成長できません。
僕が意識していることを3つ紹介します。
1. コードを1行ずつ読む
「この行は何をしているのか?」
「この変数には何が入っているのか?」
「この関数は何を返しているのか?」
わからない行があったら止まって調べる。理解するまで次に進まない。
なぜやるか:これをやらないと「自分が書いたコード」にならない。借りているだけになる。
2. 「なんでこう書いたの?」と聞く
コードの意味がわかっても、「なぜこの書き方なのか」がわからないことがある。
そういうときはAIに聞きます。
ここで〇〇という書き方をしているのはなぜ?
他にどんな書き方がある?
なぜやるか:「なぜ?」を2回深掘ると効果的。1回目で「目的」、2回目で「設計意図」がわかる。
3. 自分で書いてみる
時間があるときは、AIが書いたコードを見ながら自分で書いてみる。
「同じ処理を、自分ならどう書くか?」
なぜやるか:書けなかった部分が「理解が足りていないところ」。そこを重点的に学べる。
AIを使って逆に学べたこと
皮肉な話なんですが、AIを使っているからこそ学べたこともあります。
設計パターンを知れた
AIが書くコードは基本的にきれい。
Repository層、Service層、Controller層の役割分担がしっかりしている。
「なぜ?」と聞いていくうちに、責務の分離やテストのしやすさを学びました。
コードの「良い書き方」を知れた
命名規則、エラーハンドリングの仕方。
AIが書くコードを見て「こう書くのがスタンダードなんだ」という基準を知れた。
知らない機能やライブラリを知れた
「こういう処理がしたい」と伝えると、知らないPHPの関数やLaravelの機能を使ってくれる。
そこから調べて、知識が広がりました。
独学でやっていたら、ここまで早く理解できなかったと思います。
AI時代に必要なスキルとは
AIを使って開発していると、「AIがやること」と「人間がやること」の境界が見えてきます。
AIが得意なこと
- 定型的なコードを書く
- ルールに沿った実装をする
- エラーを修正する
人間がやるべきこと
- 何を作るか決める — AIは「これを作って」と言われたら作れるが、「何を作るべきか」は決められない
-
品質を判断する — 動くコードと良いコードは違う。例えば:
- 命名は適切か?(半年後に読めるか)
- 責務は分離されているか?
- エラー処理は考慮されているか?
- テストしやすい構造か?
- 説明する — 「AIが書いたのでわかりません」では通用しない。責任を持って説明できる必要がある
まとめ:AIとの向き合い方
ここまでの話を整理すると、大事なのはこの4つです。
- AIが書いたコードをスルーしない — 1行ずつ読んで理解する
- 「なぜ?」を繰り返す — 書き方の理由を聞いて設計を学ぶ
- 自分でも書いてみる — 理解が足りない部分を明確にする
- AIに任せることと自分でやることを分ける — 判断と説明は人間の仕事
AIに頼りすぎるのは危険。でもAIを使わないのは非効率。
だから、目指すべきは「AIと共存できるエンジニア」。
AIを使って効率よく開発しつつ、書かれたコードの意味は理解している。
そういう状態を目指しています。
おわりに
未経験から3ヶ月、AIのおかげでここまでこれた。
でも「AIがないと何もできない」になるのは嫌なので、
書かれたコードはちゃんと読んで、理解するようにしています。
AIと共存しながら、自分の力も伸ばせるエンジニアになりたい。
この時代にエンジニアとして生きる以上、
「AIを使うかどうか」ではなく「AIとどう成長するか」を考え続けたいと思っています。
同じようにAIと向き合いながら悩んでいる人の、ひとつの参考になればうれしいです。
最後までお読みいただき、ありがとうございました。
一緒に働く仲間を募集中です!
リンクラフト株式会社では、組織拡大に伴い積極的な採用活動を行っています。
少しでも興味がある方はぜひご連絡ください。
▽会社ホームページ
https://lincraft.co.jp/
▽Instagram
https://www.instagram.com/lincraft.inc/
▽ご応募はこちらより
https://lincraft.co.jp/recruit
※カジュアル面談も受付中です。ご希望の方はHPのお問い合わせフォームよりご連絡ください。