プログラミングとは料理と同じ!?初心者でもあっという間に理解できる | WEBCAMP NAVI
【7月枠も残りわずか】転職保証コース

プログラミングとは料理と同じ!?初心者でもあっという間に理解できる

IT人材が不足し、2020年にはプログラミング教育が必修化すると言われています。
世界で注目されているプログラミングについて、プログラミング技術に触れたことのない未経験者からすると

・そもそもプログラミングって何?
・どんな学習方法があるの?
・学習にどれくらい時間がかかるものなの? 

頭が良くないとできなさそう・・

といったように、いろんな疑問や不満を持っているのではないでしょうか。
せっかくプログラミングを学習しようとしても、正確な情報を知ることができずに、行動に移せない人が多くいます。

実際に以前は学習する環境も少なく、専門的な知識が多く求められていました。

しかし現在は簡単なプログラミング言語も増え、学習し安い環境になり、将来性有望な技術であるが、ライバルが少ないという人材価値を上げるためには「オイシイ」ものとなっております。

そんな何かと話題になるプログラミングですが、どんな技術か正しく理解しておくことは今後あなたのキャリアの選択肢を広げるためにかなり重要になります。

こちらの記事は

対象読者

プログラミングに触れたことのないIT未経験者の方

解説内容

・例を使ったプログラミングについて
・プログラミングの学習方法や、プログラミング言語について
・未経験者のための学習ステップ
・プログラミングを使った職種について

をご紹介します。

ITに関して全く知らない人でも理解できるように丁寧に解説します。

プログラミングとは

プログラミングといえば、画面に向かって英語や数字を打ち込んでいくイメージがありますが、実際にどんなことをしているのか理解している方は少ないかと思います。

それでは、プログラミングとは一体どんなことを指すのでしょうか?

プログラミングの意味

プログラミングについての定義について見てみましょう。
Wikipediaでは以下のように説明されています。

コンピュータのプログラミング(英: programming)とは、コンピュータプログラムを作成することにより、人間の意図した処理を行うようにコンピュータに指示を与える行為である。

出典: フリー百科事典『ウィキペディア(Wikipedia)』

つまりプログラミングとは、プログラムを作成することで機械に処理をお願いすることをいいます。

プログラミングは子供のおつかいに似ています。
お母さんが買ってきて欲しいものをメモに書き出して、子どもにお願いをするとします。

しかし、子どもは言われたことを理解するのが苦手です。
正確に伝えなければ別のものを買ってしまうかもしれないし、分かりにくい書き方だと理解するのに時間がかかってしまいます。

理解するのが苦手なのは機械も同じ。
正確に伝えなかったり分かりにくいと、買うものを間違えたり大量購入してしまうなどのバグが起こってしまいます。
そのため、プログラムは正確に分かりやすく書くことが大切なのです。

プログラミングを使ってできること

プログラミングでできることは主なものとして6つです。

  • Webサイト
  • アプリケーション
  • ゲーム
  • システム(駅の改札など)
  • AI
  • ロボット

特に人気なのはアプリケーションで、昔より色んな機能を実装できるため作れるサービスも幅広くなっています。

代表的でわかりやすい例がゲームです。
任天堂のSwitchで例えると「Aボタンを押せば、キャラがジャンプする」
スマホゲームで例えると「ここをタップすると、キャラがタップした場所まで移動する」など全てがプログラムされています。

またWebサイトでも文字の色や大きさなどの装飾、ここをタップすると違うリンクに移動するなど全てがプログラミングによって出来ています。

普段の生活でプログラミングが欠かせないものになっていることを理解していただけたでしょうか。

プログラミングでできることとは?作れるもの・言語別に解説!

似ている言葉を整理しよう

システムやプログラム、コーディングといったような言葉の違いを正しく説明できますか?
聞き覚えのある言葉は多いものの、正しく理解できていない方も多いのではないでしょうか。

実はプログラミングで出てくる用語は料理で例えると理解しやすいです。

プログラミング用語

料理の元となるのは、肉や野菜などの素材ですよね。
それを人の手で調理することによって、一品の料理が出来上がります。

