【10分でわかる】プログラミングとは【初心者向け】

プログラミングとは

最近、IT人材不足やプログラミング義務教育化って言われてるけど
プログラミングってそもそも何って人や
プログラミングに興味を持っている人向けに
10分でわかるくらいでわかりやすく記事を書きました。

プログラミングを勉強し始めた人も
そもそもプログラミングとは何かを復習する意味
読んでいってください。

本記事のテーマ

次のような疑問をかなりわかりやすく解決していきます

解決する疑問
  • そもそもプログラミングって何?
  • プログラミングを学ぶと何がいいの?
  • でも理系の人がするものでしょう?
  • プログラミング学ぶのはお金がかかりそう…

ちなみに記事を書いている僕は、上場SIerでエンジニアをしていて
プログラミング歴9年です。
本業でエンジニアをしつつ、副業でもプログラミングをして稼いでいます。

プログラミングとは何か

プログラミングの定義

プログラミングは簡単に言うと、コンピュータへの命令文を書くことです。

コンピュータ

パソコン、スマホ、家電など
電気で動く系のモノ全般をイメージしてもらえば大丈夫です。

命令文

そのコンピュータにさせたいことを記載した文章です。

例えば、Twitterはプログラミングされたアプリです。
スマホ版のアプリで考えてみます。

アプリのアイコンをタップするときの命令文は

    1. アプリの起動
    2. 自動ログイン
    3. フォローしているアカウントのツイートを最新の更新時間順に表示
    4. 通知やダイレクトメッセージの新着件数を表示

などなど命令しているはずです。

この命令文を書くことがプログラミングです。
そして、プログラミングしている人のことをプログラマーと言います。

よくドラマでハッカーとかエンジニアとかが黒い画面で英語っぽい文字を打っているあれです。
コンピュータに対して命令文を書いてるんです、あれ。

プログラミングの必要性

僕たちが生活している中でプログラムされているモノに溢れています。

例えば、パソコンやスマホは当然そうですが
テレビや電子レンジといった家電、子供用のおもちゃにも
プログラミングはされています。

ボタンっぽいものがあって
電気が必要なものはだいたい
プログラミングで作られています。

そう考えると世の中の便利なサービスって
プログラミングがないと成立していない
サービスばかりだと思いませんか?

特にパソコンやスマホで使っているサービスやアプリは
全てプログラミングです。

想像して見ください
パソコンもスマホもない生活を。

プログラミングがないとできないこと
  • LINEで家族、恋人、友達と連絡が取れない
  • Yahooニュース見れない
  • 知らない単語をググれない
  • UberEatsを呼べない
  • 飲み会の会場までいく地図が開けない
  • 電車の時間がわからない
  • Paypayで支払いができない
  • Zoomで会議ができない
  • インスタでリア充をアップできない
  • Twitterで愚痴を投稿できない
  • TikTokやYoutubeが見れない
  • ゲームができない
  • 音楽が聴けない

etc…

考えるだけで生活の質や幸福度は1000分の1くらいになりますね。
時間という面から考えてもプログラミングがないと
人生が50年は短くなる気がします。

現代人からプログラミングを奪ったら
猿になるという説があるくらいです
(嘘です)

プログラミングは僕たち現代人にとって
必要不可欠なモノです。

これからの未来には
もっと必要なモノになってきます。

プログラミングを学ぶメリット

市場価値が爆上がりする

今の時代は、衣食住と同じくらいIT=プログラミングが生活の基盤になっています。
実際、ニュースを見ていても毎日のように新しいサービスがリリースされてますよね。
このサービスは基本的には全てプログラムありきでプログラマーが裏で活躍しています。

つまり、プログラミングができると仕事に困ることはないということです。
さらに、今はIT人材が不足しているので、収入が高い

需要と供給のバランスが崩れているので
平均くらいのレベルでプログラミングできるだけでも
単純に収入が高くなりやすいです。

特にフリーランスエンジニアになると
20代でも年収1000万円なんてざらな世界になります。

職業としては以下のような感じです

職業例
  • WEB制作:WEBサービスやホームページなどを作る人
  • アプリ開発:スマホアプリを作る人
  • ゲーム開発:テレビゲームやオンラインゲームを作る人
  • システムエンジニア:企業のシステムを作る人
  • インフラエンジニア:プログラムに関わるネットワークやパソコンまわりを担当する人
  • プロジェクトマネージャ:システムを作るときのプロジェクトを管理する人
  • 教育関係:プログラミングを教える人

プログラミングが義務教育化されたため
教育関係の人もこれからどんどん
需要が高まっていくことが予想されますね。

プログラミング思考が身につく

プログラミングを学習していると
物事を順序立てて考える力が身につきます。

コンピュータへの命令文を書くわけですが
コンピュータは人間みたいに忖度できません。
その代わり言われたことは
正確に確実にこなしてくれます。

なので、丁寧に一つ一つ指示をしていく必要があります。
例えば、1人で入った飲食店の店員に
「お水ください」というお願いしたら、
1杯のコップに水をいれてもってきてくれます。

しかし、コンピュータに対して
この指示をしても動いてくれません。

理由は曖昧だからです。

どこにある水で
何にいれて
どれくらいの量をもってくるのか
具体的に指示しないといけません。

この指示を考えていると
ロジカルな考え方が自然と身についていきます。

世界中どこでも働けるようになる

フリーランスエンジニアとして働けば
世界中どこにいても稼いでいくことが可能です。

完全リモートの案件を受注してこなしていけば
場所を選ばずに働くことができます。

実際に海外に住みながら
日本の案件をこなして生活しているエンジニアは多いです。

