ハッカーと写真家
どうも、Takuyaです。
エージェント型コーディングは、今やすっかり欠かせないワークフローになりました。 自分のような個人開発者にとっても、ソフトウェア開発の景色と考え方を一変させました。 同時に、この劇的な経済的変化に不安を感じている人も多いと思います。 ほとんどの人にとって、これはプログラマーとして経験してきた中で最大のパラダイムシフトです。
自分もなかなか受け入れられず、悲嘆の五段階の取引(Bargaining)と抑うつ(Depression)の段階を抜けるまでに結構時間がかかりました。 でも Opus 5.5 を見てから、AI は自分でほぼコードを書くのをやめてもいいくらい賢くなったと感じました。今は主に、生成されたコードを Neovim でレビューしています。 AI はこれからも進化し続けるし、自分がコードに触れる機会は着実に減っていくでしょう。
その中で、今後自分たちが何を学ぶべきか、プログラミングに対するメンタルモデルをどう変えていくべきかについて議論したいと思います。それと、この特別な瞬間の自分の考えや気持ちを書き残しておきたいと思ったので、本稿は自分のための「けじめ」のような文章でもあります。
TL;DR
- ハッカーはかつて画家のようだった
- ハッカーは今、写真家のようになった
- スナップ写真を「フォトスロップ」と呼ぶ人はいない
- なぜしっくりくるのかを知る
- 自分のセンスを自然言語で言語化する
ハッカーはかつて画家のようだった
Paul Graham の『ハッカーと画家(Hackers & Painters)』という有名な本があります。 この本は、ハッカーは科学者や数学者よりも、画家のような「つくり手」なのだと論じています。 AI 以前の時代のソフトウェアづくりを見事に表している一節があります:
絵はたいていスケッチから始まる。そして少しずつ細部が描き込まれていく。
画家と同じように、僕たちもつくる過程の中で発見をしていました:
何かを書こうと座ったとき、最終的に盛り込まれるアイデアの半分は、書いている最中に思いついたものだと気づいたことはないだろうか?ソフトウェアでも同じことが起こる。
僕は Web サイトをデザインするとき、HTML で直接スケッチするのが好きでした。 その過程で、たくさんのアイデアが湧いてきたものです。
それは、コードが単なる成果物ではなかったからです。 コードは、僕たちの思考そのものでした:
プログラミング言語は、プログラムについて考えるためのものだ。すでに考えたプログラムを表現するためのものではない。
つまり、僕たちのコードは思考そのもの、あるいは思考の履歴を表していたわけです。 愛着が湧くのも無理はありません。
エージェント型コーディングでも、僕は相変わらずスケッチして磨き上げています。ただし、もうコードの中ではありません。 コードを通して考えることをやめたのです。代わりに、英語のような自然言語で考えています。「英語が最高のプログラミング言語だ」と言われるのはそのためです。
ハッカーは今、写真家のようになった
今では、エージェントに Web ページを作ってと頼めば、数分で出来上がります。 その過程で、変数名やどのタグを使うか、DOM をどう構造化するか、CSS プロパティなどについて考えることはすっかり省かれます。 それらは、僕たちにとっての筆づかいでした。
DHH が Rails World 2026 の基調講演で指摘したように、肖像画づくりも1900年頃に同じ変化を経験しました。コダックのブローニーカメラによって、写真が手頃な価格になったときです。 誰でも絵を習わずに、安くリアルな肖像を手に入れられるようになりました。 画家たちは気づいたのです:
現実をできる限り完璧に描写することは、もはや経済的に成り立つスキルではなくなった。彼らには別のスキルが必要だった。別の領域が必要だった。
同じことがプログラミングにも起きています。Nolan Lawson はブログ記事でこう書いています:
フロントエンド Web の分野で僕が尊敬する教育者の多くが、身を引くか、活動を縮小しているようだ:Axel Rauschmayer、Salma Alam-Naylor、Josh W. Comeau などだ。Kent C. Dodds、Addy Osmani、Rachel Nabors、Lydia Hallie といった著名人たちも、フロントエンド開発の話から……まあ、何の話かは想像がつくだろう……の話へと軸足を移している。
画家たちと同じように、彼らも別の領域を必要としたのです。 これは、AI によってハッカーの仕事が絵画から写真へと変わったことを示す明確なサインです。 同時に、今ではほぼ誰もがコードの書き方を知らなくてもソフトウェアを作れます。 では、プロではない人たちがこの新しい技術で何を作っているのか見てみましょう。
スナップ写真を「フォトスロップ」と呼ぶ人はいない
AI で簡単にものが作れるようになったことで、大量のプロダクトが公開されています。RevenueCat の State of Subscription Apps 2026 によると、サブスクリプションアプリの新規リリース数は、2022年1月の月約2,000件から、2026年1月には月14,700件以上に増えました。 中には驚くほど素晴らしくユニークなアプリもありますが、多くはありふれた ToDo アプリや習慣トラッカーにすぎず、「AIスロップ」と呼ばれています。 そして、この洪水は収益にはつながっていません。2020年より前にリリースされたアプリが今もサブスクリプション収益の69%を生み出している一方で、2025年以降にリリースされたアプリはわずか3%です。
写真の世界では、これは何年も前から起きていることです。 良いカメラを持っているからといって、優れた写真家になれるわけではありません。 複数のレンズと 4,800万画素のセンサーを備えたスマートフォンなら、数回タップするだけで AI補正された見事な写真が撮れます。
僕の両親も iPhone を持っていますが、撮る写真は被写体を真ん中に置いただけのもの(日本語で言う「日の丸構図」)で、光や構図には無頓着です。 目の前にあるものをただ撮っているだけです。 スマホが自動で露出も補正してくれてシャープで見やすいです。 でも、その写真は写っているもの以上の事は何も語りません。
面白いことに、こうした写真を「フォトスロップ」と呼ぶ人はいません。誰もが見られる Instagram に投稿されていてもです。僕たちはそういう写真をどこでも見慣れているからです。
アプリが「AIスロップ」と呼ばれるのは、これまでソフトウェアを公開するということが、主に他の人に使ってもらうものを作ることを意味していたからです。でも、この状況は変わっていくでしょう。 誰もが写真を撮るように気軽にソフトウェアを作れる世界では、僕たちがスナップ写真に慣れたのと同じように、センスを特に感じないアプリにも慣れていくはずです。 僕の子どもたちが、JavaScript も他のどんな言語も知らずに自分だけの「アプリ」を作って楽しむようになるのは間違いないし、誰もそれをスロップとは呼ばないでしょう。
では、プロのソフトウェア開発者はどんな役割を担うのでしょうか?
なぜしっくりくるのかを知る
僕は2015年から写真を撮っていて、YouTube でも devaslife として動画を公開しています。チャンネルを見てくれている人なら、僕の動画のスタイルに気づいているかもしれません。それは主に、写真を通して学んだことから来ています。
写真を学ばなければならない領域は、まだたくさんあります。 例えば、ビジネスをしていて Instagram で顧客を集めたいなら、「良い」写真(や動画)を投稿する必要があります。日常のスナップ写真とは違い、これらは他の人のために作られるものです。
ビジネスに役立つ写真を撮るには、シャッタースピード、絞り、ISO、構図、ライティングなどを学ぶことは避けられません。そうすることで、デフォルト任せではなく、自分の望む結果を得られるようになります。 そうしたスキルに加えて、「センス(Taste)」を磨く必要があります。
曖昧な概念ですが、Mitchell Hashimoto はこう定義しています:
「センス」とは、客観的な指標が存在しないところで、質の高い定性的判断を一貫して下せる能力のことだ。それは直感的にしっくりくるものを生み出すことであり、それを測る正当な方法は実際には存在しない。でも、それができたとき、人はそれを感じ取る。
写真において、センスとは、写真を見たときに何がそれを「心地よく」しているのかを知り、それを再現できることだと僕は考えています。 それは測ることができません。科学的でも数学的でもありません。何かを楽しんでいるとき、自分の心を注意深く観察し、その感覚を分解して分析しなければなりません。 その本質を再現するのは、さらに別次元の話です。 自分の力で望む結果を安定して得られるようになるには、大変な努力が要ります。
これこそが、プロのソフトウェア開発者が今、勝負しなければならない場所です。 自分なりのセンスを持つだけでなく、プロとしてそれを自分の仕事の中で再現できる力が必要なのです。
自分のセンスを自然言語で言語化する
先に述べたように、プログラミング言語はもはやプログラムについて考えるためのものではありません。エージェントがあなたの考えを効率よくコードに翻訳してくれます。 今のあなたの仕事は、方向性を書き出すことです。 コードを書くことで蓄積してきた知識や経験は、エージェントが理解して活かせるように、自然言語で言語化すべきです。 正しいゴール、方向性、課題、問いを定義できるのは、あなただけです。 だからこそ、エージェントのアウトプットにあなたのセンスを反映させるには、自分が何を求めているかをうまく伝えられる必要があります。 4,800万画素のセンサーがあなたを優れた写真家にしてくれないのと同じように、Opus 10 もあなたを優れた開発者にはしてくれません。(僕自身は技術ノートを取ることでこれを実践してきましたが、それはまた別で書きます。)
初心者の方へ:あなたはラッキーです。捨てなければならない古い習慣がないので、初日から自然言語で考え始められます。 カメラでたくさん写真を撮るように、AI でできるだけたくさんのものを作ってみてください。 良いお手本を見つけて、それを何度も何度も真似してみてください。もし僕が初心者なら、そうします。 いずれ、プロンプトだけでは直せない粗に気づき始めるはずです。 そのときこそ、内部の仕組みを学ぶべきタイミングです。 僕も、初めてライカを買って、撮って出しの写真に満足できなくなるまで、RAW 現像について何も知りませんでした。
エージェントが自分のコードを書き換えるのを見ても、もう悲しくはありません。 僕のアプリは今も自分のものです。自身のセンスとアイデアが反映されているからです。 未来は誰にも予測できません。でも、そろそろギアを切り替える時でしょう。