見出し画像

【エキスパートが解説】AI時代も変わらない! 開発者が持つべきコーディングスキルと、時代を超えて大切なこと

システム開発を担うITエンジニア(開発者)にとって、コーディングはコアとなるスキルです。しかし、最近はAIがコード生成まで行えるようになり、「もう人がコードを書く必要はない」といった声も聞かれるようになりました。本当にそうでしょうか?

AIを開発業務で正しく使いこなしていくためには、コーディングのスキルが不可欠です。また、開発業務のコーディングは、単に早くコードを書けばよいというものではありません。業務におけるコーディングでAI時代も変わらず重要なスキルや、今後、開発者はAIとどう付き合っていくべきか、そして開発者にとって最も大切なことについて、私なりの考えをご紹介します。


プロフィール

Shotaro.A
IT事業部 システムソリューション統括本部 エンタープライズソリューション本部 Global Bridge部 技術推進G マネージャー

沖縄県在住。地元のシステムインテグレーターでITエンジニアとして経験を積んだ後、より多くの経験と成長の機会を求めてパーソルクロステクノロジーに入社。現在は沖縄を拠点に、ベトナムや東京のメンバーと連携しながらフルリモートでGlobal Bridge部のプロジェクトに対する技術支援を行っている。

AI時代もコーディングは開発者のコアスキル

生成AIでコードの自動生成まで可能になった今日、「これからはAIがコードを書くのだから、開発者はコーディングしなくてもよい」「もうコーディングについて学ぶ必要はない」と考える方もいらっしゃると思いますが、その考えは適切でないと私は思います。

理由は大きく二つあります。一つは、コーディングについての正しい知識がないと、生成AIにコード生成を指示するためのプロンプト作成が効率的に行えないこと。もう一つは、生成AIは完全ではなく、もっともらしい嘘をつくハルシネーションを起こします。コーディングの知識がないと間違ったコードが生成された際にそれを見抜けず、最終的に私たちが担保すべき品質を保てなくなってしまうことです。私はこの二つの理由から、今後もコーディングは開発者にとって核となるスキルであり続けると考えています。

また、生成AIをうまく使いこなすためには、コーディングの知識が不可欠だという側面もあります。今日の生成AIは一般的な知識で学習した汎用的なものが多くを占めます。このような生成AIをそのまま使っても、個々のお客様のプロジェクトの要件に合ったコードを生成するのは難しいでしょう。どうしても生成AIを使いたければ、お客様固有の要件をまとめた情報をRAG(Retrieval-Augmented Generation)などのテクニックを使って付加的に与える必要があります。それらの情報を用意するためにはコーディングの知識が必要です。

さらに、ときには使用する生成AIを開発者自身が選定する場合があるでしょう。その際、どの生成AIがコーディングに向いているか、どれがより正しいコードを生成できるかを自分で確かめなければなりません。そこでもコーディングの知識が必要なのです。

開発業務のコーディングで大切なのは「読みやすいコードを書く」こと

それでは、システム開発などの業務におけるコーディングで最も重要なことは何でしょうか。昨今は静的解析ツールや統合開発環境(IDE)などの開発支援ツール、Gitなどのコード管理ツールが充実してきましたが、開発業務のコーディングで大切なことの本質は変わっていません。それは「読みやすいコードを書く」ことです。

開発業務は、自分の担当分を効率良く、早くコーディングすればよいというものではありません。システムは長く使い続けるのが普通であり、保守期間の中で改修や機能拡張が度々行われます。多くの場合、それを担当するのは自分以外の開発者です。

このとき、書かれているコードが読みづらいと解読に手間と時間がかかり、保守作業の効率性が低下してしまいます。また、正しく解読できずにリグレッションを発生させてしまう恐れもあります。そのため、他の開発者にとって読みやすいコードを書くことがとても重要なのです。

さらに、読みやすいコードを書くことを大前提としたうえで、効率良くコーディングが行えることは非常に貴重なスキルです。かつて私のメンバーに、コーディングが得意な人がいました。その人に任せると、他のメンバーの2、3倍のスピードで仕上げてくれます。これにより、浮いた時間を、より良いシステムを作るためのお客様とのコミュニケーションに使うことができました。

今後のテーマはAIに任せられる領域を広げていくこと