プログラミングでは、料理はプログラムで例えることができます。
プログラムの元となるのがソースコードで、それを打ち込んでプログラムを作成する作業のことをコーディングと言います。

また、料理は一品だけではなくいくつか種類を用意しますよね。
プログラムを何種類も集め、一つのアプリケーションとして機能するものをシステムと呼びます。
みなさんが使っているアプリケーションは、厳密にはプログラムではなくシステムということになります。

プログラミングを使った仕事「エンジニア」の種類

プログラミングを扱う仕事といえば「エンジニア」が代表的ですよね。

一括りにエンジニアと言っても、様々な種類が存在します。
例えばWebアプリケーションを作るエンジニアをWebアプリエンジニア、ネットワーク環境を扱うエンジニアをネットワークエンジニア、家電やゲームにプログラムを組み込むエンジニアを組み込みエンジニア…等々、種類は様々です。

それぞれについて解説します。

エンジニアは大きく3つに分類されます。

①開発エンジニア
②インフラエンジニア
③営業系エンジニア

開発エンジニア

実際にWEB、アプリ、AIなど開発を行うエンジニアです。
今見ているサイトもこのエンジニアのおかげで見ることが出来ます。

今回は上記のエンジニアを紹介します。

WEBエンジニア

みなさんが今見ているサイトはWEBエンジニアが作っています。
主にWEBアプリケーションの制作、webサイトの制御システムの管理をしています。

平均年収は450万前後と言われており、必要な資格はありませんが、データベースに関する知識、セキュリティーに関する知識、LAMP環境に関するスキルなどが必要です。

詳しく知りたい方は下記の記事をご覧ください。

キーボードを触る未経験からWebエンジニアとして就職・転職する方法を解説

ゲームエンジニア

ゲーム制作のエンジニアですが、デザイン系の業務やサウンド系の業務などと連携してゲームを制作する必要があります。

平均年収は500万前後と言われており、必要な資格はありませんが数学的知識や根気強くゲームの関わることが必要とされます。

組み込みエンジニア

家電や、カーナビなど電子機器を作成、制御するエンジニアです。
近年ではIOTが注目されているため、需要が高くなっています。

平均年収は550~600万と言われており、必要な資格はありませんが、ソフトウェアの知識、コミュニケーションスキルなどが必要とされます。

詳しく知りたい方は下記の記事をご覧ください。

パソコンに向かう女性【未経験者向け】組み込みエンジニアとは何か?転職方法も解説!

AIエンジニア

AIの開発を行うエンジニアです。
近年自動運転やチャットボットなど活用されており、注目を浴びています。

平均年収は595万前後と言われており、必要な資格はありませんが、機械学習に関する知識、数学的な力、得たデータを解析する力が必要とされています。

インフラエンジニア

今回は上記のエンジニアを紹介します。

サーバーエンジニア

サーバー用のOSのインストール、プログラムのセットアップ作業、ネットワークセキュリティの設定、サーバーの監視、障害の対処など行います。

平均年収は500万前後と言われており、必要な資格はありませんが、OSに対する知識、ミドルウェアの知識、ネットワークや通信の知識、セキュリティーの知識など幅広い知識が必要です。

詳しく知りたい方は下記の記事をご覧ください。

サーバーエンジニアは未経験でもなれる?徹底解説

ネットワークエンジニア

ネットワークにおける、LANやWAN、wifiなどの設置や管理、セキュリティ対策など行います。

平均年収は450~600万前後と言われており、資格は必要ありませんが、WAN系の知識、LAN系の知識、インターネット系の知識が必要とされます。

詳しく知りたい方は下記の記事をご覧ください。

ネットワークエンジニア【2020年最新版】ネットワークエンジニアの仕事内容や年収を徹底解説!

営業系エンジニア

今回は上記のエンジニアを紹介します。

サポートエンジニア

ユーザーと直接やりとりし、トラブルに対応します。
コミュニケーションをとることで顧客のトラブルを解決する必要があります。

平均年収は430万前後で、資格は必要ありませんが、データベースの知識、コミュニケーション能力が必要です。

