「もうエンジニアいらない」と言われた日
「AIがあれば、もうエンジニアはいらないよね」
2024年のある日、そんな言葉を何気なく聞きました。確かに、ChatGPTやClaude、GitHub Copilotといったツールの進化はすさまじい。コードを書かせれば秒で出してくれるし、エラーも教えてくれる。
「じゃあ、本当にエンジニアはいらないのか?」
その答えは、実際にAIとアプリ開発を1年やってみて、ようやく見えてきました。
結論から言います。
AIでアプリは作れます。でも、責任だけは絶対に肩代わりしてくれません。
私がAIと作った4つのアプリ
まず前提として、私は非IT業界出身です。プログラミングもほぼ独学。でも今、Flutter/Dartを使って複数のアプリを開発・公開しています。
① わりわり(酒割り計算機)
お酒の割り方を計算するシンプルなツールアプリ。広告とアフィリエイトで小さくマネタイズ中。
② すごいシンプル家計簿
ストア公開済み。完全ローカル端末保存だから、個人情報を扱わない。だからこそ、慎重なデバッグだけで公開できました。
③ つなぐToDo(開発中・申請間近)
家族や友人とタスクを共有できるアプリ。Firestoreを使い、メールアドレスなどの個人情報を扱います。技術的には完成していますが、個人情報の重さを考えて、まだ世に出せていません。
④ つぶやきの灯(ともしび)(企画中)
「書くこと自体」を大切にする文章アプリ。編集機能なし、評価なし。今、企画・設計段階です。
これらすべて、AIと一緒に作りました。
コードの大半はAIが書いてくれました。設計の相談も、AIに聞きました。
でも、ひとつだけ。
「これで公開していいか?」は、私が決めました。
AIは「書く」が、「判断する」はできない
AIとの開発で一番痛感したのは、AIは判断を代行してくれないということです。
よく「AIがバグを見つけてくれる」と言われます。
でも、これは半分正しくて、半分間違っています。
AIが見つけられるのは、エラーだけです。
- 構文エラー
- 型の不一致
- 未定義の変数
こういった技術的なエラーはAIが教えてくれます。
でも、その挙動が正しいかどうかは、AIには判断できません。
なぜなら、仕様を決めたのは人間だからです。
実例:「つなぐToDo」でのバグ判定
たとえば、「つなぐToDo」の開発中。
タスクを共有する際、削除したタスクが他のユーザー側で消えない、という挙動がありました。
AIの判定:
「エラーは出ていません。正常に動作しています」
でも私は気づきました。
「いや、これは共有タスクだ。こちらで消したら、相手側にも反映されないといけない」
だから、これはバグだ。修正するべきだ。
AIにとっては、エラーが出ていないので「正常」です。でも、**仕様を決めた私にとっては「異常」**でした。
この判断ができるのは、実装を決めた人間だけです。
バグを探すのも人間です。
AIは「エラーが出ているか」は教えてくれます。でも、「これがユーザーにとって正しい挙動か」は教えてくれません。
シフト管理アプリを止めた理由
以前、介護業界向けのシフト管理アプリを作っていました。
技術的には完成していました。Webアプリとして公開もしました。
でも、開発を一時中止しました。
理由は、個人情報の重さです。
シフト管理アプリは、以下の情報を扱います。
- 職員の氏名、連絡先
- 勤務時間、休暇情報
- 場合によっては給与に関わるデータ
もし、情報漏洩したら?
もし、シフトの計算ミスで誰かに迷惑をかけたら?
もし、法規制に違反していたら?
その責任を、私一人で取れるのか?
AIに聞きました。
私:「このアプリ、個人情報扱うけど大丈夫?」
AI:「セキュリティ対策としては、SSL通信、パスワードハッシュ化、アクセス制御が必要です」
私:「介護業界って法規制厳しいよね?」
AI:「介護保険法、個人情報保護法、労働基準法などが関係します。専門家への確認が推奨されます」
私:「…これ、個人開発で責任取れる?」
AI:「リスクを考慮した判断が必要です」
ここで気づきました。
AIは「できる」「できない」は教えてくれる。でも「やるべきか、やめるべきか」は教えてくれない。
最終的に、私はシフト管理アプリの開発を止めました。
その判断は、AIではなく、私がしました。
「すごいシンプル家計簿」を公開できた理由
一方で、「すごいシンプル家計簿」は公開しました。
なぜか?
完全ローカル端末保存だったからです。
- サーバーに送信しない
- 個人情報を扱わない
- データは端末内だけで完結
だから、慎重なデバッグだけで公開できました。
同じ「お金を扱うアプリ」でも、
- 個人情報を扱うか、扱わないか
- サーバーに保存するか、ローカルだけか
この違いで、責任の重さが全く変わります。
その判断ができるのは、人間だけです。
「つなぐToDo」を出せない理由
「つなぐToDo」は、技術的には完成しています。
Firestoreで動いています。タスク共有もできています。
でも、まだ世に出していません。
なぜなら、個人情報(メールアドレス)を扱うからです。
このアプリは、私にとって個人情報を扱う訓練でもあります。
- メールアドレスの保護は十分か?
- 不正アクセス対策は万全か?
- データ削除機能は正しく動くか?
技術的には動きます。でも、「これで出していい」と確信できるまで、公開しません。
申請は間近です。でも、最後のチェックは妥協しません。
その慎重さが、責任です。
AIは「最高の相棒」だが、「舵取り」はできない
誤解しないでほしいのですが、私はAIを否定していません。むしろ感謝しています。
AIがいなければ、私は今もコードを書けていなかったでしょう。
AIの役割は明確です。
| AIができること | AIができないこと |
|---|---|
| コードを書く | 「このコードで世に出していいか」を判断する |
| エラーを見つける | 「この挙動が正しいか」を判定する |
| 仕様の選択肢を出す | 「どの仕様が正しいか」を責任持って選ぶ |
| 技術的な助言をする | 倫理的・法的な最終判断をする |
つまり、AIは部品です。優秀な道具です。でも判断者ではありません。
だからこそ、私は「AI×人間」という立ち位置を取っています。
- AIは最高の相棒
- でも、舵を握るのは人間
- 最後に責任を持つのも人間
「作れる」と「出していい」は別物
AI時代で一番危険なのは、この勘違いです。
「技術的に動く = 公開していい」
違います。
アプリを世に出すということは、
- 誰かの時間を奪う(使ってもらう以上、価値がなければ失礼)
- 誰かのデータを預かる(個人情報、行動履歴、場合によってはお金)
- 誰かの判断に影響を与える(計算ミス、誤情報、誤解を招く設計)
という責任を負うことです。
もし不具合があったら?
もし誤解を招く表示だったら?
もし誰かを傷つける結果になったら?
「AIが書いたコードなので」は、言い訳になりません。
公開ボタンを押したのは人間です。だから責任も人間が取る。それだけです。
これからのエンジニアに求められるもの
「AIがあればエンジニアはいらない」
この言葉は、半分正しくて、半分間違っています。
正しい部分:
単純にコードを書くだけのエンジニアは、確かに不要になるかもしれません。
間違っている部分:
でも、「何を作り、何を作らないか」を判断できる人は、これからもっと必要になります。
AIはコードを書くスピードを上げます。でも価値判断の代行はしません。
だからこそ、これから求められるのは、
- 技術力(AIを使いこなせる)
- +判断力(作るべきか、作らないべきかを決められる)
- +責任感(自分の決断に責任を持てる)
こういう「考えるエンジニア」です。
AI時代だからこそ、「立ち位置」が問われる
私はこれからもAIを使い続けます。
でも、逃げ道としては使いません。
- 「AIが書いたコードだから」という言い訳はしない
- 「AIが提案したから」という責任転嫁もしない
- バグを探すのは自分、仕様を決めるのも自分
- 最後は自分で考えて、自分で決めて、自分で責任を取る
それが、私の開発スタンスです。
まとめ:AIは万能じゃない。だから面白い
AIでアプリは作れます。
でも、バグを探すのも、責任を取るのも人間です。
作れることと、出していいことは別です。
AI時代ほど「立ち位置」が重要になります。
もしあなたが、
- 「AIでアプリ開発してみたい」
- 「エンジニアとして転職を考えている」
- 「AIとどう付き合えばいいか悩んでいる」
そんな状況なら、ひとつだけ覚えておいてください。
AIは道具です。使い手の責任は、使い手が取る。
それさえ忘れなければ、AIは最高の相棒になります。
📌 この記事を書いた人
IT×ライフケア/きまいら(ペンネーム)
Flutter/DartでAIと共同開発中。失敗も成功も、全部正直に書いています。


コメント