AI時代のエンジニアに求められる「抽象化能力」と、学びたい「基礎知識」のギャップ
AIを使って自然言語でモノを管理する時代が来ています。
その中で、エンジニアに求められる能力と、自分が学びたいと思う知識のギャップに気づいて、ちょっと複雑な気持ちになりました。
同じように感じている方がいたら、ぜひコメントで教えてください!
AI時代に求められる「抽象化能力」
ChatGPTやCopilotなど、AIツールを使ってコードを書いたり、システムを管理したりする時代になりました。
こういったツールを使いこなすために必要なのは、「結局、何がしたいんだっけ?」を言葉にする抽象化能力だと感じています。
- 「このシステムで実現したいことは何か」を明確に言語化する
- 「どういう制約・条件があるのか」を整理して伝える
- 「なぜそれが必要なのか」を説明できる
プログラミング言語の細かい文法や、実装の詳細を知らなくても、AIに自然言語で指示を出せば、ある程度のコードは生成してくれます。
つまり、問題を適切に抽象化して、言葉で表現する力が、これからのエンジニアにとって重要になってくるんですよね。
でも、学びたいのは「具体的なコンピュータサイエンス知識」
一方で、自分の中には別の欲求もあります。
エンジニアとして働いてきた中で、コンピュータサイエンスを体系的に学んだ経験がないという事実が、ずっと心に引っかかっています。
- アルゴリズムとデータ構造の基礎
- OSやネットワークの仕組み
- コンパイラやメモリ管理の内部動作
- セキュリティの原理原則
こういった「中身」を知っておきたい、知らねばならないという知識欲があります。
AIが生成したコードが「なぜ動くのか」「どんなリスクがあるのか」を理解するためにも、基礎を押さえておきたい気持ちが強いです。
お金を稼ぐ能力 vs 好奇心
ここで葛藤が生まれます。
お金を稼ぐためには、前者(抽象化能力)に比重を置かないといけない。
市場が求めているのは、AIを使いこなして素早くプロダクトを作れる人材です。基礎知識を深掘りするよりも、ビジネス価値を生み出すスピードが重視されます。
でも、好奇心としては後者(具体的なコンピュータサイエンス知識)を推し進めたい。
技術の本質を理解したい、根っこの部分を知りたいという欲求は、エンジニアとしての純粋な興味から来ています。
このギャップ、結構しんどいな〜と思いました。
今の時代のエンジニアは大変だなと思う
昔のエンジニアは、基礎を学びながら実践的なスキルも身につけていくという、比較的一本道だったのかもしれません。
でも今は、「AIを使いこなす能力」と「基礎を深く理解する能力」が、別々の方向を向いているように感じます。
どちらも大事なはずなのに、時間やエネルギーは有限です。
- 仕事では抽象化能力を磨いて、AI時代に適応する
- プライベートでは基礎知識を学んで、技術者としての土台を固める
両立するのは本当に大変だと思います。
あなたはどう思いますか?
この記事を読んで、共感できる部分はありましたか?
- 同じようなギャップを感じている方
- 逆に「両立できてるよ!」という方
- 「そんなこと考えなくていい」という意見の方
どんな立場でも構いません。ぜひコメントで教えてください!
きっと、みんな何かしらの葛藤を抱えながら、エンジニアとして働いているんじゃないかなと思います。
一緒に考えていけたら嬉しいです!
Discussion