将来性はある?プログラミングを習得する意義について解説します

プログラミング

プログラミング学習の将来性について知りたい人
「プログラミングについて興味があります。でもAIが進化してプログラミングなんて不要になるかもしれません。果たしてプログラミング学習に将来性はあるんでしょうか?」

こんな疑問に答えます。

この記事を書いた私は、年収1,000万円ちょっとのエンジニア。高校生の頃から約20年間、C/C++,Java,SML,Ocamlなど様々なプログラミング言語を扱ってきました。

これまでのプログラミング経験とエンジニア業務経験を踏まえて記事を書きます。

本記事の内容

  • ①AIがプログラミングする時代でもプログラミング学習は無駄になりません
  • ②最も将来性が高いのは、「新しい」「稼げる」プログラム

それでは順に解説していきます。

①AIがプログラミングするようになってもプログラミング学習は無駄になりません

将来AIが進化し、プログラミングはAIが代替するようになるかもしれませんが、それでも今プログラミングを習得しておく価値はあります。

今でも、業務でプログラミングしないエンジニアがたくさんいます。私もそんな一人です。

私の場合、海外や国内の他社にプログラム開発を委託しています。

自分でもプログラミングできますが、プログラム開発を委託するとその分、自分の時間が空きます。

その時間を使って、どんなプログラムを作ったら喜ばれるか、どのくらいのお客さんが同時に利用する前提のプログラムにするかなど、要件を決める仕事に集中できます。

またプログラムの試験を計画したり、リリースするための準備や問題が発生した場合の対処を検討するのも重要な仕事です。これらは全てアプリケーションエンジニアの仕事で、一般にプログラミングよりも付加価値の高い仕事です。

私からすれば、今までプログラミングを他の人にお願いしてやってもらっていたのを、AIにお願いするようになるだけです。

だからプログラミングをAIがするようになっても、私の仕事は減りませんよね。

でもプログラムが読めないと、トラブルが発生したときにシューティングができません。

ですから自分がプログラムの動作を理解した上で他の会社やAIにプログラム開発を委託する必要があるため、その基礎となるプログラミングの学習は無駄にはなりません。

②最も将来性が高いのは、
「新しい」「稼げる」プログラム

ではどのような視点でプログラミング学習をすればいいのでしょうか?

  • 主張1:一般論として物事は「古い価値」から「新しい価値」へ向かっていく
  • 主張2:プログラミングも「古い価値」と「新しい価値」にわかれる
  • 主張3:さらに「稼げるプログラム」と「稼げないプログラム」にわかれる

順に解説します。

主張1:一般論として物事は「古い価値」から「新しい価値」へ向かっていく

一般的に、ただし主にテクノロジーの世界では、「古い価値」と「新しい価値」のものがあります。
例えば携帯電話に例えます。
「古い価値」・・・ガラケー
「新しい価値」・・・スマホ

iPhoneが2008年に登場して依頼、ガラケーはシェアを落とし続け、2019年現在でシェアは約10%です。

ガラケーもガラホ(機能や見た目はガラケーだが中身はAndroidでできたモデル)になって新しい技術を取り入れつつ、お年寄りを中心に古い価値を発揮し続けます。

重要なのは、「新しい価値」(スマホ)が世に出ても「古い価値」(ガラケー)が直ぐに価値を失ってなくなるわけではなく、「古い価値」から「新しい価値」にだんだんと世の中が動いていくということです。

主張2:プログラミングも「古い価値」と「新しい価値」にわかれる

プログラミングの世界も同じで、「古い価値」と「新しい価値」が混在しています。
「古い価値」・・・COBOL、アセンブラ、C言語、メインフレーム、UNIX、Java
「新しい価値」・・・GO、R言語、python、Kotlin

COBOLは1950年代に作られたプログラミング言語ですが、現役で開発現場で使われています。一方、近年新しく作られたGO言語なども世の中で活躍し、「古い価値」と「新しい価値」が混在しています。

信じられないほど古い技術が、現代のビジネスで通用し需要があるという視点はぜひ知っていただきたいと思います。

人間も会社も過去の経緯を切り捨て、突然新しいものに変化することができないのです。

主張3:さらに「稼げるプログラム」と「稼げないプログラム」にわかれる

ではなぜCOBOLのような古いプログラムが行き続けるのか?もう一つの視点に、世の中には「稼げるプログラム」と「稼げないプログラム」があるということです。

古くて稼げないプログラムやサービスは継続する価値を生み出せず、やがて廃止になっていきますから、生き残ることはできまえん。

一方、古くても稼げるプログラムは、生き残り続けます。

現代に残っているCOBOLプログラムは、基幹業務システムなど過去から引き継いだ超重要システムの中に存在し、Javaなど現代で一般的なテクノロジーに置き換えるリスクが取れない、または取りたくないものばかりです。

こうした「稼げるプログラム」であれば、「古い価値」「新しい価値」どちらかを問わず、価値のあるプログラムといえます。

結論:これから専念すべきは「新しい価値」で「稼げるプログラム」

とはいえ、若い世代が今からCOBOLを学習するのはおすすめできません。

一般的に古い価値は新しい価値よりも短命だし、新しい価値のほうが効率も良いのでこれから学習するなら「新しい価値」を持ったGO、R言語、python、Kotlinです。

また生き残るためには稼げるのか?という視点を忘れないようにしてください。

プログラミングは所詮、目的を達成するための手段にすぎません。「どうやって作るか」より「何を作るか」が大切です。

ですから、価値のあるもの、稼げるものを作るんだという視点を持ってプログラム学習をし実際に使っていけば、プログラミングスキルは将来に渡って価値のあるものとなるはずです。