ITエンジニア不足が深刻化する中、人にしかできないことに開発者が注力していくために、今後はAIに任せられる領域を広げていくことが課題の一つです。システム開発は要件定義から設計、開発、テスト、運用保守といった流れで進みますが、これらのうち開発に関してはまだ一部しかAIに頼ることができていません。

今後は開発のみならず、設計や要件定義、テスト、運用保守でも活用していけるよう、私たちもツールや手法の勉強、開拓を少しずつ進めています。お客様の側には、開発業務でAIを使うことに対してネガティブな反応はないようです。逆に「これからは積極的に使っていこう」といった声をよく耳にするので、お客様の期待に応えていくためにもAIの活用は必要だと感じています。

また、パーソルグループとしても、開発のみならず、さまざまな業務でAIを活用していこうという動きが加速しています。AIを企業で使う際、最大の懸案事項はセキュリティです。そこで、セキュリティをしっかりと担保しながらAIを利用できる環境の整備を検討しています。

コーディングもAIも目標達成の手段。最も重要なのは新たな技術を楽しんで学び続けること

今後、開発業務でAIを適用する領域が広がっていくと考えられる中、開発者はAIとどう付き合っていけばよいでしょうか。

開発者にとってコーディングやAIを使いこなすスキルは、「求められるシステムを実現する」という目的を果たすための手段にすぎません。重要なのは、これらの手段をうまく使い分けて目的を達成することです。そのためには、各手法や技術にどのような特性があるのかを正しく理解することが大切です。AIは万能ではなく、得手不得手があります。それらをしっかりと認識し、どのような課題に効果があるのかを判断できるスキルが求められます。その点では、従来と異なるのはAIという技術軸が一つ増えたことだけであり、これまでと大きく変わらないと感じています。

そう考えると、開発者にとって最も重要なスキルとは「技術を楽しんで学べる」ことではないでしょうか。よく言われるように、技術には“銀の弾丸(※1)”などありません。コーディングスキルもAIも銀の弾丸ではなく、開発者は新たな技術を学んで課題解決のための引き出しを増やすことが肝心です。常に学び続けることが求められるわけですが、私は最も効果的に学ぶコツは楽しんでやることだと考えています。単に新しいことを追い続けることよりも、「楽しんで学ぶ」ことのほうがより重要です。

※1 どのような問題にも適用できる万能の解決策のこと。

パーソルグループは「はたらくWell-being創造カンパニー」を目指しています。「はたらくWell-Being」とは「仕事だけでなく人生もキャリアの一部と捉えた上で、キャリア面で幸福を構築しているか」を追求することを指しますが、この実現のために当社には積極的に学ぼうとするエンジニアを支援する教育支援が充実しています。

また、AIという技術に関しても、すでにAmazon BedrockなどAIを利用したアプリケーションを手軽に構築できるサービスが登場してきています。AIは作る時代から使う時代に入っており、今後はさまざまなAIサービスの特性を理解し、うまく使い分けられることが必要になるでしょう。

私たちも、開発の各フェーズでAIをどう使えるかを整理し、人とAIがうまく作業を分担しながら生産性を高めていくための方法について、PoC(Proof of Concept:概念実証)なども通じて考えていきたいと思います。

私が所属するエンタープライズソリューション本部では、さまざまな業界のお客様に対して先進技術を活用したシステムの開発/運用サービスをご提供しています。「エンジニアの個性を伸ばし、多様なカラー(強み)のある組織を目指す」をスローガンに掲げており、私たちエンジニアは常に新たなチャレンジを続けながら成長に努めています。技術が好きな方には最高の職場だと思いますし、私自身は沖縄県に住みながらフルリモートで国内外のメンバーと一緒に仕事をするなど、はたらきやすい環境でもあります。さらなる成長の機会を求めているITエンジニアの方は、ぜひ私たちと共に仕事をしませんか。


パーソルクロステクノロジーでは幅広いポジションで積極的に採用中!
超上流から関われるプライム案件にジョインしていただけるエンジニアを募集しています。
企画から保守運用まで一気通貫で関われるSIerの組織で、エンジニアとしてのキャリアアップを目指しませんか?
現在募集中の職種は、以下リンクの事業領域「システムインテグレーション」をご覧ください。


更新情報はXでお知らせしています