こんにちは。
この記事を読んでいるあなたは、

「プログラミングは今後、不要になるんだろうか?」
「今からプログラミングの勉強しても無意味なのではないか?」
「これからエンジニアになりたいと思っているが、今後のキャリアをどうしたらいいか迷う・・・」
このように悩んでいるのではないでしょうか?
もしこれからプログラミングの勉強を始めても、それがもし無駄になってしまうのであれば、勉強をするのがもったいない気がしますよね。
特にプログラミングのスキルを身につけるのは簡単ではないため、そうやって迷ってしまう気持ちは非常によく分かります。
そこでこの記事では、そんなあなたのために
・IT業界で働く上で、非プログラマーでもプログラミングが必須である理由(体験談ベース)
・プログラミングを学ぶメリットと、オススメのプログラミング学習方法
こういったものをまとめます。
この記事を最後まで読むことで、あなたの悩みを解決することができますよ。
最後までしっかりと読んで、あなたのキャリアやプログラミングの学習を開始するか?の参考にしてくださいね!
特に、僕の体験をベースにまとめた
の部分は、非常に参考になると思いますので、是非読んでみてください。
- 結論
- この記事の信頼性
- プログラミングが不要と言われる理由
- とはいえ、依然プログラミングスキルや、それに付随するスキルが必要な理由
- プログラミングのできないエンジニアになるとどうなるか?(体験談)
- プログラミングができるとどのようなメリットがあるのか?
- オススメのプログラミング勉強方法
- これからの時代、プログラミングの学習は断然オススメです
結論
まず、詳細に入る前にこの記事の結論をお伝えします。

・プログラミング自体は少しずつAIに置き換わっていくと予想されるが、今すぐではない。
・かつ、プログラマーとして働かないとしても、IT業界で働くのであれば必須のスキル。
これがないと、調整しかできないような人になってしまう。 (=年収が上がらない)
これから、ノーコード開発やAI技術はより勢いを増してくることが予想されます。
ただ、それは今すぐに、というわけではなく、じっくりと時間をかけて浸透していくでしょう。
言い換えると、既存のプログラミングは、ここから20年、30年は残ると予想されます。
もしあなたがIT業界で働きたいと思っているのであれば、プログラミングは必須のスキルとなります。
また、IT業界で生み出されるアプリやサービスの根本は、プログラミングです。
ですので、プログラマー以外の職種で働く場合であってもプログラミングを知っておくことに越したことはありません。
ですので、もしあなたが「これからIT業界で働きたい!」と思っているのであれば、まずはプログラミングを学習することをオススメします。
ここからは、僕が「IT業界で働くならプログラミングが必須だ!」と言い切れる理由を説明していきたいと思います。
この記事の信頼性
僕は新卒からエンジニアとしてメーカーで働いていました。
今は、IT企業でAIに関する部署でサービス開発のプロジェクトマネージャーをやっています。
世間的に言うと、いわゆる「最先端技術を使った開発」になると思います。
この記事では、僕がそんな環境で日々仕事をしている経験や感覚も踏まえて、プログラミングは今後も必要だし、IT業界で結果で残すためにはプログラミングが非常に重要である理由をまとめています。
リアルな現場の状況をベースにしているので、信頼性はあると思っていただいてよいかと思います。
プログラミングが不要と言われる理由

