POSTD PRODUCED BY NIJIBOX

POSTD PRODUCED BY NIJIBOX

ニジボックスが運営する
エンジニアに向けた
キュレーションメディア

POSTD PRODUCED BY NIJIBOX

POSTD PRODUCED BY NIJIBOX

ニジボックスが運営する
エンジニアに向けた
キュレーションメディア

FeedlyRSSTwitterFacebook
Josh W. Comeau

本記事は、原著者の許諾のもとに翻訳・掲載しております。

今から2年前の2023年3月に“The End of Front-End Development”(フロントエンド開発の終焉)という記事を投稿しました。ちょうどOpenAIがGPT-4を発表した後で、多くの人が近い将来、ソフトウェアはすべて機械が作るようになり、人間のソフトウェア開発者は不要になるだろうという考えに傾いていました。

筆者はこうした論調には懐疑的で、当面の間、ソフトウェア開発は依然として人間の助けを必要とするだろうと前述の記事の中で主張し、その理由を論じました。筆者が立てた仮説は、大規模言語モデル(LLM)は人間の開発者を置き換えるのではなく、補強するというものです。

当時、Twitter上ではAIの登場により数カ月、長くても1、2年で人間のフロントエンド開発者の需要は無くなるとの意見が大勢を占めていました。あれから2年以上が経ちますが、現実はどうでしょうか。当時言われていたような「ポストデベロッパー」時代は到来しているでしょうか。

この記事では、現在の状況を新たな視点から捉え直し、何がどう変わったのか、今後どのような進化の過程を辿るのかを検討してみたいと思います。この記事が、開発者を志しながらも今後のキャリアに不安を覚えている読者の参考になれば幸いです。❤️

企業によるAIの利用状況

ここ数年、AIツールを導入する企業がますます増えています。最近、フォーブス誌に“AI Writes Over 25% Of Code At Google”(Google社では25%以上のコードをAIが書いている)という記事が掲載されました。

この記事のタイトルは、AIが25%、人間が残りの75%の仕事を行っているように読めますが、実際はそうではありません。これは誤解を招くタイトルだと思います。

Google社でコミットされるコードの25%をAIが生成していたとしても、AIが単独で作業を行っているわけではありません。熟練した人間の開発者が運転席に座り、知識と経験をもとにAIを操り、生成物を編集したり形成したりした上で、自分が書いたコードに組み込んでいるのです。筆者の知る限り、Google社では今もコードは100%「開発者」が作成しています。AIは彼らが仕事で使う多くのツールの一つに過ぎないのです。

つまり、Google社は製品チームの開発者の25%を解雇し、疑似知性を持つAIロボットがその代わりを務め、プロダクトマネージャー直属の部下として自律的に作業を行っているわけではないということです。大手ハイテク企業でそのようなことが起きているという話は聞いたことがありません。

一方で、自社のAIが人間の開発者を完全に置き換えることができると主張しているスタートアップ企業はあります。中でも最もよく知られているのは、1年前の2024年3月にCognition社が発表したDevinという製品です。しかし、実際に企業が使おうとすると、さまざまな問題に直面します。例えば、あるチームの報告によると、Devinは割り当てられた20件のタスクのうち3件しか完了できず、結局は手間がかかり導入する価値はないと判断されたようです。このチームは1カ月で使うのをやめました。

一部のメンバーの声を紹介します。

none

AIは十分に定義された小さなタスクはこなせますが、自分でやった方が早く、好きなやり方でできるので、その方がいいです。時間を節約できそうな大きなタスクは失敗する可能性が高いと思います。結局、使いたい場面があまりないという印象です。

-- ジョノ・ウィテカー

none

自分で手を加えられるので、最初はすごく身近に感じられて感動したのですが、使っているうちに変更が必要な点がどんどん出てきて、次第に不満が溜まるようになりました。最終的には一から順番にやり直した方がいいという結論に達しました。

-- アイザック・フラス

