最近とくにAIがどんどん発展してる。
今からプログラミングを学習しても、もう遅いかな。
とお悩みの方へ向けた記事になります。
先日のツイートです。
AIが進化している今でも、プログラミングはやるべき
— モリ|フリーランスWebライター (@MockRoll) May 4, 2023
AIを最大限に活用するには、プログラミングの知識が必須だから
またAIエンジニアなら、これからのAIの拡大にともなって需要も増える
あと重要な判断や意思決定を要する「上流工程」を目指すのもおすすめ#駆け出しエンジニアと繋がりたい
AIが進化している今でも、プログラミングはやるべき
AIを最大限に活用するには、プログラミングの知識が必須だから
またAIエンジニアなら、これからのAIの拡大にともなって需要も増える
あと重要な判断や意思決定を要する「上流工程」を目指すのもおすすめ
- これからの不安を消し、安心してプログラミング学習を始められます。
プログラミングは今後AIがやる?人間がこれから勉強すべきこと
近年は「ChatGPT」などの影響もあり、AIが盛り上がりを見せています。
そんな中「あらゆる仕事がAIに奪われる」という意見が増えつつあり、プログラミングも例外ではありません。
そのため、プログラミング学習を始めることや継続することをためらってしまう方も多いでしょう。
今回の記事では、
- プログラミングはAIに奪われるのか
- この昨今のなか、何をしていけばいいのか
について深掘りしていきます。
【結論】今からでもプログラミングは学習するべき!
結論、今からでもプログラミング学習は行うべきです。
理由は以下のとおりです。
その①:AIはまだまだ正確さには欠けるから
その②:そもそもAIはプログラミングで作られているから
その③:AIと共存するにはプログラミングの知識が必須だから
それぞれ解説します。
その①:AIはまだまだ正確さには欠けるから
現段階では、まだまだAIは「正確さ」において不十分です。
AIが生成したプログラムには、どうしても「手直し」が絶対に必要。
その「手直し」を行うには、プログラミングの知識は必要不可欠だからです。
その②:そもそもAIはプログラミングで作られているから
「AIがプログラミングの仕事を奪う」とは言われますが、そのAIもプログラミングで作られています。
で、そのプログラミングは誰がやっているかというと、人間です。
そのため、人間はそのAIの基盤を理解することが大切。
さらにこれからのAIの発展に伴って、むしろエンジニアの需要はますます高まるでしょう。
その③:AIと共存するにはプログラミングの知識が必須だから
AIに仕事が奪われるからといって、対抗意識をもったり、AIを敵視するようなことはおすすめできません。
どんなに抗っても、AIは恐るべきスピードで進化を遂げる可能性が高いからです。
そのためエンジニアはAIとうまく共存し、AIを上手に使いこなすスキルが求められます。
しかしそれには、ベースとなるプログラミングの知識がないと始まりません。
AIがプログラミング業務に与える影響
「今からでもプログラミングは学習すべき」と前述しました。
しかし、AIが一部のプログラミング業務に影響を与えることも事実です。
具体的には以下のとおりで、それぞれご紹介します。
その①:AIによるコード自動生成の技術の進化
その②:AIによるプログラムの自動テストやデバッグの効率化
その①:AIによるコード自動生成の技術の進化
コード自動生成の技術や精度は、これから上がっていく可能性が高いです。
今でこそ世間ではAI、AIと過剰に期待されていますが、「コードの自動生成プログラム」自体はずいぶん前から存在します。
ただその精度がこれから上がっていくため、プログラマーが手作業でコードを書く必要がなくなるでしょう。
そのため、プログラマーに求められるスキルや役割が変わっていくことが見込まれています。
その②:AIによるプログラムの自動テストやデバッグの効率化
テストやデバッグは、AI技術によってさらに効率的になります。
たとえばAIが生成したテストコードなどを活用すれば、テストやデバッグが自動化できるでしょう。
これにより、テスト作業にかかる時間などのコスト削減のみならず、精度の向上によって生産性アップにもつながります。
そのため現状、テスター業務を担当している方は、近い将来AIに代替される可能性も否めません。
AIに奪われやすいプログラミングの仕事
AIに代替され、奪われやすいプログラミングの仕事は、以下が挙げられます。
その①:単純なルーティンワーク
その②:プログラミングの基本的なタスク
それぞれ解説します。
その①:単純なルーティンワーク
単純なルーティンワークのようなプログラミング業務は、AIに代替される可能性が高いです。
単純なルーティンワークとは、たとえば
- ルールに基づいたシステム開発
- 簡単なデータ処理作業
- テスター業務
- データ入力作業
のようなものが挙げられます。
「ある程度パターンが決まっている作業」は、AIの得意分野です。
その②:パターンに基づいたプログラミング
特定のパターンに基づいたプログラミングも、AIから代替されやすいといえるでしょう。
たとえば
- フレームワークの特定の使い方に依存する
- ある程度開発パターンが固定化されている
といった、似たような処理を繰り返すプログラミング業務が挙げられます。
そのため、エンジニアがこれらを手作業でやる必要はなくなる可能性が高いです。
AIに奪われにくいプログラミングの仕事
これからAIに奪われにくい業務とは、以下のとおりです。
その①:創造性や独創性が求められる仕事
その②:顧客のニーズに合わせたプログラミング
その③:意思決定や判断が必要な仕事
それぞれ見ていきます。
その①:創造性や独創性が求められる仕事
創造性や独創性が求められる仕事は、AIから代替されにくいでしょう。
「人間の感性をもとにした即創生やクリエイティビティ」は、人間ならではのスキルであり、AIには真似できないためです。
プログラミング業務でいうなら、コードを書く前の段階の
- どんなシステムで課題を改善するか
- どんなUIデザインで、どんな表記だとわかりやすいか
などを考えるフェーズがこれに該当します。
その②:顧客のニーズに合わせたプログラミング
AIから代替されにくい仕事に、「顧客のニーズに合わせたプログラミング」もあります。
顧客のニーズに合わせたプログラミングとは、
要件定義、設計から実装まで、プログラマーが顧客と直接コミュニケーションを取りながら行うプログラミングの仕事
のことをいいます。
AIは、細かなニュアンスのコミュニケーションまで代替できません。
その③:意思決定や判断が必要な仕事
意思決定や判断を要する仕事は、まだまだ人が行う必要があります。
あらゆる重要なものごとはすべて、最終的に「人の情」が決めるのが世の常だからです。
プログラミングで言うなら、
- 作るシステムの方針や方向性
- プロジェクトメンバーの選定
- クライアントとの打ち合わせや要件のすり合わせ
といった、上流工程における作業があります。
AIから仕事を奪われないようにするためには
AIから代替されやすい仕事、されにくい仕事を見てきました。
それらを踏まえて、AIから仕事を奪われないためにやるべきことを、以下のとおり紹介します。
その①:これまでどおりプログラミングの基礎を習得する
その②:AIエンジニアを目指す
その③:上流工程エンジニアを目指す
その④:AIへの仕事の頼み方を覚える
その⑤:コミュニケーション能力を向上させる
その①:これまでどおりプログラミングの基礎を習得する
まずはこれまでとおなじく、プログラミングの基礎を習得する必要があります。
今後どれだけAIが進化を遂げても、人間のエンジニアでないとできない仕事はたくさんあります。
その人間エンジニアならではの仕事は、プログラミングの知識がないとできません。
近年では、AI開発向けのコースを設けたスクールも存在します。
その②:AIエンジニアを目指す
AIから仕事を奪われることを懸念するなら、AIを開発する側である「AIエンジニア」を目指すのもひとつです。
AIエンジニアは、AIの市場や需要の拡大に伴って、どんどん重宝される人材になるためです。
ちなみに次章では、AIエンジニアが求められるスキルについて紹介しています。
その③:上流工程エンジニアを目指す
上流工程エンジニアを目指すのも、AIに仕事を取られないための対策のひとつ。
上流工程は
- 顧客とのコミュニケーション
- プロジェクトを円滑に進めるための重要な判断
など、下流に比べて人間ならではの仕事が求められることが多いからです。
この先のAIの進化におびやかされる可能性が低く、自身の経験や実績にもつながるメリットがあります。
その④:AIへの仕事の頼み方を覚える
AIから仕事を奪われないためには、AIと共存し、うまく活用していくことが大切です。
そのためには、「AIへの仕事の頼み方」を学習しておくのも一つでしょう。
たとえば、ただプログラムコードの生成を丸っきりお願いするのではなく、
- ベース・骨格となる部分の記述を任せる
- 既存コードの高速化を依頼する
などの使い方が挙げられます。
人間の手を駆使しつつ、任せられる部分をしっかり任せることで、AIは強力な業務効率化ツールと化すでしょう。
その⑤:コミュニケーション能力を向上させる
コミュニケーション能力の向上も、人間がAIに仕事を奪われないための対策です。
コミュニケーションは人間ならではのニュアンスや感性があって成り立つものであり、AIが完全に代替するのは極めて困難だからです。
ましてやIT業界やエンジニアに、コミュニケーション能力は必須。
AI対策のみならず、自身の付加価値としても、強化すべきはコミュニケーションと考えて間違いありません。
AIエンジニアに求められるスキル
AIエンジニアに求められるスキルとしては、以下が挙げられます。
その①:AIに強い言語の習得
その②:フレームワークや機械学習ライブラリの習得
その③:ビッグデータ・データベースの知識
それぞれ解説します。
その①:AIに強い言語の習得
AIエンジニアを名乗る以上、AI開発に強い言語の習得が求められます。
AI開発に強い言語とは、代表的なものをあげると以下のとおりです。
- Python
- R言語
- C++
- JavaScript
- ほか
AI開発と聞くと一見難しそうに感じますが、Pythonは他の言語に比べても記述法がシンプルで、わかりやすいことが特徴です。
またAI開発を学ぶにあたっては、以下のスクールがおすすめです。
その②:フレームワークや機械学習ライブラリの習得
AIエンジニアには、フレームワークおよび機械学習ライブラリを覚える必要があります。
通常のプログラミング同様、AI開発も基本的に0からプログラミングを行うことはありません。
あらかじめ完成されたライブラリを活用したり、組み合わせることでAIを開発しています。
そのフレームワークやライブラリの仕組みやロジックを理解し、適切に編集できるスキルが大切です。
その③:ビッグデータ・データベースの知識
ビッグデータおよびデータベースの知識も、AI開発には欠かせません。
AIにおいて、「データの取扱」は避けて通れない項目となるからです。
AIは過去の膨大なデータを、判断や学習のベースにすることで、正確性をアップさせます。
そのためデータベースやビッグデータの処理関連のスキルは、必ず必要になるでしょう。
エンジニアとAIについてのよくある質問
最後に、AIとエンジニアについて、よくある質問をご紹介します。
プログラミングはこれからAIに奪われるのでしょうか?
AIに奪われる仕事と、奪われない仕事が存在します。
- パターン化されたルーティン作業
- 決まりきったコードの記述
- テスト・デバッグ
などの作業は、奪われやすいでしょう。
一方、上流工程で担当するような
- 重要な判断や決断が求められる仕事
- 顧客とのコミュニケーションが必須の仕事
は、奪われにくいです。
AIをプログラミングするってどういうことですか?
AIは、人間がプログラミングすることで作られています。
たとえばAIスピーカーなども、最初は人の手によってプログラミングされます。
そしてユーザーの声や質問内容に合わせて、返答の内容を学習していきます。
そのAIを作る作業が、「AIをプログラミングする」ということです。
AIエンジニアは具体的に何をする?
AIエンジニア読んで字の如し、主にAIシステム開発を行います。
機械学習やディープラーニングの知識を活用しつつ、データ学習・分析・記録の機能を施し、顧客のニーズを満たすAIを作るのが主な仕事です。
AIエンジニアには通常のプログラミングの基礎的な知識はもちろん、
- AIに特化した専門知識
- 統計的な知見
- データ取り扱いや処理の知識
が求められます。
まとめ
以上、AIによるプログラマーへの影響や、仕事を奪われないための対策について紹介しました。
記事の内容をまとめると、以下のとおりです。
- 今からでもプログラミングは学習すべき
- AIと共存し、うまく活用するにはプログラミングの知識は必須
- とくにAIエンジニアの需要は、AI需要高騰によって高まる
- パターン化されたルーティンワークは、AIに代替される可能性が高い
- 重要な判断、感性が求められる上流工程は代替されにくい
- AIエンジニアや上流工程を目指したり、コミュニケーション能力を鍛えるのが得策
AIを過度に恐れたり、敵視して対策するより、うまく活用する意識をもつこと。
AIは紛れもなくエンジニアの味方であり、生産性や業務効率を飛躍的にアップさせてくれます。
1992年生まれ|2020年10月フリーランスとして独立|Web制作、SEOライティングを軸に活動中|接客→生産管理→システム開発会社→現在|モリブログ運営。Web制作、フリーランスジャンルを中心に更新中。PV数は年間14万人以上||温泉、旅行、甘いものが好き。