🤝

コーディングを楽しめなくなった、あなたへ

に公開

1. 正直、最近コーディングが「作業」になってきた

エンジニア4年目になった。

新人の頃は、自分の書いたコードが動くだけで嬉しかった。console.log が出力されるだけで「おお」と思ったし、APIからデータが返ってきた時は本気で感動した。先輩のコードを読んで「なんだこの魔法は」と思いながら、少しずつ自分でも書けるようになっていく。あの頃は毎日が発見だった。

でも最近、その感覚がほとんどない。

いや、できることは明らかに増えた。設計もするし、レビューもする。後輩に教えることもある。一人で機能を丸ごと任されることも増えた。「成長してる」と言われれば、たぶんそうなんだと思う。

ただ、正直に言うと——コーディングが「楽しい」かと聞かれると、すぐに「うん」とは言えなくなった。

毎日やってることは、なんというか「知ってるパターンの組み合わせ」になってきた。このAPIを叩いて、このバリデーションをかけて、このコンポーネントに流し込む。頭を使わなくても手が動く。効率は上がった。でもそれは「作業」であって、「創造」ではない気がする。

タスクをこなす。PRを出す。マージされる。次のタスク。

ふと気づくと、コードを書いている時間より、Slackを見てる時間の方が長い日もある。「これ、自分じゃなくてもできるんじゃないか」とぼんやり思うこともある。

——これが「中堅の停滞」というやつなのかもしれない。

新人の頃の、あの「動いた!」という純粋な喜び。あれはどこに行ったんだろう。技術力が上がるほど、楽しさは減っていくものなのか。このままあと何十年も、こうやって「作業」を続けていくのか。

正直、ちょっと憂鬱だった。

そんなことを考えていた時に、AIがやってきた。


はじめに

株式会社ココナラでエンジニアをしている、じーまです。

いきなり暗い話から始めてしまったけど、安心してほしい。この記事は「だから頑張ろう」みたいな精神論で終わるつもりはない。

むしろ逆だ。僕は最近、コーディングがちょっと楽しくなってきた。

AIのおかげで。

...と言うと「は?」と思うかもしれない。AIが来て不安になったのに、AIのおかげで楽しくなった?矛盾してないか?

その話をこれから書いていく。


2. そこにAIがやってきて、ちょっと焦った

最初にCopilotを触った時のことは、正直よく覚えている。

何気なく関数名を書いたら、続きがスラスラと生成された。「いや、そうそう、それが書きたかったんだよ」という実装が、まるで自分の頭の中を読まれたみたいに出てくる。

すごい、と思った。

——と同時に、背筋がちょっと冷たくなった。

「これ、自分が3年かけて身につけたやつじゃん」

バリデーションの書き方。エラーハンドリングのパターン。APIのレスポンスを整形するあの定型句。苦労して覚えて、何度も書いて、やっと手が勝手に動くようになったあれこれ。それを、AIは一瞬で出してくる。

しかも、自分より綺麗に書いたりする。

それからCursor、Claude Code...次々と新しいツールが出てきて、できることがどんどん増えていく。今ではClaude Codeをメインで使っているけど、最初にCopilotを触った時の衝撃は今でも覚えている。

SNSを開けば「AIでエンジニア不要になる」みたいな煽りが毎日流れてくる。「10年後にはコードを書く仕事はなくなる」とか、「プログラマーはプロンプトエンジニアになるしかない」とか。正直、ポジショントークも多いと思う。でも、全部が嘘とも思えなかった。

だって、自分が「作業」だと感じていた部分、AIはマジで得意なのだ。

新人の頃に「動いた!」と喜んでいたレベルの実装なんて、もはやAIの方が速くて正確。じゃあ自分の価値って何だろう。4年かけて積み上げてきたものは、何だったんだろう。

「このまま頑張る意味、あるのか?」

これは結構キツい問いだった。楽しさを失いかけていた上に、存在意義まで揺らいできた。この時期は、正直けっこう病んでいたと思う。

じゃあどうすればいいのか。世間では、2つの「正解」が語られていた。

3. 世間の「正しい反応」は2つあるらしい

AIの波に飲まれそうなエンジニアに対して、世間が提示する処方箋は、だいたい2パターンに分かれる。

派閥A:「AIに負けないように、もっと技術を磨け」

「結局、AIが書くコードをレビューできるのは人間だ」「AIには真似できない高度な設計力を身につけろ」「低レベルの実装は任せて、アーキテクチャで勝負しろ」

言ってることはわかる。正論だと思う。

でも、正直ピンとこなかった。だって、それって「もっと頑張れ」ってことじゃん。今でさえ「作業」に追われて楽しさを見失っているのに、さらに高度な技術を磨くために努力を積み重ねろと。しかもAIは日々進化してるから、ゴールは常に逃げていく。

その先に、楽しさはあるんだろうか。

派閥B:「AIを使い倒して、プロンプト力を上げろ」

「これからはプロンプトエンジニアリングの時代だ」「AIを道具として使いこなせる人間が勝つ」「コードを書く必要はない、AIに書かせろ」

これもわかる。実際、AIをうまく使えば生産性は爆上がりする。

でも、これもなんか違う気がした。「プロンプトを上手く書く」って、それはそれで別のスキルだと思うけど……それって「コーディングを楽しむ」こととは、だいぶ遠くないか?

AIと上手くやっていくために、AIに最適化された人間になれってこと?なんか、本末転倒な気がする。