セールスエンジニア

システムをクライアントに導入してもらうために、営業をします。
エンジニアとしての知識と営業力が求められます。

平均年収は649万前後で、資格は必要ありませんが、ITエンジニアとしての知識、プレゼンテーションスキルなどが必要になります。

プログラミング言語とは

プログラミング言語

プログラミング言語」というのを聞いたことはあるでしょうか?
人が話す日本語や英語のように、プログラミングにも様々な言語があり、言語によってコードや文法が異なります。

プログラミングは作りたいものによって、どんなプログラミング言語を使わなければいけないかが変わります。
例えば、オムライスを作るのに麺は必要ないですよね?

これと同様で、言語によって作れるものが違います。

プログラミング言語は大きく2つに分類することが出来ます。

250種類以上の言語がある

プログラミング言語にはC,Java,Ruby,Python,Goなど色んな言語がありますが、どれくらいあるかご存知でしょうか?

プログラミング言語の検索数を集計して調べているTIOBEよると、その数250言語以上と言われています。
では、なぜここまで多くの言語があるのでしょうか?

昔は性能が重視され、速度の早い言語というのが主流でした。
しかしセキュリティの脆弱性や使いやすさも重視されるようになり、さらに開発するモノも家電からゲーム、アプリやAIなど作られるものも増えていきました。
つまり、作るものや欲しい機能によって様々なプログラミング言語が誕生したというわけです。

そのため、プログラミング言語を選ぶ際は作りたいものや作る規模、扱いやすさから考えていく必要があります。

プログラミング言語が存在する理由

プログラミング言語とは、人間が書いた言葉(ソースコード)を機械に伝えるための言語です。

「人間が読める」というのが重要で、機械というのは基本的に2進数という0,1の数字の羅列で処理を行なっており、「機械語」と呼ばれています。
映画「マトリックス」で想像するとわかりやすいかもしれません。

真っ黒な背景に緑色の字で01が画面いっぱいに流れ落ちてくるシーンがありますよね?
人間がこの何万通りもある羅列を全て覚え、書くのは実質不可能ではないでしょうか。

そこで、人間がわかりやすく書きやすいもの、そして機械語に変換できるものとして作られたのが「プログラミング言語」です。

人間の書いたコードを2進法に自動的に直してくれる言語なので、

「人間」「機械」を繋ぐ間の「中間言語」です。

「あなた」「海外の人」とコミュニケーションを取るために必要なのが、世界の共通語である「英語」だとすれば、

「あなた」「機械」とコミュニケーションを取るために必要な言語が中間言語である「プログラミング言語」です。

 フロントエンド言語

①HTML
②CSS
③JavaScript

文字や画像を表示する「HTML」

企業のHPなどを作成するために必ず必要になるプログラミング言語です。
あなたが今見ているこちらのページもHTMLで作られています。

つまり、HTMLはテキストを使って文字、画像、表などを表示する言語です。

女性とパソコンHTMLでのホームページの作り方を解説【初心者向け】

文字を装飾する「CSS」

HTMLで表示した文字や、表などを装飾するために必要な言語です。
HTMLだけでは、黒い文字しか表示されないとても見にくい文章になってしまいます。

つまり、HTMLで表示した文字や表に色をつけ、重要な部分などユーザーにとって分かりやすくするために必要な言語です。

ページに動きをプラスする「JavaScript」

WEBページに動きをつけるために使用される言語です。
写真のスライド表示や、スマホやパソコンに表示されるボタンをクリックすると本当に押したように見える動きなどを加えることが出来ます。

つまり、よりユーザーの興味を引くためにページに動きをつけるために必要な言語です。

【JavaScriptの独学方法を1から解説】オススメ本や学習サイトまで詳しく紹介!

バックエンド言語

普段目にしていないサーバーなどの情報を管理するプログラミング言語です。

①Ruby
②PHP
③Python
④Java

他にも様々な言語がありますが、代表的なものとして以上が挙げられます。

WEBアプリに強い「Ruby」

日本人が開発したプログラミング言語です。
故に、分かりやすく使いやすいと言われています。

