この数十年の間に、さまざまなムーブメントや、パラダイム、テクノロジーの波がソフトウェアの世界を席巻した。その中には、プログラミングの煩雑な作業の多くをエンドユーザーに委ねるものもあれば、あるいはそのプロセスを自動化すると約束するものもあった。CASEツールや4GL、オブジェクト指向プログラミング、サービス指向アーキテクチャ、マイクロサービス、クラウドサービス、Platform as a Service(PaaS)、サーバーレスコンピューティング、ローコード開発/ノーコード開発などは、理論上、どれもソフトウェア開発の煩わしい作業を減らすことになっていた。つまりこれらは、潜在的には開発者の雇用の安定を脅かす存在でもあったわけだ。
提供:Getty Images
しかし今も開発者の仕事はなくなっていない。それどころかソフトウェア開発者はますます忙しくなっており、スキルを持つ人材の需要は高まる一方だ。
人材開発支援会社であるPluralsightでさまざまなコンテンツを執筆しているVlad Catrinescu氏は、「クラウドの人気が高まり、企業がOffice 365に移行し始めた頃は、近い将来、IT専門家の仕事はなくなると言われていた」と述べている。「しかし私たちの仕事はなくなっていないし、むしろこれまで以上に忙しくなっている」
問題は、開発者の仕事が最終的にどう進化していくかだ。アプリケーションの開発や保守に人工知能(AI)を応用することで、今度こそ本当に難易度の低いコーディングが過去のものになる可能性がある。
Fixie.aiの最高経営責任者(CEO)で共同創業者のMatt Welsh氏は、次の10年間で「プログラミングは過去のものになる」と予想している人物の1人だ。同氏は、米計算機協会(ACM)の機関誌Communications of ACMに最近掲載された記事で「『プログラムを書く』という従来の考え方は消えつつある」と述べている。「実際、非常に特殊なアプリケーションを除けば、私たちが知るほとんどのソフトウェアは、プログラムされたものではなくトレーニングされたAIシステムになるだろう」
Welsh氏はさらに、「あらゆるものが数千億個のパラメーターを持つGPUクラスター上で実行されるようなモデルを必要としているわけではないのだから、単純なプログラムは人間によるコーディングではなく、AIによって生成されるようになる」と付け加えている。
では、IT専門家や開発者の役割はどう変わるのだろうか。Catrinescu氏は、新世代の自動化/ローコード開発ソリューションによって、IT専門家や開発者はもっと難しいアプリケーションに取り組めるようになり、「IT部門は、企業に大きな価値をもたらすエンタープライズアプリケーションや、複雑なアプリや自動化の構築に集中できるようになる」と考えている。
argodesignの最高クリエイティブテクノロジストで共同創業者のJared Ficklin氏は、ごく最近まで、「開発の中心は、既存の技術を上手く活用することや、大きな意味でのプログラマーの資産を再利用することにあった」と述べている。「オーケストレーションのためのツールが作られたのはそのためであり、ごく普通のアプリケーション開発者が、機械学習の専門家が作った『スキル』と呼ばれるコードモジュールを使って、GUIによるオーケストレーションでAIソリューションを作れるようになった。同様に、特定分野に詳しいビジネスの専門家が、GUIを使ってキャンペーン全体のオーケストレーションを行えるようになった」