プログラミングの需要はありまくりです【AIの完全自動化もまだ先】
プログラミングに興味があるけど、将来性とか需要ってどうなっているのだろうか。
AIに奪われる仕事だったら嫌だなぁ笑
なので、プログラミングの需要について、現役のエンジニアに話を聞いてみたい。
今回はこのような悩みについて解説いたします。
仕事ではスマホを使った次世代型システムの開発に携わっており、最新の情報を仕入れながら日々業務を行っている。
プログラミングの需要はありまくりです
プログラミングの需要は、正直ありまくりですよ。
なぜなら、巷では以下のようなワードが飛び交っており、それらはすべてプログラミングが絡む技術だからです。
- AI
- Iot
- 自動運転
- サイバーセキュリティ
これら技術により、むしろ需要が増え続けています。
AI、IoT、自動運転、サイバーセキュリティなどで需要増加
各技術の概要は以下です。
人工知能(じんこうちのう、英: artificial intelligence、AI〈エーアイ〉)とは、「『計算(computation)』という概念と『コンピュータ(computer)』という道具を用いて『知能』を研究する計算機科学(computer science)の一分野」を指す語。「言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術」、または、「計算機(コンピュータ)による知的な情報処理システムの設計や実現に関する研究分野」ともされる。
要は人口知能です。
人口知能ということは、人間の脳みそになる部分、つまりはモノゴトを判断するところが自動化されているのですが、これをプログラミングにより行っています。
なので、AIの発達によりプログラミングの需要は増加することとなるのです。
なお、AIの活用事例として、例えば行政の活用例は以下のようなものがあります。
- 北海道岩見沢市:気象データや栽培履歴データを基に、農作業スケジュール最適化に向けた、解析と予測情報の配信
- さいたま市:保育所入所申請において、市の割当てルールを学習したAIを活用、保育所利用調整業務を省力化
- 川崎市廃棄物収集運搬・処理業務最適化として、複数業者の連携による、最適な収集運搬ルートの試算
モノのインターネット(物のインターネット、英: Internet of Things:IoT)とは、様々な「モノ(物)」がインターネットに接続され(単に繋がるだけではなく、モノがインターネットのように繋がる)、情報交換することにより相互に制御する仕組みである
要は、すべてのモノがネットにつながり、制御されるというものです。
すべてのモノをネットにつなぐので、
- どのようなデータをネット上に送るか
- どのように送るか
すべではないですが、このような部分をプログラミングにより行うこととなります。
なので、Iotの発達によりプログラミングの需要は増加することとなるのです。
なお、Iotの活用事例として、例えば農業の活用例は以下のようなものがあります。
- 北海道:農産物直売所での二次元コードを活用したPOSレジシステム
- 栃木県:経験者の技術を数値で「見える化」し生産性アップ
- 福岡県:各現場の進捗状況を通信を使って一括管理
- 東京都:作業環境や作業時間のモニタリングで安全性と生産性がアップ
乗り物の進行方向や速度などを、人の手に代わって、機械が制御する。オートパイロットと呼ばれるシステムは旅客機を始めとした航空機に特によく導入されている他、船舶や自動車にも導入されている。
要は、言葉の通り、ドライバーなしでも運転できるしくみのことです。
自動運転をするには、
- モノの検知(人、車)
- 車両や機械を動かす/動かさないの判定
- モノを検知したときの動作指定
すべではないですが、このような部分をプログラミングにより行うこととなります。
なので、自動運転の発達によりプログラミングの需要は増加することとなるのです。
なお、運転の自動化については、レベルで定義化がされています。
- レベル1:運転支援
- レベル2:部分自動運転
- レベル3:条件付自動運転
- レベル4:高度自動運転
- レベル5:完全自動運転
自動運転とは、実際には上記のレベル3以降を示すのですが、4,5はまだ活用に至っておらず、それ以外の実用例としては以下のようなものがあります。
- レベル1:システムがステアリング操作、加減速のどちらかをサポート
- レベル2:システムがステアリング操作、加減速のどちらもサポート
- レベル3:特定の場所でシステムが全てを操作、緊急時はドライバーが操作
サイバーセキュリティはサイバー領域のセキュリティを指し、その定義は論者によって異なるものの、この言葉は2010年ころから情報セキュリティに変わるバズワード的な語として用いられるようになった。この言葉が登場した2010年頃はセキュリティにとってのターニングポイントになっており、2010年のスタックスネットの事案や2011の三菱重工の事案からもわかるように、ターニングポイント以降、以下の問題が顕在化した:・攻撃対象が産業システムにも広がった・攻撃方法も高度化して特定組織を狙った標的型攻撃が行われるようになった・攻撃目的も国家によるサイバー攻撃、犯罪者による金銭目的、ハクティビストによる主義主張の目的などに多様化した
IoTや自動運転などで、外部機器との通信が増えていますが、ここを悪意で乗っ取られるようなことがないようにするのがセイバーセキュリティです。
なので、内容はセキュリティの観点となりますが、プログラミングで関係するところは、
- データの誤りチェック機能負荷
- ユーザ認証の強化
- コード上の変数の防御(MINMAX判定など)
ここで挙げたのはほんの一例ですが、このような部分をプログラミングにより行うこととなります。
なので、サイバーセキュリティ対策が今後必要となることにより、プログラミングの需要は増加することとなるのです。
なお、サイバーセキュリティ対策の事例として、例えばNECでは以下のようなことを行っています。
- 未知の攻撃検知
- ログの統合管理・監視
- NCSP(NEC Cyber Security Platform)導入
- CSIRT(Computer Security Incident Response Team)体制の確立
AIによるプログラミングの完全自動化はまだ先
ここまで、事例をもとに、プログラミングの需要は、正直ありまくりであることを解説しましたが、最終的にはAIにより、プログラミングの仕事は奪われてしまうのではと思う人へ。今のところは完全自動化はそれほど恐れる必要はないのかなと。
なぜなら、現状を踏まえると、ここ2,3年でいきなりプログラミングが完全自動化する可能性が低いからです。
プログラミングの自動化についての現状
No Codeとよばれ、ボタン一つでWebサイトのコードを自動生成するツールが注目を浴びており、今後もそれは伸びていくことが予想されます。
巷のインフルエンサーもそれを予測し、YouTubeで解説をしております。
とはいえ、自動化されているのは、例えば入出力処理など、汎用的な内容に関するものが多く、それ以外の、システム独自の仕様部分については、まだまだ人がプログラミングしている段階です。
また、そもそも自動化ツール自体の開発や、自動化のためのしくみ作りも人が行っているのが現状です。
なので、このような現状を踏まえると、ここ2,3年でいきなりプログラミングが完全自動化する可能性が低いのではないでしょうか。
AIによる自動化はまだ先なら、プログラミングは安泰なのか?
ここまでかくと、
「プログラミングのAIによる自動化がまだ先なら、プログラマーは安泰だなぁ」
と、思う人もいるかもしれませんが、それは違います。
確かに、先ほども解説した通り、まだまだここ2,3年レベルでは、プログラミングが完全に自動化される可能性は低そうです。
とはいえ、単純なコードは自動化されているのは事実です。
なので、例えば、単に仕様をコードに落としているようなプログラマーは、確実に淘汰されます。
また、さきほど解説したような、NoCode化の波も無視できません。
なので、AIによるプログラミングの完全自動化はまだ先とはいえ、すべてのプログラマーが安泰とはいえないのです。
なのでプログラミングの需要はあります
と、いうことで、プログラミングの需要がいかにあるかについてと、AIによりプログラミングが完全自動化されるのはまだ先であることを解説しました。
なので、プログラミングに興味のある方は、安心して学びましょう。
ちなみに、学習方法についてはこちらで解説しております。
【プログラミング勉強方法】目的意識を持ち、入力⇔出力の繰り返しです
プログラミング初心者で、プログラミングの勉強方法を知りたい方へ。目的意識をもち、インプット⇔アウトプットを繰り返すことで、プログラミング技術を習得していきましょう。
今回は以上です。