特にWEBアプリケーションに特化しており、SNSやWEBサイトなどを作成することが出来ます。
「クックパッド」「食べログ」などが利用されています。

初心者がRubyの独学を最短で成功させるためのマル秘情報

WEB制作の「PHP」

構文がシンプルで使いやすいと言われています。
問い合わせフォームやショッピングカートでユーザーが購入した商品の種類や数によって確認画面などの表示を変えることが出来ます。

WEBアプリやWEBサイト制作に使われています。
「WordPress」で利用されています。

【初心者向け】PHPとは何?HTMLとどう違うの?徹底解説

人工知能開発の「Python」

AIを作るプログラミング言語です。
機械学習など、最先端の技術を開発できる言語です。

案件は徐々に増加しており、読みやすく規則が分かりやすいため初心者にも扱いやすいことから、人気が高い言語です。

Python 独学Pythonを独学で学ぶには?おすすめの勉強方法を解説!

 システム開発に活用される「Java」

シェアナンバー1と言われているほど、利用されている言語です。
案件も多く、比較的安定した言語と言われています。

作れるものは幅広く、WEBアプリ、業務システム、Androidアプリなど様々なものがあります。
初心者には難しい言語ですが、処理速度が早くかなり便利な言語です。

【初心者向け】独学でJavaプログラミングを学ぶ4つのステップ

主要なプログラミング言語

プログラミング言語ランキング
1位         Pyhon
(3.5)
2位         JavaScript
(3.5)
3位         Ruby
(3.5)
4位         Java
(3.0)
5位         PHP
(3.0)

多くの種類が存在するプログラミング言語ですが、実は使用されている言語はかなり限られています。
どの言語に人気があるのか、言語によって年収はどう違うのか気になりませんか?

プログラミング言語についてさらに詳しく知りたい方は下記の記事をお読みください。

今学ぶべきプログラミング言語がわかる【初心者向け言語の選び方】

今からプログラミングを勉強する5つのメリット

プログラミングについて大まかな理解はしていただけたかと思いますが、

プログラミングを身につけるとどんなメリットがあるの?

と考えているのではないでしょうか。
プログラミングは時間と費用をかけて学習しなければいけないものですが、本当にそれにあったメリットがあるのか不安になりますよね。

実は、プログラミングを始めるのは今がベストタイミングなのです。
その理由はどういったところにあるのか見ていきましょう!

<人材が不足している


【引用】経済産業省 参考図1. IT人材の需給に関する推計結果の概要
https://www.meti.go.jp/press/2016/06/20160610002/20160610002.html

経済産業省によると、IT人材は2030年に最大で約79万人不足すると言われています。
それほどIT人材は不足しており、企業から求められている職業でもあります。

今からエンジニアを目指すことで需要の高い中で就職することができるので、自分のやりたい環境で仕事できる可能性が高いです。
需要が高くなるということは給与も高くなっていくことも十分考えられるので、非常に市場価値のある職業だと言えます。

学習環境が充実してきた

昔は専門書で学習したり、大学や専門学校で学習するのが当たり前になっていました。
しかし現在では、手軽・簡単に学習できるサービスが多く普及してきています

また、プログラミング言語も以前より扱いやすいものが増え、昔より高い専門性がなくてもできる幅が広くなりました。
後ほど紹介するサービスもプログラミングの面白さを重視して作られているので、学習するハードルがかなり下がってきています。

新しい技術を使ってモノづくりに携われる

エンジニアになる大きなメリットの1つとして、新しい技術でモノづくりに携われる点です。

ITの世界はどんどん進化しています。
iPhoneの登場やAI、ビックデータ、VRや5Gなど、ここ数年で色んな技術が登場・発達しましたが、プログラミングでは最新技術を使ってモノを作ることができます。

新しい技術は他の技術者が習得できていない場合も多いので、そこにチャレンジしていけるとかなり市場価値の高い人材になれますよ。

汎用性の高いスキルを身につけられる

近年、金融×テクノロジーの「フィンテック」や人材(人事)×テクノロジー「HRテック」という言葉が流行っていますが、ITは色んな業界で活用されるようになりました。

