AIエンジニアとよく無駄話をしている、HAYATEです。
最近ChatGPTというAIが無料公開され、「AIが人間の仕事を奪う」という話を多く耳にするようになりました。
そこで、
・子どもにプログラミングの習い事をさせようか考えている
・プログラマーが今後AIに仕事を奪われるか不安
という方のために、ChatGPT時代でもプログラミングを学ぶべきなのか、プログラミングを超えるキャリアスキルについて解説していきます。
現役エンジニアの私が、
身近のAIエンジニアと議論して導き出した未来予測
有料ChatGPTユーザーになってAIを使い倒した経験
をもとに記事を作成しています。
私は、AIが普及してきたとしてもプログラミングのスキルは必要だと考えています。
一方で、「プログラミング的思考」はもっと重要視されるキャリアスキルになるという予測しています。
この記事では、その具体的な根拠と習得法について解説していきます!
目次
ChatGPT時代にプログラミングは必要か
ChatGPT時代にプログラミングが必要なのか。
その問いに対して私なら、
必要
と答えます。
ただし、今後プログラマーとして生きていけるのは「高度なプログラミング」が出来る人のみになると言われています。
私のようなプログラミング大好き人間にとっては、厳しい世界がすでに目の前まで来ているのです。
なぜ「今後プログラマーとして生きていけるのは高度なプログラミングが出来る人のみ」と言われるのか。
それは、すでに簡単なプログラムはAIが2秒で作り出せるようになっているからです。
試しに、ChatGPTにゲームプログラミングをお願いしてみました。
ご覧のとおり、AIに欲しいコードを投げかければ瞬間でコードを出してくれます。
これは、すごい…
とはいえ、
AI自体を扱える人やAIには難しい高度なプログラミングをする人は、より市場価値が高まっていきます。AIにも得意なこと不得意なことがあるためです。
一方で、それ以外のプログラマーはAIに置き換わるか低単価で仕事をすることになる可能性が高いと予想しています。
「ならば、高度なプログラミングが出来るようになろう!」と思うのですが、「高度なプログラミング」が出来る人は一握りなのも現実です。
AIが今後どれほどプログラミングの精度をあげてくるかにもよりますが、今の勢いのままいくと相当高度なスキルが必要になります。
プログラミングスキルはスポーツの世界と似ており、誰もが目指して出来るものでもないというのが厳しい現実があります。
そこで最近注目されている新しいキャリアスキルが、「プログラミング的思考」です。
プログラミング的思考は誰もが鍛えることが出来る上に、AIがどれだけ普及しても重要視されます。
これからプログラミングを勉強する人も現役プログラマーも、プログラミングスキルと掛け合わせて習得するべき注目のスキルです。
注目の「プログラミング的思考」とは?
プログラミング的思考とは、
「社会やクライアントの課題を見つけ、デジタルをどう組み合わせたら解決出来るかを考えられる思考」です。
この記事では「問題を見つける能力とデジタル(プログラム)を使って解決する能力」をまとめて「プログラミング的思考」と呼んでいます。
政府が2020年から開始したプログラミング教育の目的が、まさに「プログラミング的思考」にあります。
文部科学省が公表した「小学校プログラミング教育の手引き」にも明確に記載されています。
プログラミング教育の実施に当たっては、プログラミングの体験を通して、
文部科学省「小学校プログラミング教育の手引」
①「プログラミング的思考」を育むことと、
②プログラムの働きやよさ等への「気付き」を促し、コンピュータ等を上手に活用して問題を解決しようとする態度を育むこと、
③各教科等の内容を指導する中で実施する場合には、各教科等の学びをより確実なものとすることをねらいとしていること
を踏まえて取り組むことが重要です。
各省庁の課題の解決策でも、「プログラミング的思考」について掲げられています。
例えば、観光庁の令和5年度の施策では、次のように示されています。
観光地経営や観光産業に従事する DMO、企業等において、デジタル化・DX の推進のために取り組む事項は、経営戦略の策定(もしくは改訂)、デジタルツールの選定・導入、各種業務での活用、社内・関係者への普及活動、効果検証等多岐に渡るため、知見やスキルを有し、これらの DMO、企業等を先導もしくは伴走する人材が必要不可欠である。
観光庁「観光 DX 推進による観光地の再生と高度化に向けて」
このように、これからの社会ではプログラミング知識だけでなく、「問題を発見して、細分化して、デジタルを組み合わせて解決する」人が重宝されるようになっていきます。
「プログラミング的思考」は一度身につければ、一生モノのスキルになります。
また、IT業界に限らず、どんな業種でも生き抜ける最強の技術と言えるでしょう。
次章では、その具体的な習得方法について解説します。
「プログラミング的思考」の習得法
「プログラミング的思考」を習得するには、次の3ステップが必要です。
プログラミングを学ぶこと自体からも「プログラミング的思考」を理解することが出来ると言われています。
どういう関数を使って、どう組み合わせて実現するかを考える必要があるためです。
しかし、プログラミングだけでは「"出された問題"を解決する」能力しか身につきません。
これからの時代は、「問題を見つける能力」も同時に身につけることが必要になります。
多くの偉人たちは、世の中の課題をみつけ、デジタルで解決する「プログラミング的思考」がありました。
Facebook創業者のマーク・ザッカーバーグは、
情報のオープン性に課題を見つけ、Facebookで解決しました。
Google創業者のラリー・ペイジは、
既存サービスの検索結果の無意味さに課題を見つけ、Googleで解決しました。
Twitter創業者のジャック・ドーシーは、
会社内で使われていた掲示板に課題を見つけ、Twitterで解決しました。
その後、小売店ではクレジットカード決済を使えないという課題を見つけて、Squareで解決しました。
誤解のないよう再度言いますが、プログラミングの技術は必要です。
でも、
プログラミングとは、社会問題を見つけて解決する「手段」であることを忘れてはいけません。
AIの台頭により、その意識を持てるかが今まで以上に重要になってきました。
では、より具体的に「プログラミング的思考」を身につけるためにはどうすればいいのでしょうか。
まず1つ目に、「自分の身の周りや社会の課題を意識して見つけること」です。
2つ目に、「それを、既存のサービスやプログラミングで解決出来る方法を出す」ことです。
分からないことは調べてみます。
ちなみに私はその過程で、RaspberryPiというのを見つけました。
これは、プログラミング(Python)を用いて、電気を付けたり、エアコンを付けたり、IoTやロボット開発が出来るものです。
最後3つ目に、それを実装してみることです。
かっこいいものでなくてもいいので、ネットで調べたり、人に聞いたりして実現させてみましょう。
この3つを繰り返すだけです。
そうすれば、数ヶ月後には無意識に「プログラミング的思考」をしている自分に気づきます。
ちなみに私は1日3つ以上、課題を見つけてスマホのメモ帳やノートに書くという習慣を作っていました。
実際に書いていた一部を紹介します。
少し前まではプログラミングが出来るだけで「すごい!」と扱われていましたが、
最近はクライアントさんや社会の課題を解決するアイデアを求められる機会が増えてきました。
最近、IT企業や社会のあり方が変わりつつあります。
これから数年のうちに大きな変化が起こる気がしています。
そう感じているのは私だけではありません。
まわりの多くのIT企業の社長、AIエンジニアも同じことを言っていました。
そんな時代に勝てるスキルは「プログラミング的思考」ではないかなと私は思っています。
プログラミング的思考は、誰もが身につけることが出来る思考法です。
頑張りましょう。私もがんばります!!