まずは「プログラミングが不要」と言われる理由を紹介したいと思います。
IT企業で働くには、プログラミングを勉強しなくてもよい
IT業界で働いたことがない人にとっては意外に思われるかもしれませんが、IT業界でエンジニアとして働く場合でも、プログラミングが必要のない職種は数多くあります。
むしろ、IT企業にいてもプログラミングをやらない人の方が多い場合でさえあるでしょう。
プロジェクトマネージャーやディレクター、システムエンジニアと呼ばれる肩書の人は、基本的にプログラミングをすることはありません。
また、日本の企業の特性上、こういったプログラミングをやらない人の方が年収が高い傾向にあります。
簡単に年収を上げたいのであれば、プロジェクトマネージャーやディレクター、システムエンジニアなどの職種になるのが一番の近道です。
こういった理由から、「エンジニアであってもプログラミングは不要」と言われることがあります。
ノーコード開発が少しずつ出てきているから
これまでWebサービスやアプリを開発するには、プログラミングとしてソースコードを書く必要がありました。
今でもこれが主流であることは代わりません。
一方で、ここ最近は「ノーコード開発」と呼ばれるプログラミングをしない開発手法も出てきています。
ノーコード開発であればプログラミングよりも、より直感的な「画像をクリックしたり線でつないだりする」操作だけで簡単にWebサービスやアプリが作れてしまいます。
プログラミングを勉強しなくてもWebサービスを作れてしまうのって、非常に魅力的ですよね。
これが「難しいプログラミングをしなくてもサービスが作れるんだったら、プログラミングは不要だよね」と言われる理由の2つ目です。
AIが台頭してきて、人間がプログラミングをする必要がなくなる
これも有名な事実かもしれませんが、コンピュータの処理能力が上がるにつれ、AIでどんどん複雑なことができるようになってきています。
将棋やチェスでも、人間と互角、もしくはそれ以上の強さを持つAIが生まれたりしています。
また、AIを使うことによって二足歩行をするロボットも作られていたりします。
将棋をしたりロボットを動かしたり、複雑な処理をする上でAIは欠かせない存在です。
プログラミングに関しても、簡単な部分であればすでにAIによる置き換えが始まっています。
「xxxをxxxにしたい」という文章を書くだけでプログラムが完成するようなAI技術がすでに誕生していたりします。
「AIがプログラミングをしてくれるのであれば、もう人間がプログラミングをする必要はないよね」というのが、今後プログラミングが不要になると言われる理由の3つ目です。
とはいえ、依然プログラミングスキルや、それに付随するスキルが必要な理由

こういった事実を見ると、

「じゃあ、プログラミングを学習する必要はなさそうだな」
と思うかもしれません。
せっかく長い時間勉強しても無駄になるのであれば、わざわざ学習したくないですよね。
という人が現れても、何も不思議ではありません。
ただ、プログラミングの勉強を一切しなくていいか?と言うと、決してそういうわけではありません。
ノーコード開発は、結局HTMLやJavaScriptなどのプログラミング、そしてデータベースの操作などの知識は必要
ノーコード開発は、「xxxをxxxにする」というよう「アルゴリズム」を人間が記述することになります。
ただ「xxxをxxxにする」という記述だと、大まかな内容しかコンピュータに伝えられないですよね?
ノーコード開発だと伝えられない・・・という部分は、実は人間がこれまで通りのプログラミングを行って補完する必要があります。
具体的には、HTMLやJavaScriptの記述方法を知っている必要があったり、データベースの中身を確認して、保存されているデータに問題がないかを確認する必要があります。
・・・これって、プログラミングをやるときと同じレベルの知識が必要そうですよね?
まだまだAIを使ったプログラミングは不十分
AIで、簡単にプログラムを生成できるようになってきているのは事実です。
ただ、まだ完全に自動化できているわけではありません。
簡単な繰り返し(loop文)や条件分岐(if文)などは、AIにまかせても問題ないかもしれません。
一方、複雑なアルゴリズムだとAIでは作りきれない部分が出てきたり、不具合が出たときに修正できなかったりします。
そんな複雑な部分は、人が修正する必要があります。
AIが自動化してくれているのは事実ですが、まだまだ完全ではないのが実情です。
プログラミングのできないエンジニアになるとどうなるか?(体験談)

もしかするとあなたは、