エンジニアは専門職ではあるもののあまり業界が絞られることはなく、自分が働きたい業界を選択しやすい職業であると言えます。

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

パソコン一つで仕事ができるため、どこでも働くことができるというのも魅力です。

カフェで働けるビジネスマンは増えましたが、会議などでずっと海外を飛び回ることまでは難しいです。
しかし、エンジニアは時間だけでなく空間的にも自由を得やすく、世界中を旅しながら仕事することも可能なのです。

フリーランスプログラマーとして活動をするための方法についてはこちらで紹介しています。
【最強マニュアル】フリーランス プログラマーへの近道はコレだ

4つの目的別の学習方法!

プログラミングに少しでも興味を持っていただけたでしょうか?
実際に勉強したいと思った方もいるかもしれませんが、学習する目的によって取るべき勉強法は大きく変わってきます。

ここでは、

この4つに分けて解説していきます!

エンジニアへ転職したい

未経験からエンジニアへ転職したいという方は、プログラミングスクールの受講がオススメです。

人材が足りないために未経験でエンジニアとして入社し学習させてくれる企業もありますが、選べる企業が少ないために入口が狭い、もしくは入っても企業によって教育環境の良し悪しがあるので、必ずしも安定したスキルアップできるとは限りません。

また、独学でプログラミングを学んだ人より、実績のあるスクールでプログラミングをしっかり学習した人を優先して採用する企業もあります。

プログラミングスクールでは、未経験で学習から実務に至るまでのカリキュラムを数ヶ月で提供しています。
実際にポートフォリオと呼ばれるアプリケーションを作成し、どのくらいプログラミングを扱えるのか評価されます。

エンジニア転職をしているスクールではキャリアに関するカウンセリングを行なっているサービスもあり、「なぜエンジニアに転職するのか」「どんなキャリアを歩みたいのか」を一緒に考えてくれます。
それを元に転職先を一緒に検討し、転職後も生き生きと働けるような仕組みづくりをしています。

もし未経験から手に職つける仕事へ転職したいのであれば、プログラミングスクールの受講も検討してみると良いかもしれません。

まずは独学でプログラミングを学びたい

エンジニアになりたいとかは分からないけど、とりあえずプログラミングを書いてみたい人にオススメなのが「何を作りたいか決め、それを達成するのに適した言語を学習する」ということです。

目的が無い分、モチベーションが持たず挫折してしまう人が9割だと言われています。
そこで「作りたい物」を決め達成することで、スキルアップはもちろんモチベーション維持や、就職、転職の際に企業に提出するための作品にもなります。

しかし、目的を決めずに学習してしまうと「結局何を勉強すればいいんだっけ?」「本当にスキルは身についているのかな」と学習の方向性が曖昧になり、学習方法を考えることの時間が多くなってしまいます。
そのため、まずはプログラミングを学習する目的を意識してみましょう。
それが決まった中で、言語別の学習方法を調べてみるのがオススメですよ。

プログラミング 独学についての具体的な学習ステップや、挫折する理由などはこちらで紹介していますので、ぜひ参考にしてください。

プログラミングの独学は成功できる!【学習すべき言語も紹介】

まずはプログラミングについて理解したい

IT企業に就職する方やこれからプログラミングを勉強してみたい人にオススメの勉強法は、入門書を読みつつネットで調べる方法です。

昔は研究者が書いた難しい本が多かったのですが、近年では手軽に読めるような本も増えてきました。
どの本がおすすめか知りたい方は下記の記事をご覧ください。

プログラミングの独学は本で学習すべき!?独学に最適な本をご紹介!

自分の子供にプログラミングを勉強させたい

子供にプログラミングを勉強させる方法は2つです。
一つはアプリで学習する方法、もう一つはプログラミング塾に通う方法です。

どちらの学習方法を取っても良いのですが、大切なのは楽しく継続してもらうこと
能動的に学習してもらうことでプログラミングに対する関心も深まり、どんどんレベルアップすることができますよ。

プログラミング ゲームについてはこちらで紹介しています。

