未経験からモダン自社開発を目指す駆け出しエンジニアが、CodeXやClaude Code、Cursorみたいなコーディングエージェントを勉強のどのフェーズでどう使うといいのか。入門〜ハンズオンはAskモードだけ、ポートフォリオ作成からはバリバリ使う、という話と、面接でポートフォリオの何を見るかについて書きます。
まんじです〜
今回は駆け出しエンジニアゾーンでコーディングエージェントはどう使うといいのか、っぽい話でも書こうかと思います。
ちなみにコーディングエージェントっていうのは、CodeXとかGitHub CopilotとかCursorとかClaude Codeとかで、自然言語とか日本語で「こういうの作ってください」って言うとパッとコード出してくれて動く、みたいなやつです。
特に最近だとCodeXとかClaudeのモデルを使うと、適当に自然言語打つとマジで動くものがサクっとできてしまうんで、「コーディングエージェントどんな感じで使えばいいんだ」っていうお便りが結構自分の元に届くんですよね。
そこら辺を解説します。
結論を先に言うと、こんな感じっす。
- プログラミング入門〜Webアプリのハンズオンのフェーズ: Askモードだけ使う
- ポートフォリオ作成のフェーズ: エージェントモードでバリバリ使いまくる
1. エンジニアの勉強にはフェーズが3つある
そもそもモダン自社開発への転職にあたって、自分自身プログラミングというかエンジニアの勉強でフェーズが3つあると思ってます。
- プログラミング入門(エンジニア入門というか本当に基本的なところ)
- Webアプリをハンズオンとかで真似して適当にインプットする(NotionクローンとかSlackクローンとかを真似して、なんか動くものが適当にできるみたいなやつ)
- ポートフォリオ作成
この3つのフェーズで、コーディングエージェントの使い方が変わってくるって話です。
2. 入門〜ハンズオンのフェーズはAskモードだけ
フェーズ1から2、プログラミング入門とWebアプリをハンズオンで勉強するみたいなところに関して言うと、個人的にはコーディングエージェントに自然言語を適当に打ち込んで適当にやってもらうみたいなのは、なしだなと思ってます。
コーディングエージェントって、割とAskモードとエージェントモードっていうのがあることが多いんですよね。
- Askモード: 「このコードはどうなってますか」「このリポジトリ内でこれはどういう風に実装されてますか」みたいに、局所的な部分も全体像を踏まえたところも聞ける
- エージェントモード: 実際にコードを書いて実装してくれる
Askモードは個人的にはめちゃくちゃ積極的に使うべきだと思ってます。
一方で、例えばUdemyの講座のNotionクローンで「このログインの部分を適当に実装してください」「動画で言ってる内容がよくわかんないんで既存のコード踏まえて作ってください」みたいな感じでエージェントに実装させるのは、あんまりお勧めしないかなって印象ですね。
もちろん、そういう風に出してもらってそれを理解してやるっていうのも1つではあるとは思うんですけど。
基本的に入門とかWebアプリ作成のフェーズって、インプットをメインでめちゃくちゃやりたいんですよね。
「これはこういう風になってるのか」とか、「APIはここでリクエストを受け取ってデータベースにアクセスしてレスポンスを戻すのか」とか、そういうインプットのところをメインに置きたい。
なんで繰り返しになるんですけど、入門からWebアプリのハンズオンで真似するフェーズは、Askモードオンリーが1番いいかなって思ってます。
ちょっと明らかに詰まっちゃった時とかは、エージェントモードで実装してもらって、自分が分かんないところと照らし合わせて「あ、こんな感じっぽいぞ」ってやるのはいいのかなって印象ですね。
3. ポートフォリオ作成フェーズはバリバリ使うべき
次にポートフォリオ作成フェーズに関して言うと、個人的にはなんですけど、コーディングエージェントはマジでバリバリ使うべきだと思ってます。
なんでエージェントモードで適当に実装しまくってもらうのをお勧めするかって言うと、こんな感じっすね。
UI側はコーディングエージェントが強すぎる
例えばUIサイド、Reactを使っていてもUIレイヤーと状態管理が必要なところって若干分かれるんですけど、UIのCSSとかスタイルの配置とかは、やっぱりコーディングエージェントが強すぎるんですよね。
すげえ微妙なプロンプトでも、めちゃくちゃ今時な感じのUIにしてくれます。
なんでそういうところは積極的に使って、出してもらったものをちゃんと読んで理解する、っていうのがめちゃくちゃおすすめです。
UIのスタイル側に関して言うと、「動けばいい」っていうのが間違いなくあるんで。
バックエンドはベースを出してもらって直していく
APIのレイヤー、バックエンドの方に関しても、ある程度ベースを出してもらってそれを直していくみたいな方針でも、個人的にはめちゃくちゃいいのかなと思ってます。
ただバックエンドの処理とかだと、「こういった機能要件を入れてAPIを作ってください」「こういった条件を踏まえた上でAPIのここのエンドポイントを作ってください」みたいな、ある程度の理解が前提として結構必要になるんで、そこはどうしても難しいところですね。
バックエンドとか、フロントエンドでもロジックが含まれるようなものだと、「動けばいい」だとちょっと困るんで。
分かんないところはAskモードで壁打ち
なんで、バリバリコーディングエージェント使って開発しつつ、
- 分かんないところとか「ここはこうなのかな」って疑問を持つところはAskモードで壁打ち
- ちょっと分かんないところはQiitaとかZennとかで適当に情報をインプットして、またAskモードで壁打ち
みたいにするのがめちゃくちゃいいと思います。
(Claude CodeだとAskモードとかエージェントモードとかない気がするんですけど、そういった感じでってことっすね)
ただ、そういった機能要件の「こういうのが入ってるといいのね」っていうのは、わかんないっちゃわかんないんでむずいですよね。
「こういうのは組み込まれて欲しい」「こういうところ意識して欲しい」っていうのは、自分1人でやってるとよくわからんちゃよくわからんので、そこはちょっと難しいなっていうのは自分自身結構思います。
4. 面接で見るところ1: ポートフォリオの外側のクオリティ
こっからは、もし僕が駆け出しエンジニアを面接する場合は何を見るか、っていう話です。
1個目が、ポートフォリオのシンプルなクオリティですね。
外側から見た場合の機能要件的なところ、UI側のクオリティをやっぱ見るかなと思っていて、これがあまりにもしょぼすぎると、個人的にはもう今の時代は完全になしだなと思ってます。
今ってコーディングエージェントで、ある程度それっぽいものは一応いけるんですね。
このそれっぽいものすら持ってこれない場合は、あまりにもAIに関するインプットとかキャッチアップをサボりすぎっていうのはやっぱありますし。
あと、コーディングエージェントなしで仮にポートフォリオを作ってきたとしても、そもそも実務でコーディングエージェントはみんなめちゃくちゃ使うんで、AIとかコーディングエージェントなしで作ってくるのは個人的には論外って感じはします。
なんで、外側から見た部分のポートフォリオのクオリティは、ある程度ちゃんと高めたいっていうのは間違いないっすね。
ちなみに外側から見たポートフォリオのクオリティっていうのは、こんな感じです。
- シンプルにUIとかが綺麗か
- シンプルにユーザーが何ができるのか
- ユーザーのどういった課題を解決するのか
- ユーザーが楽しめるのか、便利に使えるのか
コードでは見えないけど、機能的な部分でちゃんといい感じか、作り込まれてるかみたいなところっすね。
かつ、そこに対して熱量が乗ってるとなおグッドですね。
繰り返しになっちゃうんですけど、AIなしでかつコーディングエージェントなしで、UIもしょぼくて、機能的にもしょぼいとなっちゃうと、もうこれは完全に論外です。
論外駆け出しエンジニアですね。
「コーディングエージェント使ってるからUIが綺麗になりすぎるのはズルなんじゃないか」みたいに思う人もいないと思うんすけど、できるだけコーディングエージェントありでクオリティが高いものを作ってくれた方が、面接する人の方は絶対嬉しいっすね。
5. 面接で見るところ2: 技術的な理解ができてるか
2つ目が、自分最近動画でよく言ってるんですけど、技術的な理解がちゃんとできてるかっていう話ですね。
コーディングエージェントでUIとかそれっぽく動くものがすごいちゃんとできていたとしても、技術的な理解が伴ってないとやっぱり厳しいです。
モダン自社開発とか、実務レベルっていう言い方はあんま好きじゃないですけど、実務のコードになるとやっぱりもっと複雑になってしまって、コーディングエージェントでちょろっとできなくなってくるのがどうしてもあるんで。
なんで技術的な理解というか技術力、ポートフォリオの裏側のロジックをちゃんと説明できるかっていうのは、絶対に僕は面接で見ますね。
例えばこんなことを聞く
- 認証は何を使ってるんですか?OAuthなんですか?メールアドレスとパスワードの認証なんですか?
- メールアドレスとパスワードの認証なら、会員登録した後どういう風にメールを送信しますか?
- 外部のSendGridとかを使ってるんですか?AWSのSESですか?自前でメールサーバー立ててるんですか?
- トークンの認証の仕方はどうなってますか?
あとはそういったところの実装になると、基本的に多少苦戦したところとかうまくいかないところが絶対あるんで、「コーディングエージェント使ってもここを理解するのがよくわかんなかったんで、こうだった」みたいな話も聞くかなって印象っすね。
それに付随して、「なんでこの方法でやったんですか」も聞きます。
- AWSのSESでメールを送信してるなら、なんでSESにしたんですか?
- 自前のサーバーでメール送信してるなら、なんで自前のメールサーバーにしたんですか?
これでちょっと詰まっちゃうと、ちょっと厳しいですね。
「調べて2、3個出てきたんですけど、これがこうだったんでこうしました」みたいに、技術的な面接で返答はしたいなっていうのはあります。
機能要件と非機能要件、どっちも抑える
自分が面接する場合の話をまとめると、シンプルに外側から見える部分と内側の部分、機能要件と非機能要件みたいに言われるんですけど、そこら辺をちゃんと抑えたいって話です。
- 外側から見える部分は、コーディングエージェントを使って「かなりまともじゃん」「めっちゃいいじゃん」になる感じに仕上げる
- それに加えて、裏側のロジックとか技術的なところ、なんでその技術を使ってるのかをちゃんと言えるようにする
そこら辺の解説ができないとダメですね。
まんじからの感想
今回の内容をまとめると、こんな感じっす。
- プログラミング入門とかWebアプリをハンズオンで真似するフェーズは、基本的にAskモードだけ使う。どうしてもはまっちゃったらエージェントで実装して、自分がうまくいってないところと見比べて「なんでこれはこうなんだ」とちゃんと考えてインプットする
- ポートフォリオを作るフェーズになったら、コーディングエージェントをバリバリ使いまくる。ちゃんと自分の理解も追いつくように、わかんねえなって思ったらAskモードで聞いたりネットで調べたりする
こうすると、めっちゃベリーグッドだと思います。
なんか今色々難しい時代だなとは思うんですけど、頑張ってやっていくといいと思います。
LVLPATHの未経験からの講座買ってもらって手順通りやってもらって自分に壁打ちやら質問してもらえれば、コーディングエージェントありきでどこまで自分で理解すればいいのか迷わずに進められると思います。
ってことで終わりです。