これらの意見はAI懐疑論者のものではなく、AI関連のスタートアップ企業に在籍し、熱意と善意を持って製品を使ってみた技術者のものです。また、彼らの体験は例外的ではありません。他にもいくつか実際にAIを使用した人の体験談・ブログなどを読みましたが、どれもあまり役に立たないという結論で一致していました。

筆者の知る限り、AI導入の成功事例には必ず熟練した人間の開発者が関わっています。したがって、ポストデベロッパー時代は到来していないと言えるでしょう。

逸脱するAI

筆者自身、数年前から多数のAIツールを試してみています。数カ月前、AI駆動の統合開発環境(IDE)であるCursorに乗り換えました。Claude SonnetでCursorの「エージェント」モードを使っていますが、率直に言ってかなり素晴らしいです。特定の種類のタスクでは、コンテキスト情報を与えて正しい方向を示せば、実行可能なソリューションを一発で生成してくれます。

TypeScriptの型のエラーやリンターエラーを検出し、多くの場合、修正することもできます。新たな発見や学びが得られたことも何度かありました。筆者が知らないAPIを使ったソリューションをAIが提案してくれたおかげで、当初検討していたものよりも良いコードが書けました。

しかし、AIは完璧ではありません。誘導する必要があります。

感覚的には、”クルーズコントロール”を使って高速道路を走るのに近いかもしれません。車は概ね進行方向に沿って走りますが、フラフラしないようハンドルを握る必要があります。そうしないと、車が徐々に車線からはみ出してしまいます。時折車線内に戻してあげないと、側溝に落ちてしまいます。

開発者不要論の問題点はまさにそこにあります。コードの書き方を知らなければ、モデルが生成したコードに重大な問題が潜んでいたとしても、気づくことができません。軌道修正の図り方も、軌道修正が必要であることも分からないでしょう。

LLMを使ってノーコードでプロジェクトを構築した人の話を聞くと、みな同様の経験をしています。出だしは好調でも、やがてどうAIを促してもこれ以上は進めないという局面に行き着きます。コードはちぐはぐで混沌とし、ある一定の線を越えるといくら応急処置を施しても維持できなくなります。そうなると、プログラム全体が破綻してしまいます。

また、LLMが不得意なタスクもたくさんあります。10分かけてClaudeに意図を理解させようとするもできず、諦めて自分で実装したら5分でできたというようなストレスの溜まる経験をしたことも何度かあります。次第にどのタスクをAIに任せ、どのタスクは昔ながらの方法で処理するのがいいか直感で分かるようになってきました。

総合すると、LLMはかなりの時間を節約してくれます。自分でやると30分かかる作業をLLMが30秒で終わらせてくれたこともあります。そういう時は本当に爽快です。しかし、実際のところ、自らコードを書いている時間の方がまだ圧倒的に多いです。

プロレスのタッグマッチのように、Claudeが得意なタスクではタッチして交代し、処理してもらいます。しかし、まだ自分でやるほうが速く簡単なので、ほとんどのコードは自分が書いています。

現在の就職市場

何年か前にこの記事を書いたとき、就職市場はかなり厳しい状況にありました。残念ながら、現在もまだ厳しい状況は変わっていません。

求職中の読者は、以前ほど質の高い求人がなく、良い求人には応募が殺到することをご存知でしょう。面接の機会を得るのも非常に難しく、内定をもらうのがいかに難しいかは言うまでもありません。

しかし、この状況は企業が開発者を自律型AIエージェントに置き換えているからではないと思います。すでに述べたとおり、筆者がこれまで読んできた実際の体験談はその仮説を裏付けるものではありません。では何が起きているのでしょうか。なぜこれほど厳しい状況が続いているのでしょうか。

これにはいくつかの要因が絡んでいると思います。

  1. マクロ経済的要因。金利がまだ比較的高く、スタートアップ企業は事業を拡大し開発者を雇うのに必要な資金を調達するのが難しい状況にあります。ここ数年、景気後退が間近に迫っているという景況感が続いています。
  2. レイオフ。大手ハイテク企業は、ここ数年の間に数十万人の労働者をさまざまな理由で一時的に解雇しています。これはつまり、多くの有能な開発者が仕事を探しているということです。
  3. AI神話。一部の企業は、いまだにAIが近い将来開発者を不要にすると考えており、積極的な雇用を行っていません。

