エンジニアの技術力とは?AI時代に「コードを書く力」だけでは足りないと思う理由

市場価値

ITエンジニアとして約10年働いています。

でも、自信を持って「自分には技術力があります」と言えるかというと、正直かなり微妙です。

特に実装にはあまり自信がありません。

コードを書くのが速い人や、新しい技術に詳しい人を見ると、

「こういう人が技術力の高いエンジニアなんだろうな」

と思っていました。

ただ最近、生成AIがコードを書いたり、レビューしたりするようになってきて、一つ疑問が出てきました。

そもそもエンジニアの技術力って、コードを書く力のことなんだろうか?

今回は、実装に自信がない10年目SEの自分なりに「技術力とは何なのか」を考えてみます。

技術力=コードを書く力だと思っていた

自分の中では長い間、技術力とプログラミング力がかなり近いところにありました。

  • コードを書くのが速い
  • 複雑な実装ができる
  • 新しい技術に詳しい
  • 難しい技術の話ができる

こういう人を見ると、自分より技術力が高いと感じます。

もちろん、コードを書く力は重要です。

ただ、実際の仕事を考えると、それだけではありません。

何を作るのか理解する。原因を調べる。どう実現するか考える。設計する。実装する。テストする。問題があれば直す。

コードを書くのは、その中の一部分です。

IPAの「DX推進スキル標準」でも、ソフトウェアエンジニアは単にコードを書く人ではなく、システムやソフトウェアの設計・実装・運用を担う人材として整理されています。

技術力は「技術で課題を解決する力」ではないか

では、技術力とは何なのか。

今のところ、自分にはこの考え方が一番しっくりきています。

エンジニアの技術力とは、技術を理解し、選び、使い、課題を解決する力。

これは公的な定義ではなく、このサイトで技術力を考えるための自分なりの整理です。

例えば「画面が遅い」という問題があったとします。

コードを書き換えれば解決するとは限りません。

SQLなのか。ネットワークなのか。アプリケーションなのか。そもそもの設計なのか。

原因を調べて、解決方法を考えて、適切な技術を使って直す。

そう考えると、実装力は技術力の重要な一部ではあるものの、技術力そのものではないと思えてきます。

AIが入ると、この考え方はもっと重要になる

そして今、この「コードを書く力=技術力ではない」という考え方が、生成AIによってさらに分かりやすくなってきています。

現在のAIは、コードを生成するだけでなく、既存コードを調べたり、レビューして問題を指摘したりするところまで進んでいます。

コードを書く作業の一部をAIに任せられるなら、人間の仕事は少し変わります。

AIがコードを書くなら、人間は「何を作らせるのか」を考える。

AIが設計案を出すなら、人間は「どの案を採用するのか」を考える。

AIがレビューするなら、人間は「その指摘が正しいのか」を判断する。

もちろん、AIが進化すれば、こうした判断自体もAIが支援するようになると思います。

だから「AIにはできない仕事を探す」というより、AIができることが増えたとき、人間はどこに力を使うようになるのかと考えた方がよさそうです。

ただ、今のSIerではAIを自由に使えるとは限らない

とはいえ、ここまでの話をそのまま現在の現場に当てはめるのも違うと思っています。

一般的なSIerでも、利用できる生成AIや用途がかなり限られている現場は多いと思います。

企業システム開発では、顧客情報、ソースコード、設計書、ログなど、自由に外部サービスへ入力できない情報を扱うからです。

会社指定のCopilotなどは使えても、顧客のソースコードを好きな生成AIへ渡したり、AIエージェントに開発を丸ごと任せたりできるとは限りません。

実際、IPAの調査でも、生成AIの業務利用について何らかのルールを定めている企業は52.0%で、利用自体を禁止している企業も26.2%ありました。

「世の中のAIに何ができるか」と「実際の現場で何を使えるか」は別。

ここは分けて考える必要があります。

今は実装力も必要。でも未来は重心が変わるかもしれない

なので現時点で、

「AIがコードを書いてくれるなら、もう実装力はいらない」

とは思いません。

AIを使えない現場なら、自分でコードを書く必要があります。

AIを使えたとしても、コードの意味が分からなければ、そのまま使っていいか判断できません。

今はまだ、コードを書く力も、読む力も、技術の基礎を理解する力も必要です。

ただ、企業でも安全にAIを使える環境が整っていけば、少しずつ重心は変わっていくと思います。

「自分で大量のコードを書く力」よりも、

  • 何が問題なのか理解する
  • AIに何を任せるか決める
  • 出てきたものを理解する
  • 正しいか検証する
  • 最終的に判断する

といった力の比重が上がっていくのではないか。

自分は今のところ、そう考えています。

実装に自信がない=技術力がない、ではない

自分は今でも実装にあまり自信がありません。

でも今回考えてみて、

実装に自信がない=技術力がない、ではない。

でも、AIがコードを書いてくれる=実装力はいらない、でもない。

というところに落ち着きました。

今後AIがどこまで開発に入ってくるのかは、まだ分かりません。

それでも、エンジニアの目的が「コードを書くこと」ではなく「技術を使って問題を解決すること」だと考えれば、AIが入っても本質はそこまで変わらないのかもしれません。

技術力とは、技術を理解し、選び、AIも含めて使いながら、課題を解決する力。

今の自分は、そう考えています。

前の記事では、この技術力も含めて、自分の市場価値を5つの軸で棚卸ししています。

→ SIerで10年働いた自分に市場価値はあるのか?33歳・しがないSEが棚卸ししてみる

市場価値そのものについては、こちらの記事で整理しています。

→ ITエンジニアの市場価値とは?しがないSEなりに5つの軸で考えてみる

参考にした資料

コメント

タイトルとURLをコピーしました