「プログラミングのスキルが必要なのはわかった。でも、プログラマーとして働かないのであれば、プログラミングは不要だよね?」
このように思っているかもしれません。
そこでこの章では、そんなあなたにプログラミングが分からずにIT業界で働くと、どういった問題があるのか?を解説したいと思います。
この章を読んでいただくと、IT業界で働く上で、プログラミングのスキルが、非常に重要であることが分かりますよ。
ここで出てくるのは全て僕の実体験に基づくもので、世の中で今、実際に起こっている現状です。
プログラミングをしないでIT業界で働ける業種とは?
そもそも、「プログラミングをせずにIT業界で働いている人」とは、どのような人か分かりますか?
会社によって呼び方は異なりますが、以下のような人たちが代表として上げられます。
・プロジェクトマネージャー
・ディレクター
会社によって呼び方は異なりますが、こういった人たちは、プログラミングをすることなく、IT業界で働いている人たちです。

この記事はこういった役職を細かく説明することが目的ではないので、それぞれの詳細は割愛しますが、ざっくりと分けると、
・お客さん(クライアント)と開発のスケジュールや内容の調整をする人
・仕様を決める人
このような役割の人たち、と言い換えられるでしょう。
僕自身、まさにプロジェクトのスケジュールを管理していたりしますし、まわりにもこういった役割の人がたくさんいます。
この章では、そんな「IT業界にいるけどプログラミングが分からない人がどのような状態になるのか」を実体験を踏まえて説明したいと思います。
プロジェクトのスケジュールが管理できない

まずは、プログラミングを全く理解していない人が、サービスの責任者やプロジェクトマネージャーになったときの悲劇を紹介します。
サービス責任者が、プログラミングが分からないことによる問題
・どのような機能にどのくらいの時間がかかるかが分からない。あるいは時間を見積もっても大幅に間違う
[体験談]サービス責任者の見積もり3日、実際3ヶ月!?実態とかけ離れた見積もり
僕がメーカーにいたとき、新商品の発売に向けて、新しい機能を追加することになりました。
新しい機能は、画面上のオプションメニューから設定を切り替えられる機能でした。
そのときの企画責任者は、全くプログラミングをやったことがない人で、

「オプションメニューから起動する機能とか、3日で開発できるだろ!」
と言っていました。
確かに、オプションメニューの変更くらいだと、3日くらいの修正で対応することができます。
ただ、内部的には、
・その内容をデータベースに保存して
・画面の表示内容も大きく切り替えて
というように、「入り口の変更は小さいけど、実は大規模な開発を伴う」ものでした。
開発としては3, 4ヶ月はかかるくらい、大きな規模です。
そのときはエンジニアから猛反発があったこともあり、正しい見積もりとスケジュールをひくことができました。
プログラミングをやったことがない人は、「プログラマーがどのような部分を大変と思っているか」なども理解することができません。
もし「3日で修正が終わる!」という大きく間違った見積もりが適用されていた場合、プロジェクトは大混乱になっていたでしょう。
プログラマーやエンジニアの言っていることの伝書鳩しかできない

続いて、プログラミングを理解できない人がディレクターやプロジェクトマネージャーなど、人と人の間を調整する役になったときに何が起きるのか?を紹介します。
特に日本の大企業はこのケースに該当することが多く、「比較的年齢のいった、非エンジニアや非プログラマーの人」は、かなりの確率でこういう状態になってしまっています。
「伝書鳩」になってしまうと、もはや付加価値を出せていないですよね。
ディレクターやプロジェクトマネージャーが、プログラミングが分からないことによる問題
・開発に時間のかかる部分があれば、プログラマーとの会話の中で「こういう仕様で実装できますか?」という提案ができない
[体験談]プロジェクトマネージャーが伝書鳩に?付加価値が出せない人
僕がIT企業で働いているときの取引先がまさにこんな感じでした。
そのプロジェクトでは取引先と一緒にシステムを開発しており、取引先からもプロジェクトマネージャーのような人がアサインされました。
僕はその取引先のプロジェクトマネージャーと一緒にスケジュールを見積もろうとしたのですが、その人の発言がこんな感じでした。

