0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

こんにちは、もんすんです。

電車の広告やSNSで、いまだに「未経験からエンジニアへ」というスクールの広告を見かけます。それ自体は珍しくもなんともない、もう何年も前からある光景です。

ただ、最近ふと引っかかるようになりました。

AIにコードを書かせれば、エンジニアの専門知識がなくても、それらしいアプリが作れてリリースまでたどり着いてしまう時代に、この広告はまだ意味のあることを言っているのだろうか?

という疑問です。

私自身、研究職からソフトウェアエンジニアへ転身した過去があります。

「未経験からエンジニアになる」という選択肢の当事者だった立場として、この問いは他人事ではありません。
今回は、この疑問について自分なりに考えを整理してみようと思います。

対象読者

  • これからエンジニアを目指そうか迷っている人
  • 「AIがあるなら、もう学ばなくていいのでは」と感じたことがある人

「知識がなくても作れる」は、もう事実になっている

まず前提として、「AIがあればエンジニア知識がなくても開発できる」というのは、誇張ではなく事実だと思います。

  • 自然言語で要件を伝えるだけで、動くコードが生成される(バイブコーディング)
  • エラーが出ても、そのエラーメッセージをAIに渡せば修正案が返ってくる
  • デプロイの手順すら、AIに聞きながら進められる

数年前まで「プログラミング未経験者がアプリをリリースする」までのハードルは、環境構築・文法習得・エラーとの格闘など、何段階もありました。

今はそのハードルの多くを、AIが肩代わりしてくれます。
「作る」という行為だけを見れば、専門知識の必要性は明確に下がっています。

この事実は否定する余地がなく、素直に認めるところから始めたいと思います。

「トラブル時に誰が責任を取るのか」問題

ここで一つ、大きな疑問が出てきます。
AIに丸投げで作ったシステムに、本番環境で障害が起きたとき、それを直せるのは誰か、という問題です。

  • 原因がAIの生成したコードの中に埋もれていて、読んでも分からない
  • 「なぜそう動いているのか」を説明できる人が、社内に誰もいない
  • 障害が起きている最中、AIに「直して」と頼んでも、症状が再現しない・原因が特定できない

これは以前AIへの委任レベルという記事で整理した話とも重なります。
AIに実装を任せる「L1」の段階では、人間が構想・設計・レビューを担っているので、何かあっても人間が引き取れます。でも、構想から実装まで丸ごと任せる「L3」の状態でシステムを作ってしまうと、平時は誰も困らないが、有事に誰も対応できないという状態が生まれます。

障害対応というのは、可逆性が低く、リスクが高い場面の代表格です。
「知らないけど動いていた」システムが壊れたとき、AIに「直して」と丸投げして本当に復旧できるかという点でまだ懸念が残ります。

もしそれが完全にできるようになったら、「トラブル時に人間が要る」という論拠は崩れます。
これは正直に認めないといけません。
都合よく「AIには限界がある」を根拠にし続けるのは、思考として誠実ではないと思っています。

そこまで進んだ未来を仮定したとき、それでもエンジニアを目指す意義は残るのか。
ここが、この記事で一番考えたかったところです。

「誰が判断するか」は、実装力とは別のレイヤーにある

私が今のところたどり着いている考えはこうです。

AIが「作る」「直す」を全部巻き取れるようになったとしても、「何を作るべきか」「何が壊れたら困るのか」「どこまでのリスクを許容するか」を判断する主体は、必ずどこかに必要になる。

これは実装力の話ではありません。
判断力・目的設定力の話です。

AIは与えられた目的や制約の中で最適化するのは得意ですが、その目的や制約自体を、誰かが最初に置かないといけない構造は、AIがどれだけ賢くなっても変わらないはずです。

加えて、社会的な意味でも「責任の所在」は人間側に残り続けると思っています。

技術的にAIがトラブルを解決できるようになったとしても、「その解決を採用していいか」を最終的に判断し、結果に対して説明責任を負うのは、制度上も倫理上も人間である必要がある場面がほとんどです。医療や金融のように、人の生活に直結する領域ほどその傾向は強くなるはずです。

つまり、「作る」の価値はAIに奪われていくが、「何を、なぜ作るか」「何を許容し、何を許容しないか」を判断する価値は、むしろ相対的に重くなっていくというのが、私の今の見立てです。

では、これからエンジニアを目指す人は何を学べばいいのか

この見立てに立つと、「これから学ぶべきこと」の中身は、数年前とは変わってくると思います。

❌ 構文・API・フレームワークの使い方を覚えることに全振りする
✅ 「なぜこの設計にしたか」「このエラーは何を意味しているか」を説明できる理解を積む

コードを書く手を動かす練習は今も必要です。

ただそれは「AIに指示を出すための語彙を持つ」「AIの出力が正しいかを判断できる土台を作る」ためのものに、比重が変わってきていると感じます。

極端に言えば、AIが出したコードを見て「これは危ない」と気づける勘を養うことが、これからのエンジニア教育の核になっていくのではないでしょうか。

これは、広告で見かける「未経験から3ヶ月でエンジニアに」という謳い文句とは、少し違う方向性です。「早く作れるようになる」ことより、「作られたものの良し悪しを判断できるようになる」ことに時間を使う方が、AI時代には価値が長持ちする気がしています。

おわりに

「AIがあるならエンジニアを目指す意味がないのでは」という問いに対する私の今の答えは、

「作る人」としての意義は薄れていくが、「判断する人」としての意義はむしろ増していく

というものです。

自分自身、別業種からエンジニアに転身した身として、「畑違いから来ても、その領域の"判断ができる人"にはなれる」という感覚を持っています。
だからこそ、これからエンジニアを目指す人にも、コードを書く技術そのものより、技術の良し悪しを見極める判断力を育てるという視点を持ってもらえたら、と思っています。

答えの出ない問いではありますが、同じように迷っている人の思考の材料になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?