プログラミングをゲーム感覚で学べる学習サイト7選【ゲーム作成したい方も】

プログラミング未経験者の学習ステップ

未経験者が効率よくプログラミングの学習を行う方法をお伝えします。
学習ステップを間違えてしまうと、効率が悪くなるどころか挫折してしまう確率を高めてしまいます。

しっかりステップを把握し学習を始めましょう。

STEP.1
作りたいものを決める

まずは何を作りたいのか決めましょう。
WEBページなのか、アプリなのかなどを決めることで、効率よく学習出来ます。
また、挫折してしまう確率も下げることが出来ます。

STEP.2
学習する言語を決める

次は作りたいものを作るために適したプログラミング言語を選びましょう。
どうしても作りたいものがないという方は、難易度や年収で選びましょう。

プログラミングの独学は成功できる!【学習すべき言語も紹介】
STEP.3
実際にコーディングする

言語が決まれば実際にコーディングしましょう。
学習本と学習サイト両方を用いて、効率よく学習しましょう。

STEP.4
作品を作る

学習が終われば実際につく痴態ものを学習しましょう。
作品のクローンなど作成してもいいでしょう。

システムエンジニア(SE)とプログラマー(PG)の違い

プログラマーとエンジニアって言葉が出てくるが、そもそもどういう違いがあるの?と考えてはないでしょうか。
それぞれの違いを紹介致します。

プログラマー(PG)

プログラマー(PG)

システムエンジニアが上流工程であったのに対し、プログラマーは「下流工程」を担当します。

SEから提案された設計を元に、ソースコードというプログラムの元を記述していくコーディングを行いプログラムを作成します。
機能が正しく動くか、動作が遅くないか、他の人がプログラムを読んでも理解できるかなど、多くの意識すべき点があります。

システム設計は建設に似ています。
建物の外観から部屋の見取り図を作成し、それを元に大工さんが建設していきますよね。

実際にZOZOTOWNの設立者である前澤社長は、エンジニアのことを「デジタル大工屋さん」と例えています。

年収や将来性、業務内容など詳しく違いを知りたい方は下記の記事をお読みください。

エンジニアとは?をわかりやすく【業務内容からよくある質問まで】

システムエンジニア(SE)

システムエンジニア(SE)

システムエンジニアは主にシステムの設計を行います。
キーボードを叩いてプログラムを作成するというより、作りたいサービスを形にするためにはどんな機能が必要か、どう作成していくかを考えることがメインとなります。

着手段階の前半の工程であるため、よく上流工程と言われたりします。

まとめ

未経験でもエンジニアになることは可能です。
DMM WEBCAMPではありがたいことに、3ヶ月の学習と転職支援によって未経験から多くのエンジニアを送り出してきました。

弊社DMM WEBCAMPでもプログラミングスクールを運営しているのですが、キャリアに関しては一人ひとり丁寧に話を聞き、受講生に最適なキャリアを選択してもらうことを大切にしています。

もっとたくさんの人を笑顔にしたい!キャビンアテンダントからエンジニア転職を決意した理由とは? 医療関係の営業職から一転、基礎を固めた有能なエンジニアに!

エンジニアに転職された方々のバックグラウンドは様々です。
少しでも「プログラミングやエンジニアに興味を持てた」と感じていただければ幸いです。

自宅にいながら、プロのキャリアアドバイザーに無料オンライン相談!

DMM WEBCAMPは転職成功率は98%※1の全コースオンライン対応の転職保証型のプログラミングスクールです。短期間で確実にスキルを身につけて、ひとりひとりに寄り添った転職サポートで、未経験からのエンジニア転職を叶えます!

外出自粛期間中でも、自宅にいながらオンライン学習でスキルを高めることができます。

キャリアに迷ったら、まずはビデオ通話で無料キャリア相談を受けてみませんか?

自宅で過ごす時間が増えた今こそキャリアアップを目指しましょう!この機会を活用し、ぜひDMM  WEBCAMPの無料カウンセリングをご利用ください。

オンラインで実施中/
【無料】キャリア相談の日程を見る

※ 12019年4月時点