「うちのエンジニアがx日かかるって言ってます」
「もし何かあればそのエンジニアに連絡します」
「新しい機能の実装が難しいのか簡単なのか?どのくらいかかるかは、私は知りません」
ここまでくると、もはやその人がいる意味はないですよね。
全て、取引先のエンジニアと会話した方がプロジェクト進行がスムーズです。
もちろん、細かい部分や詳細な見積もりはエンジニアと話さないと分からないこともあります。
ただ、プログラミングに関して理解できていれば、

「それは開発的に大変だと思われるので、xxという仕様にするのはどうでしょうか?」
「細かい見積もりは分かりませんが、それほど時間はかからないと思われます」
というような、「一次窓口」としての役目をすることができます。
この「一次窓口」ができないディレクターやプロジェクトマネージャーは、単なる伝書鳩です。
それこそ、AIやテクノロジーの進化により、真っ先に淘汰されていくでしょう。
システムの都合を踏まえた上で最適な仕様の提案ができない

「システムがどう動くか?」を定義する仕様を決める段階においても、プログラミングができないことで問題が発生します。
ソフトウェアを開発するときは、実際に開発をする前に「仕様検討」という、「ソフトウェアがどのように動くか?」を定義するフェーズがあります。
その仕様は、「目的が満たせればどんな仕様でもOK!」・・・というわけでもありません。
最終的にはプログラマーが開発を行うため、
を決める必要があります。
仕様担当者は、もちろん開発ができるか?はプログラマーと話しながら決めていくことになるので、プログラミングを完璧に理解できている必要はありません。
ただ、仕様担当者がプログラミングやシステムのことを理解しているかどうか?で、開発効率が2, 3倍くらい変わってくるのは事実です。
仕様担当者が、プログラミングが分からないことによる問題
・仕様担当者とプログラマーの共通言語がないため、「何ができて」「何が難しいか?」の認識合わせが難しい
[体験談]プログラミングを理解できないのが致命傷?プログラマーと対立構図に・・・
僕がメーカーで働いていたときの話です。
僕が仕様担当者をやっていたときのリーダーがプログラミングをやったことがない人でした。
その人は、「美しい仕様」「理想となる仕様」を作るのは非常に上手かったのですが、「開発がしやすい仕様」を考えるスキルが圧倒的に不足していました。
ソフトウェア開発をしたことがないばかりか、プログラミングがどういったものか?も理解していませんでした。
そういう人が理想論ばかり掲げるので、事あるごとにプログラマーともめてしまっていました。
本来、仕様担当者とプログラマーは助け合ってプロジェクトを進めていくべきなのに、お互いに対立してばかりなのはもったいないですよね。
この対立構図になってしまったのは、「仕様担当者がプログラミング(プログラマー)のことを理解できなかった」のも1つの原因でしょう。
もしこの仕様担当者にプログラミングの知識があれば、

「xxxの機能はプログラミングが難しそうなので、もう少し開発しやすい仕様にしましょう」
という妥協案を提案することができますよね。
一言でまとめると: IT業界で働くのであればプログラミングの知識は、必須スキル。
ここまで、僕の体験談をベースに、プログラミングの知識の重要性を説明してきました。
IT業界で働く場合、仮にプログラマーとして働かない場合であっても、全ての根底にあるのはプログラミングです。
もはやプログラミングは、プログラマーとして働かない場合でも、必須スキルと言えるでしょう。
プログラミングができるとどのようなメリットがあるのか?

ここまでは、「プログラミングができないことの弊害」をまとめてきました。
その裏返しとなるものもありますが、「プログラミングができることのメリット」を紹介したいと思います。
非エンジニアの人でも、プログラマーとスムーズな会話ができる。
ここまでで説明してきた通り、プログラミングをやったことがない人は、プログラマーの気持ちは理解できません。
プログラミングを勉強して、その内容や大変なポイントを理解しているからこそ、プログラマーの言葉を理解できるようになります。
また、エンジニアの気持ちを汲み取れるようになります。
もちろんプログラミングの知識や経験がなくても、プログラマーとは何とかやっていけるでしょう。
ただ、本当の意味でプログラマーの気持ちや作業を理解するためには、あなた自身のプログラミングの知識は必須と言ってよいです。
ノーコード開発をするときにも役立つ知識が手に入る
ノーコード開発をするにしても、裏側で動いているのはプログラミングです。
また、ノーコード開発はできることに制約があります。
もしあなたがプログラミングをすることができれば、ノーコード開発で発生する制約の理由を、具体的に推測することができます。
ノーコード開発の裏側のロジックを具体的に理解することができれば、