結局、どっちの派閥も「AIという外部環境の変化に、自分を適応させろ」と言っている。技術力で対抗するか、AIに乗っかるか。方向は真逆だけど、「AIを軸に自分を変えろ」という点では同じだ。

でも僕が知りたかったのは、そういうことじゃなかった。

「どうすればAI時代を生き残れるか」じゃなくて、「どうすればコーディングを楽しめるか」だった。

世間の正解は、僕の問いに答えてくれなかった。だから、自分で考えるしかなかった。

4. 僕がたどり着いた第三の道

で、結局どうしたかというと。

「AIに作業を渡して、自分は"考える係"になる」ことにした。

技術力を高めてAIと競争するわけでもない。プロンプトの達人を目指すわけでもない。第三の道。言葉にすると当たり前に聞こえるかもしれないけど、これが僕にはしっくりきた。

具体的に何が変わったか。

たとえば、新しい機能を実装するとき。以前の僕は、まずエディタを開いてコードを書き始めていた。手を動かしながら考える、みたいなスタイル。

今は違う。まず「何を作るのか」「なぜこの設計なのか」を言語化する。それをClaude Codeに伝えて、叩き台を出してもらう。で、出てきたコードを見て「いや、ここはこうじゃない」「この命名は意図が伝わらない」「このエラーハンドリングだと漏れがある」とジャッジしていく。

やってることは、コードを「書く」から「レビューする」に近くなった。

最初は「これでいいのか?」と不安だった。自分でコード書いてないのに、エンジニアとして成長できるのか?サボってるだけじゃないのか?

でも、やってみて気づいた。

「なぜこう書くのか」を考える時間が、圧倒的に増えた。

以前は、手を動かすことに脳のリソースを取られていた。タイポを直す、インポート文を書く、ボイラープレートをコピペする。そういう「作業」に時間を使っていた。

それをAIに渡したら、「考える」ことに集中できるようになった。

「この関数、責務が2つ混ざってないか?」
「このエラーメッセージ、ユーザーに伝わるか?」
「この設計、半年後の自分が見て理解できるか?」

こういうことを考える余裕が生まれた。そして気づいた。

——あれ、これ、ちょっと楽しいかも。

5. 楽しさは「作業」の外にあった

思い返すと、新人の頃に「楽しい」と感じていたのは、「手を動かすこと」そのものじゃなかった。

「わからなかったことがわかる」瞬間。
「動かなかったものが動く」瞬間。
「自分の判断が正しかった」と確認できる瞬間。

楽しさの正体は、「作業」じゃなくて「理解」や「発見」だったのだ。

4年目になって楽しさを失ったのは、「理解」や「発見」が減ったからだ。知ってるパターンを繰り返すだけでは、脳が刺激を受けない。成長している実感がない。ただ手を動かしているだけ。

でもAIと組むようになって、その「理解」と「発見」が戻ってきた。

AIが出すコードは、自分とは違う書き方をしていることがある。

たとえば、僕はnullチェックにガード節を使う派だった。でもClaude CodeはOptional Chainingで書いてくることが多い。最初は「読みにくいな」と思ったけど、調べてみると確かにこっちの方がスッキリするケースもある。

「なんでこう書くんだろう」と考える。調べる。「あ、こっちの方がパフォーマンスいいのか」と気づく。あるいは「いや、これは可読性を犠牲にしてるからダメだな」と判断する。

これが、地味に楽しい。

自分一人で書いていた時は、自分のパターンの中でしかコードを書けなかった。AIは、自分の外側からコードを持ってくる。それをジャッジするプロセスで、自分の引き出しが増えていく。

しかも、「作業」に費やしていた時間が浮いたから、新しいことを試す余裕も生まれた。「この部分、別のアプローチでやってみたらどうなるかな」と実験できる。失敗しても、AIに別案を出してもらえばいい。試行錯誤のコストが下がった。

気づいたら、「仕事」と「学び」の境界が曖昧になっていた。

業務でコードを書きながら、同時に新しいことを学んでいる。タスクをこなしながら、自分の判断力を鍛えている。これが、僕にとっての「楽しさ」だった。

ずっと探していた答えが、意外なところにあった。

6. おわりに:AIと「共犯関係」になる

結局、僕がたどり着いた答えはシンプルだった。

AIと競争しなくていい。AIに従属しなくていい。
AIと「共犯関係」になればいい。

僕が面倒だと思っていた「作業」を、AIに渡す。
AIが出してきたものを、僕がジャッジする。
お互いの得意なことを持ち寄って、一緒にコードを作る。

これは「AIに仕事を奪われる」でも「AIを使い倒す」でもない。もっとフラットな関係だ。

そして、この関係性は「ミドル」の今だからこそ、ちょうどいい気がしている。

新人の頃だったら、AIの出力が正しいかどうか判断できなかったと思う。何が良いコードで何が悪いコードか、まだ自分の中に基準がなかったから。

逆に、もっとベテランになっていたら、「自分のやり方」が固まりすぎて、AIの違う書き方を受け入れられなかったかもしれない。

4年目という、「一通りわかるけど、まだ柔軟」なこのタイミング。
AIが急速に進化している、このタイミング。

偶然かもしれないけど、僕にとってはちょうどよかった。


もし今、コーディングが「作業」になっていて、楽しさを見失いかけているなら。

AIを「脅威」でも「道具」でもなく、「相棒」として迎え入れてみてほしい。

「作業」を手放した先に、忘れていた「楽しさ」が待っているかもしれない。

Discussion