
AI がテクノロジー業界におけるプログラマーの役割をどのように再定義しているか
TL;DR: AI が生成したコードは怠惰なプログラマーよりも優れています。ソフトウェア関連の仕事は減少していますが、ケンタウロスは生き残ります。
今日、私の友人は、ユーザー名とパスワードが必要な登録フォームに記入するように求められたことに対する不満を共有しました。
システムの設計が不十分で、何が問題なのか説明せずに安全なパスワードを要求しました。
これは、ひどい UX と、共感を持ってエラー メッセージを書くことを知らない怠惰なプログラマーの明らかな例です。
現代の AI はそのような問題を簡単に解決できるので、これは今日の世界では受け入れられないことだと私は友人に言いました。
私は携帯電話を取り出して、「LMPTFY」(Let Me Prompt That For You)と言いました。これはLMGTFYの現代版です。
私はすぐにプロンプトを書きました:
ユーザーが弱いパスワードを入力したときに役立つエラー メッセージを表示する、安全なパスワード検証サイトのコードを教えてください。
AI は次のコードで動作するページを正常に提供しました。
document.getElementById('passwordForm') .addEventListener('submit', function(event) { event.preventDefault(); // Prevent the form from submitting const password = document.getElementById('password').value; // Get the password value const errorMessages = document.getElementById('errorMessages'); // Get the error messages container errorMessages.innerHTML = ''; // Clear previous error messages let errors = []; // Array to store error messages // Validate minimum length if (password.length < 8) { errors.push('The password must be at least 8 characters long.'); } // Validate uppercase letters if (!/[AZ]/.test(password)) { errors.push('The password must contain one uppercase letter.'); } // Validate lowercase letters if (!/[az]/.test(password)) { errors.push('The password must contain one lowercase letter.'); } // Validate numbers if (!/[0-9]/.test(password)) { errors.push('The password must contain one number.'); } // Validate special characters if (!/[!@#$%^&*(),.?":{}|<>]/.test(password)) { errors.push('The password must contain one special character.'); } // Display errors or success message if (errors.length > 0) { errors.forEach(error => { const p = document.createElement('p'); // Create a new paragraph element p.textContent = error; // Set the error message as text errorMessages.appendChild(p); // Add the error message to the container }); } else { alert('Valid password!'); // Show success message if no errors } });
自分で試してみることもできます:
役に立つエラーメッセージを備えた AI 生成ソリューションは、怠惰なプログラマーにとっては悪いニュースです。
ソフトウェア開発の仕事はすでに減少しており、この傾向は今後も続くと予想されます。
これは多くの人が予測していたことです。
私は5年前の最後のAI Winterで、これが起こるだろうと予測する記事を書きました。
偉大なニールス・ボーアはかつてこう言いました。
特に将来については予測が非常に困難です。
今では、怠惰なプログラマーは破滅する運命にあることは明らかです。
平凡なコードを書く以外に、ソフトウェアエンジニアとして何ができるでしょうか?
近い将来、電気技師、配管工、塗装工などの便利な人材が不足するでしょう。
AI があなたの仕事を奪うことはありません。AI ツールを習得した開発者があなたの仕事を奪うでしょう。
私はクリーンコード、リファクタリング、プログラミングに関する記事を隔週で書いています。
これらの記事では、ガイダンスありとガイダンスなしの多くの AI の出力を比較できます。
たとえば、上記のコードには AI が気付かないいくつかの問題があります。
AI を効果的に活用する方法を知っている人間は、依然として貴重な存在です。
いくつかのツールをベンチマークしたビデオはこちらです:
うまくいけば、私の友人はすぐにパスワードフォームを完了するでしょう。あるいは、開発者がすべてのパスワードを廃止してくれるともっといいのですが。
また、皆さんがこのようなソリューションを書いて、「ケンタウロス」、つまり AI ツールを習得して自分の技術を高める開発者として報酬を得られることを願っています。