「こういうやり方はダメみたいだ。それでは違うやり方だと上手くいくんじゃないか?」
という推測ができたりします。
もしプログラミングの知識がない場合、制約の理由を全く予想できないので、起きた問題の解決ができなかったり、解決に時間がかかったりと、弊害が出ることになります。
高いITスキルが身につく
小学校でもプログラミング教育が始まっており、今後、ますます高いITリテラシーが必要となるのは間違いありません。
プログラミングは、そんな高いITリテラシーを身につけるには最適の手法です。
プログラミングを学習することで、嫌でも細かい技術に関して詳しくなります。
具体的にはネットワーク、セキュリティ、サーバの知識など、ITに携わる上では必須となる知識を身につけることができます。
プログラミングの学習を行うことで、あなたはこれらの技術を使う側から作る側になります。
結果として、使うだけでは知ることができない知識を習得することができたり、誰よりも詳しくなることができます。
次の職場に移りやすくなる
今の役割はプログラミングができなくても何とかなってるかもしれません。
ただ、転職や思わぬ組織変更、会社の倒産などで、いつまでその仕事を続けられるか分からないですよね?
あなたの今の仕事が5年後、10年後にある保証はありますか?
そんなときにプログラミングがわかっていることで、次の選択肢を広げることができます。
オススメのプログラミング勉強方法

プログラミングの勉強法は、
・プログラミングスクールに通って勉強する
このような方法があります。
どちらも一長一短ありますが、もしあなたが「これから効率的にプログラミングの学習をしたい」と思うのであればプログラミングスクールをオススメします。
何故なら、プログラミング初心者はほぼ間違いなく以下のようなポイントで苦しむからです。

・何から始めたらいいか分からない
・発生したエラーを解決できずに何時間もハマってしまう
・何をどこまで学習したらいいかが分かりづらい
こういったところにハマることも、長い目で見ればいい経験になるのですが、ハマっている間は本当に大変です(笑)
そして、プログラミングを勉強するからには、できる限り効率よく進めたいですよね?
そこで、最初は短期のコースでよいので、プログラミングスクールに通うことをオススメします。
プログラミングスクールに通うことで、どのプログラミング言語を選ぶべきか?どのように学習を進めるか?などを体系的に学ぶことができます。
あなたの目的に合わせたオススメのプログラミングスクールは、以下の記事にまとめてあるので、気になる方は是非こちらも見てみてください。
これからの時代、プログラミングの学習は断然オススメです

この記事では、「プログラミングは今後不要になるのか?」という疑問に回答してきました。
AIが発達した後であっても、ノーコード開発が普及した後であっても、プログラミングやそれに付随するスキルが重要であることが伝わったのではないでしょうか。
とはいえ、
というわけではありません。
まずは、
・プログラミングができるようになって (これはノーコード開発でもよいです)、何をやりたいのか?
こういった目標を明確にするようにしましょう。
目標が明確になってることで、プログラミングの勉強もより頑張れるようになりますし、何か辛いことがあったときも乗り越えやすくなります。
このブログでは、
「プログラマーになると、どんな仕事をするのか具体的に知りたい」
「どんなプログラミングスクールに通えばいいの?」
こんな、プログラミング初心者やプログラマー未経験の人に有益な情報を公開しています。
もしあなたがこういった情報についてもっと知りたいと思っている場合は、他の記事も読んでみてくださいね。
この記事は以上です。
ここまで読んでくださり、ありがとうございました!
コメント