プログラミングって何?
何ができるの?
どんな仕事があるの?
将来性はあるの?
こんなお悩みにお答えします。
プログラミングとは
コンピュータに出す指示を順番に書き連ねること
プログラミングをひと言で表現するとこのタイトルになります。
プログラミングは料理のレシピを作るときに似ています。
例えばカレーを作るとき、こんな手順で作りますよね。
1.材料を切る
2.材料を炒める
3.煮込む
4.ルーを入れる
このように手順を書き連ねる作業をコンピュータの世界では「プログラミング」と呼びます。
プログラミング言語で書く
コンピュータに出す指示はコンピュータが理解できるように決められた言葉で書く必要があります。
この言葉を「プログラミング言語」と呼びます。
プログラミング言語には多くの種類が存在し、数百~数千ほどあると言われています。
いわばコンピュータの世界の方言ですね。
できたものがプログラム
プログラミング言語を使って、
コンピュータへの指示を書き連ねて、
最終的に出来上がったものを「プログラム」と呼びます。
料理の世界で例えると「プログラム」は「レシピ」にあたります。
プログラムでできること
スマホアプリ
Web開発
家電
車
ゲーム
業務システム
プログラムでできることは無数にありますが、この記事ではこれらの分野について、具体例を挙げながらできることを説明していきます。
スマホアプリ
分類 | 例 |
メッセンジャーアプリ | LINE |
SNSアプリ | |
食事配達サービス | Uber Eats |
Web開発
分類 | 例 |
オンライン販売 | Amazon、楽天 |
SNSプラットフォーム | Facebook、Twitter |
オンラインバンキング | ゆうちょ銀行、楽天銀行 |
家電
分類 | 例 |
ロボット掃除機 | ルンバ |
スマートウォッチ | Apple Watch |
エアコン | 霧ヶ峰 |
車
分類 | 例 |
エンジン制御 | 燃料噴射 |
車載エンタメ | カーナビ、オーディオ |
運転支援 | 自動運転、自動ブレーキ |
ゲーム
分類 | 例 |
Nintendo Switch | ポケモン、マリオ |
オンラインゲーム | ファイナルファンタジー |
業務システム
分類 | 例 |
基幹業務 | 奉行シリーズ |
医療 | 電子カルテ |
物流 | 自動倉庫システム |
プログラミングの将来性
加速度的にIT化が進む
近年のIT化はめざましい進歩を遂げています。
その理由は、
コンピューターの性能が加速度的に上がっている
から。
コンピュータの心臓部に使われるCPUやメモリと呼ばれるICチップには半導体が使われています。
つまり半導体の性能向上がコンピュータの性能向上に直結しているわけです。
半導体の性能は過去約50年にわたり加速度的に向上してきました。
性能はそろそろ頭打ちと言われているものの、半導体の3次元化技術や量子コンピューターと言われる技術によりまだまだ性能は加速が続いていく……とも言われています。
コンピュータの性能が向上すれば、クラウドサーバーや通信設備などあらゆる機器の性能も比例して向上し、インターネットの速度も向上していくと考えられます。
すると、次のような連鎖が起こります。
コンピューターの性能が上がる
→ ネット速度が上がる
→ Web・クラウドが伸びる
→ IoTが伸びる
→ ロボットが伸びる
→ AIが伸びる
→ セキュリティ強化が必要になる
→ プログラムが至る所で必要
身近な例を挙げると、
スマホ
Apple Watch
Amazon
ドローン
ChatGPT
などが有名ですね。
IT化でこのような商品やサービスがどんどん生まれています。
こういった背景からこれからもIT化は加速していくと考えられます。
AIとロボット化で仕事が減る
「日本の労働人口の49%が人工知能やロボット等で代替可能に」
~中略~
10~20年後に、日本の労働人口の約49%が就いている職業において、それらに代替することが可能との推計結果が得られています。
出典:2015年12月2日 株式会社野村総合研究所 ニュースリリース
野村総研により日本の労働人口の約半数がAIやロボットに取って代わられるとの試算が発表されました。
それから7年半が経ちました。
結果、どうでしょうか。
49%には達しているとは言えない
けれど、
人からロボットやAIへの置き換えが着実に進んでいる
と言えるのではないでしょうか。
例えば、次の例は2023年6月現在で既に実現しています。
空港の自動荷物預かり機
セルフレジによる省人化
農業用ドローンによる農薬散布
物流センターの自立運搬ロボット
ラジオのAIアナウンサー
店舗内の自動ロボット掃除
この先もこの傾向は続くと見られ、今まで人が担ってきた仕事の勢力図が大きく変わっていくことは想像できるでしょう。
IT人材は不足
経済産業省によると2030年までに41~79万人のIT人材が不足すると推計されています。
今後特に不足すると言われているのが次の分野です。
先端IT人材(AI、ビッグデータ、IoT)
情報セキュリティ人材
AI
最近、AIチャットサービス「ChatGPT」が話題になっています。
自然な会話形式で質問に応えてくれるため従来のインターネット検索に置き換わっていく可能性が指摘されています。
これからはこのようなAIを開発していく人材、あるいはAIを使った新しい価値を生むサービスを作り上げていく人材が求められます。
ビックデータ、IoT
コンピュータやインターネット通信速度の飛躍的な向上によりWEB上に流れるデータ量が爆発的に増えています。
また、あらゆる機器がインターネットにつながるようになってきている(=IoT)ことでデータが肥大化(=ビッグデータ)しています。
これからはIoTを作り出す仕事、あるいはビックデータを分析し、経営課題の解決案を提示できる人材が求められます。
情報セキュリティ人材
あらゆるデータがインターネットにつながることでセキュリティ上のリスクが上がります。
すると必然的に高いセキュリティが必要とされるため、情報セキュリティ人材のニーズが高まります。
DX推進で内製化が進む
昨今、DX(デジタルトランスフォーメーション)が叫ばれています。
DXとは……
企業が、ビッグデータなどのデータとAIやIoTを始めとするデジタル技術を活用して、業務プロセスを改善していくだけでなく、製品やサービス、ビジネスモデルそのものを変革するとともに、組織、企業文化、風土をも改革し、競争上の優位性を確立すること。
出典:野村総合研究所
ビジネスモデルそのものを変革するためには、デジタル技術を活用できるスキルを持った上で、業務プロセスを熟知し、なおかつビジネスモデルの構造上の課題も理解している必要があります。
さらに組織や企業文化、風土までも改革していくには複数部門とのパイプを持ち、経営層を説得する高いプレゼン力も求められます。
これを実現するには企業内部の事情を深く理解していなければならず、内部の人間でない限り本質を把握するのは難しいでしょう。
このため内製化を進めている企業が増えていきてます。
例えば、急成長中のニトリ。
内製化を進めていることで有名ですが、新卒のITエンジニアを採用後に1年半現場で経験を積ませるとニュースで話題になりました。
賛否両論あるかと思いますが現場を熟知しなければ問題点は見えてこないため、このように現場を熟知した社員が内製化を進めていく企業も増えてくるのではないでしょうか。
近年流行りの言語
RedMonk(米国)の調査によると、2023年1月時点の人気言語1~10位までは以下のようになっています。
1 JavaScript
2 Python
3 Java
4 PHP
5 C#
6 CSS
7 TypeScript
7 C++
9 Ruby
10 C
出典:RedMonk The RedMonk Programming Language Rankings: January 2023
それぞれの言語の特徴を簡単にご紹介していきます。
JavaScript(ジャバスクリプト)
WEB製作・WEB開発に特化した言語です。
主にWEBサイトに動きをつけたい場合に使われてきましたが、近年サーバーサイドでも動作させることが可能になりました。
これによりJavaScriptだけでWEB開発ができるようになり開発効率が高まっています。
Python(パイソン)
WEB開発、AI開発、データ分析などに使われています。
近年急速に人気が高まっている言語です。
Java(ジャバ)
あらゆるOS上で動作させられる汎用性の高い言語です。
WEB開発、業務システム開発、Androidアプリ開発ができます。
PHP(ピーエイチピー)
Web開発に特化した言語です。
サーバーサイドで動作します。
C#(シーシャープ)
Windowsアプリ開発、Androidアプリ開発、Webアプリ開発、ゲームなど幅広い用途に使える言語です。
汎用性の高さではJavaに近いです。
CSS(シーエスエス)
Webページの見栄えをよくする言語です。
正確にはプログラミング言語ではなくスタイルシート言語と言います。
TypeScript(タイプスクリプト)
JavaScriptの進化版言語です。
JavaScriptに比べて開発段階で開発者がエラーに気づきやすくなることで品質向上が見込めます。
C++(シープラスプラス)
C言語の進化版言語です。
C言語に比べてクラスという機能が使えることで開発効率が向上しています。
組込、OS開発、AIまで幅広い用途に使われています。
C言語と同様に高速動作します。
Ruby(ルビー)
Web開発に強い言語です。
簡潔に書けるのが特徴です。
日本人の「まつもとゆきひろ」さんが開発した言語です。
C(シー)
高速に動作し、ハードウェアの制御もできます。
長い歴史があり未だ必要とされている言語です。
約20年前、学ぶならCと言われていたほどスタンダードな言語でした。
プログラミングを使った開発に関する仕事
プログラムを使った開発職種について簡単にご紹介します。
Web、スマホ、ゲーム、IoT、業務システムのどの分野であれ、開発ならほぼ同じです。
小規模な会社では、はっきりした区分けがないところも見受けられます。
プログラマー
主にプログラミングが仕事です。
システムエンジニア
システムの仕様をまとめる仕事です。
仕様からプログラミング、デバッグ、テストまでの一連の仕事を指す場合もあります。
プロジェクトマネージャ
プロジェクトの企画立案、予算、日程、品質、関連部署との調整を行います。
プロジェクトを統括する仕事です。
プログラミングの学習スタイル
プログラミングの学習はPCを使って実際にプログラムを作ってみるのが最も近道です。
そのためにもまずは必要な知識をインプットする必要がありますが、その方法には次のスタイルがあります。
本で学ぶ
本は体系的に学ぶのに向いています。
初めて学ぶなら正しい知識を体系的に学べる本がオススメです。
解説サイトで学ぶ
ネットには解説Webサイトが多数ありますので無料で手軽に学べます。
ただし、内容が不正確であったり断片的なサイトもあり、体系的に学ぶにはやや不向きです。
動画サイトで学ぶ
YouTubeなどの動画サイトで学ぶ方法です。
こちらも無料で学べます。
動画では実際の手順を具体的に解説してくれるのでじっくり実践的に学びたい場合に向いています。
スクールで学ぶ
本で学んだりWebサイトで学ぶ過程で、プログラムを実際作ってみたけれどエラーが出てなかなか自力で解決できない場合があります。
そんな場合はスクールで学ぶ方法があります。
スクールならピンポイントで質問が出来ますので、つまづいた時に解決しやすくなります。
多少お金をかけてでも効率よく学びたい……と考えているならスクールを選択するのも一つの手です。
ただし、スクールは高額なものも多いため、自分に合うスクールを慎重に選びましょう。
これから始めようとしているあなたへ
いいことばかりではない
華やかなIT業界をイメージしている人もいると思いますが、いいことばかりではありません。
プログラムは目に見えにくいため、仕事の発注者が無理な要求を出してしまうことが少なくありません。
うまくプロジェクトをマネジメントできていないと無理な機能、無謀な納期の中で開発が進行していくケースがあります。
また、入る会社によってはせっかくスキルを身に着けたのに希望と違う仕事に配属されたり、雑用ばかりやらされて実務経験が積めない、といったケースも聞きます。
高い給料や自由な働き方ばかり求めていると、こういったケースに巻き込まれたときに現実とのギャップが生まれてしまうことも可能性としてあることを理解しておきましょう。
就職・転職する際には応募する会社の徹底的に下調べすることが大事です。
興味・関心があること
ITの分野で活躍していける人材になるには、少しでも興味・関心があることが重要です。
ITは日進月歩です。
その変化を楽しめるくらいでないと続けていくのがつらいと感じてしまうかもしれません。
逆に言うと、新しい技術に興味関心を持ち続けられる人には天職になる可能性があります。
まとめ:まずはやってみよう
少しでも興味・関心があるならまずは簡単なプログラムを作ってみましょう。
まずやってみて、少しでも面白いと感じたら適性アリです。
自分がプログラミングに向いているかを知るために、まずはプログラムを実際に作ってみて体験することが大事です。
体験についてはこちらの記事もどうぞ。
-
-
プログラミングを体験してみよう【20代未経験者向け】
プログラミングを体験してみたい 自分がプログラミングに向いているか知りたい この記事ではプログラミング未経験のあなたへプログラミングの体験方法をお伝えします。 体験すること ...
続きを見る