3つ目に挙げた点については特にもどかしい思いがします。AGI* が実用化直近であり、実用化されれば人間の開発者は一切不要になると信じて企業は必要な開発者の雇用を控えているのです。「じきにそうなります」と言い始めてもう数年が経ちます。

*汎用人工知能: 人間のように学習・推論したり、まだ学んでいないこともこなすことができるAI。

今後の展望

2023年に“The End of Front-End Development”を執筆した当時、筆者は開発者を目指しキャリアをスタートさせたばかりで、コーディングを勉強中の読者にメッセージを届けたいと考えていました。世間の見通しがあまりに暗かったため、ネット上に渦巻く FUD* を少しでも解消したいと思っていました。

*不安や懸念、不透明感

過去2年間でさまざまな変化がありましたが、変わっていないことが2つあります。

  1. 企業は製品を作るためにまだ人間の開発者を必要としています。
  2. AIエバンジェリストは、もうじき企業は製品を作るのに人間の開発者が不要になるといまだに主張しています。

開発者を目指し大学やブートキャンプ、または独学で勉強中の読者もいると思いますが、皆さんが就職するチャンスはあると確信しています。ソフトウェア開発が完全に自動化されるのはまだかなり先の話だというのは明らかです。開発者の代わりではなく、開発者の生産性を高めるツールとしてAIを活用した方が遥かに効果的であることに企業が気づけば、自らの成長を妨げるような行為をやめ、より積極的に雇うようになると思います。

AIモデルは間違いなく改善し続けるでしょう。毎週のように新しいモデルがリリースされてはベンチマークの記録を更新しています。最近では、Google社がGemini 2.0 Flashと2.5 Proモデルを発表しました。

出典:Artificial Analysis

テクノロジーは進化の曲線がより緩やかになるポイントに達したように筆者は感じています。ゲームチェンジャーと呼べるような発表はしばらく出ていません。新たに出てくるモデルは少しずつ改良されてはいますが、全く新しい課題を解決するというより、すでに優れている点をさらに向上させるものです。

現在の就職市場は見通しが厳しいと感じますが、少なくとも米国では正しい方向に進んでいます。

出典:Joey Politanoのラブリーなグラフ!

AIによって本当にソフトウェア開発者が不要になっているのであれば、ハイテク系の雇用数は急速に減少しているはずだと思いますが、この1年の雇用数は増えています。この傾向が続けば、近い将来市場の見通しはかなり明るくなるでしょう。

懸念点

2023年の時点で、AIがすぐにソフトウェア開発者の仕事を奪うことにはならないという自信がそれなりにありました。それから2年が経ち、その自信は一層深まりました。コーディングは依然として極めて貴重なスキルであり、それがすぐに変わるとは思えません。

とは言え、何もかも順調で誰も心配する必要はないと言っているわけでもありません。

昨今の世界情勢は、経済をはじめ、あらゆる面で広範な影響と不確実性をもたらしているように思います。これらがハイテク業界に与える影響については予測が難しいものの、私としては挑戦的な時期となるのではないかと考えています。

次の世代の開発者について少し心配しています。LLMエージェントを使っているとトランス状態に陥り、生成されるコードを理解しないまま、あるいは見ることさえしないまま、機械的に変更を受け入れるようになりがちです。1筆者も、新しいコースのランディングページをビルドしている際にその罠にはまりそうになっていることに気づきました。ハンドルから長く手を離し過ぎてしまったため、奇妙なジャンクコードのリファクタリングに多くの時間を費やすはめになりました。

最も楽な道は、何もせず機械に任せることですが、そうすると機械が行き詰まったときにコードを修正したり、デバッグしたりするのに必要なスキルが身につきません。