また、英語ができるようになれば
海外の案件も受注できますね。
海外の方がエンジニアの評価は高く収入も高いです。

ちなみに日本で働くにしても
英語の記事などで検索したり勉強したり
しないといけないので
自然と英語のリーディング力は着いていきます。

プログラミング学習のデメリット

結論、デメリットはありません。

これからのIT時代にプログラミングを
少しでも知っていることはプラスになります。

仕事にするレベルまでしなくても
学習した内容や考え方は生活の中でも十分活かせます。

学習コストとしては
3ヶ月くらいの勉強で一通りできるので
変な資格試験うけるより
プログラミングをしたほうが
圧倒的にコスパがいいです。

またお金の面についても
学習方法で紹介しますが
今の時代はプログラミング学習の情報は
溢れているので、独学&無料
勉強することが可能です。

年収1000万円稼ぐってなったときに
弁護士や公認会計士などの士業系になると
勉強時間がすごいですが

エンジニアは士業系ほど勉強しなくても
年収1000万円も普通にいけるので
コスパ最高です。

プログラミングに必要な能力

言語能力

プログラミングと聞くと
工学や情報系の理系がしているイメージが
強いかと思いますが
文系出身の人でも問題なくできます

人工知能(AI)を使って
データを分析するとかなると
統計学など数学的素養が必要になってきますが

通常のアプリ開発やゲーム開発では
数学的知識はほぼなくてできます。

実際に僕も経済学部出身ですが
バリバリのエンジニアですし
文系出身のエンジニアやプログラマーの方は結構います。

プログラミングは
日本語をプログラミング言語に翻訳する作業なので、
必要な能力としては、論理的に日本語の文章を書ける能力が必要です。

英語↔日本語でかっこよく翻訳できる人とか
めちゃ向いてると思います。

やりたいこと(日本語)を
プログラミング言語に表現に
翻訳していくイメージです。

コミュニケーション能力

プログラミングのイメージは
パソコンの前でカタカタしてるイメージが
強いかもしれないですが

実は結構
人と話す機会も多くコミュニケーション能力
必要になってきます。

・クライアントから要件を聞き出したり
・設計を書いたエンジニアと調整したり
・データを外部システムに連携したり
・一部を委託したり

などなど一人で完結するケースのほうが少ないです。

正確で密なコミュニケーションができないと
後々のトラブルになるため
コミュニケーションが苦手な人は
向いていないかもしれないです。

アプリ開発をすべて一人でするとかなら可能ですが
作業量だったり品質に限界があります。

自走力

IT業界の流れはかなり早く常に
新しい技術やサービスが出てくるため
常に勉強が必要で日々自身のアップデート
必要になってきます。

そこで必要な力が「自走力」です。
あまり聞いたことがない言葉かもしれないですが
簡単に言うと自分で前にすすめる力です。

例えば、エラーが出た場合に

・人に訊く前に自分で検索して解決していったり
・実装したいことを細かく分解して、的確に質問できたり
新しい情報を常に取り入れていったり

などができることです。

特性として
IT技術やプログラミングが好きで
知的好奇心旺盛な方は向いています。

学習方法

プログラミングは学んどいて損はないし
意外と自分はプログラミング向いてるかもしれない

けど、どうやって勉強したらいいの?
という方向けに学習方法を紹介します。

独学

「サイト」

他の方法をする前にしても、まずは独学です。

検索するとかなり良質な学習サイトや動画が
無料で出てくる時代なので
まずは無料サイトなどで感覚を掴んでみるといいです。

オススメはProgateドットインストールですね
どちらも有料登録がありますが
無料でもできます

Progateは環境構築不要
WEBブラウザ上にプログラミングをしていけるサイトで
スライド方式でレッスンが進められるので
自分のペースで進められます。

ドットインストールは
1本3分程度の動画で学習ができます。
無料版のコンテンツが充実してますので
こちらの動画で勉強もありです。

あとはYoutubeも検索すると
かなり有料級の動画もでてきますので
興味のある方は調べてみてください。

「本」

本での学習もできます。

本はプログラミングを体系的に学べるので
1冊は読んでみるといいかもしれないです。

ネットでランキング上位の本を
1冊購入してみてもいいですが、
正直、最初は本はなくても
インターネットだけでも十分かとかなと。

スクール

本格的にプログラミングで稼いでいくという方は
スクールもおすすめです。

ただスクールは安くても10万円前後、高いと数十万とするので
お金に余裕があって、本気の方向けです。

プログラミングをある程度習得できたら
1件10万円の案件は軽くこなせるようになるので
スクール代もすぐに回収できるとは思います。

メンターをつける

MENTAタイムチケットというサービスを利用し
学習効率を上げる方法もあります。

イメージは、スクールが塾みたいな感じで
メンターは個別指導みたいな感じです。

現役のエンジニアの人に
マンツーマンでついてもらって
学習を進めていくことができます。

また、現場で使っている活きたスキルや実情も
聞けるかもしれないです

さいごに

最後まで読んでいただきありがとうございます。
ちょっとプログラミングを始めてみたいなと思っていただけたでしょうか。

もし始めてみようと思ってみた方は
さらに「エンジニアに本当に必要な力」についても
知っておくべきです

以下より読んでみてください!

プログラミング学習前必読の「スタートアップマニュアル」も
ついてますので、是非、お受取りください。

内容としては

プログラミング学習のマインド
学習環境
学習のロードマップ
継続学習のコツ

について具体的に記載してます。
(トータル2万文字超)

プログラミングの学習の仕方で悩みたくない方
是非受け取ってください!