一方で、LLMを積極的に利用するのであれば、今がコーディングを学ぶ絶好の機会です。筆者の場合、よく分からないTypeScriptエラーが出たときに、AIが理解を助けてくれたり、適切な資料を見つけるために必要なキーワードを示してくれたりすることが多々あります。まるで自分だけの個人講師が不明点を理解する手助けをしてくれているような感覚です。2

今後数年間がどうなるかは誰にも分かりませんが、1、2年後に企業がようやく人間の開発者がまだ必要であることを受け入れ、熟練した人間が強力なLLMを使うことで驚くべきことを成し遂げられることに気づき、ちょっとした「開発者ルネサンス」が起きても驚きません。✨

ソフトウェア開発に情熱を持ち、この仕事が高い給料を稼いでアッパーミドルクラスの暮らしを手に入れられる見込みが最もありそうだと考えているのであれば、AIの誇大宣伝に惑わされ、自信を失わないでいただきたいと思います。企業は今も雇用し続けていますし、それは当分変わらないと思います。💖

none

就職活動のヒント

現在の就職市場で仕事を勝ち取るチャンスを最大限に高める方法について話したいと思います。

最初に理解しておくべきことは、AIの登場により企業の雇用プロセスが悲惨なものになっているということです。求人を出すと、AIが生成した質の低い応募書類が何千通も届く場合があり、採用担当者にとってもすべての書類に目を通すのは困難です。求人に応募しても、他の応募書類の山に埋もれてしまう可能性が高いでしょう。

この状況に対する解決策は2つあります。

  • 求人が出てから数日以内の早い段階で応募する。
  • コネを頼る。

ハイテク業界に入ってまだ日が浅い場合、おそらく人脈と呼べるようなものはないでしょう。でも大丈夫。今日から築き始めればいいのです。 😄

方法はいくつもあります。一番手っ取り早いのが、地元で開催されているオフ会を探すことです。こうしたイベントに参加すれば、自分が就職したいと思っている会社で働いている開発者に会える可能性があります。あなたの応募書類が埋もれてしまわないよう手助けしてくれるかもしれません。

しかし正直なところ、これは筆者のように内向的な読者にとっては最適な方法ではないかもしれません。筆者が駆け出しの頃は、地元のオフ会に参加しても気後れして初対面の人に話しかける勇気がありませんでした。結局コネを作ることはできず、何の役にも立ちませんでした。 😅

幸い、他にも多くの選択肢があります。筆者の場合は、自分がビルドしたプログラムをネット上に公開することでネットワークを築きました。オープンソースプロジェクトに貢献したり、Discordコミュニティで交流したりしてもいいでしょう。筆者のブログ記事“Becoming a Software Developer Without a CS Degree”(CSの学位がなくてもソフトウェア開発者になれる方法)に書いたように、自分の強みを生かすことが成功への近道になります。

また、コミュニティもチャンスを見つける上で助けになる場合があります。腹立たしいことに、ネット上には単にデータを集めることだけを目的とした、架空の会社の求人が無数にあります。自分のLinkedInの連絡先に登録されているユーザーの勤務先をチェックし、注目すべき実在する企業のリストを作成するのも良いでしょう。

厳しい世の中ですが、これらのヒントが時間と労力の節約になれば幸いです。❤️


  1. イケてる若者の間では"vibe coding"と呼ばれている
  2. ただし、その家庭教師は時々夢想的になるので、提案には少し用心しなければならない😂
監修者
監修者_古川陽介
古川陽介
株式会社リクルート プロダクト統括本部 プロダクト開発統括室 グループマネジャー 株式会社ニジボックス デベロップメント室 室長 Node.js 日本ユーザーグループ代表
複合機メーカー、ゲーム会社を経て、2016年に株式会社リクルートテクノロジーズ(現リクルート)入社。 現在はAPソリューショングループのマネジャーとしてアプリ基盤の改善や運用、各種開発支援ツールの開発、またテックリードとしてエンジニアチームの支援や育成までを担う。 2019年より株式会社ニジボックスを兼務し、室長としてエンジニア育成基盤の設計、技術指南も遂行。 Node.js 日本ユーザーグループの代表を務め、Node学園祭などを主宰。