プログラミング学習の独学最短ルートとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985441/0d93c713-91d6-1874-3690-2989a6d698d3.png)


# はじめに

今回の記事は、プログラミング初心者の方を対象にした「効率よくプログラミング学習を行う方法」についてまとめたものをご紹介していきます。

「仕事に困らないように何か手に職をつけておきたい」
「クリエイティブな仕事がしたい」
「自由度の高い仕事がしたい」

このように考える人がここ数年で急増し、プログラミングに注目が集まっています。
スクールに通えばある程度の知識を身に着けることができる上に、転職サポートまで行ってくれるサービスもあるので「とっととWEBデザイナー、エンジニアになりたい！」という方には正直この選択が一番良いのかもしれません。
しかし、「そもそも自分に向いてるかわからない」や「興味がある程度でやり続けられるか不安」といった方にはいきなりプログラミングスクールに通うのはややリスキーに感じます。
なのでまずは、低コストで始められる「独学」で学習を始め、自分のやりたいことや適性を見極めていくことをお勧めします。
せっかく学習するのであれば、無駄な時間を作らず効率的に学習したいですよね。
今回はその方法について、私的お勧め最短ルートを順を追ってご紹介していきますので、良ければ参考にしてみてください。

# 1. 何を目指すのか、何を作りたいのかを考える

エンジニアは大きく分けると「フロントエンドエンジニア」「バックエンドエンジニア」の2つに分類されます。
それぞれで役割が変わりますので簡単に説明しておきます。

## フロントエンドエンジニア

フロントエンドエンジニアとは、WebサイトやWebアプリケーション上でユーザーが直接見ることができる部分を構築するエンジニアのことです。といっても、フロントエンドエンジニアの役割はただ見た目を良くするだけではなく、デザイナーが作ったデザインの構築のほか、UI、UXやSEOなども考慮した設計を求められます。
しかし近年では、Webデザイナーやコーダーもフロントエンドエンジニアと呼ばれたりするなど線引きがあいまいになっていることも多いようです。
フロントエンドエンジニアの求人情報を見る時は、仕事内容がシステム開発寄りなのかデザイナー寄りなのか、ディレクション業務やマーケティングの要素はどれくらいあるのかなど細かくチェックしておいた方がよいです。

## バックエンドエンジニア

バックエンドエンジニアとは、Webサイトを利用するユーザーには見えない部分を担当するエンジニアです。主にサーバ構築、データベース構築、プログラム開発、保守や運用などを担当するエンジニアです。
バックエンドengineerが開発で利用する主な言語は、PHP、Java、Python、Rubyなどが挙げられ、ほかにもデータベース言語であるSQL、バージョン管理のGitなども知識として必要になってきます。
一般的にはフロントエンドよりも難易度が高いと言われています。

# 2. 何を勉強するべきか（言語）、いつまでにやるか（目標）を考える

ある程度「何を目指すのか」「何を作りたいのか」が定まったら、次にその目的に合わせてどういう順序でどの言語を学ぶのかを決めていきましょう。また、「いつまでに」という期間も決めておくことが大事です。

## フロントエンドエンジニアの学習例

1. HTMLとCSSの知識学習→模写コーディング　：2週間
2. JavaScriptの知識学習→実践的な練習問題を解く　：4週間
3. WordPressの知識学習→実際にブログやWEBサイトを作る　：2週間
4. 全てを組み合わせてポートフォリオを作る　：1ヵ月
5. 時間、余力があればモダンな言語の学習（ReactやVue.jsなど）　：〇時間

## バックエンドエンジニアの学習例

1. HTMLとCSSの知識学習→模写コーディング　：2週間
2. JavaScriptの知識学習→実践的な練習問題を解く　：2週間
3. Rubyの知識学習 or PHPの知識学習　：2週間
4. Github、SQLの知識学習　：2ヵ月
5. 全てを組み合わせてポートフォリオを作る　：1ヵ月

# 3. 途中挫折しないためのワンポイントアドバイス

### ・ 6～7割の理解ができれば十分

プログラミングをし始めると、なかなか理解できない部分もでてくるかと思います。
そんなときは、6～7割くらい理解ができていれば次に進んでしまった方が良いです。
同じところで何時間も悩んでるともったいないです。

### ・ 仲間を作る

今はSNSで簡単に仲間を見つけられる時代です。
「#駆け出しエンジニアと繋がりたい」や「#プログラミング初心者」などで検索すれば、同じように学習中の仲間を見つけられるはず。
一緒に頑張る仲間がいれば人は頑張れますし、情報も多く拾えます。是非活用していきましょう。

### ・ 睡眠時間は削らない

「よし学習するぞ！」と意気込んで夜更かしをして学習をしても、身体に疲労がたまる一方です。
睡眠は何よりも大事です。睡眠時間を削るくらいなら、早起きして学習がいいのでなるべく夜更かしはしないことがおすすめです。

# 4. 自分に合った学習方法を考える

人それぞれ学習方法の得意不得意は異なります。
私は書籍を使った学習が苦手です。文字を読み続けると眠たくなってきます・・・
どちらかというと動画学習の方が話が入ってきやすく、理解できることが多いです。
また、身体を動かすことが好きな方の場合は軽い運動の後に学習をするのも効果的です。
運動した後は脳も活発的に働きます。

# 5. 学習できる時間を考える

学習方法を考えたら、次は自分のライフスタイルを踏まえた上で学習ができる時間を考えてみましょう。
私の場合は仕事が9~20時なので、夜ご飯を食べた後に1~2時間。朝は割と得意な方なので、早起きして1時間程。
あとは通勤時間で20分程と土日祝の予定がない時であれば時間が確保できそうです。
人それぞれライフスタイルは異なるので、まずはどの時間に隙があるのかを書き出してみましょう。
個人的には、朝の学習は非常におすすめします！
朝の時間に学習をすると、脳は次第に睡眠状態から覚醒状態にシフトしていきドーパミンやアドレナリンといった脳内物質が分泌されやすいようです。よって朝は集中力高く取り組めるだけではなく、本業でも質の高い仕事ができるようになります。

# 6. 確保できる学習時間に合わせて学習方法を変える

学習できる時間が把握出来たら、次はその時間ごとに合わせて学習方法を決めていきましょう。
例えば、以下のように設定します。
- 朝、運動の後・・・集中力高く取り組める時間帯のため、新出知識の学習や考えながら行う実践的な学習など
- すきま時間（通勤時間、休憩時間など）・・・時間が限られているので短時間で出来る学習アプリなど
- 夜、休日・・・疲労がたまり集中力が低下しているので、あまり頭を使わないで出来る模写コーディングやプロゲートなど

このように計画的に学習方法を変化させることで、無駄なく知識を身に着けていくことができます。
ただ、追い込みすぎないようにリラックスタイムも設けましょう！

# 7. 確保できる時間に合わせた学習サイトお勧め

### ・朝、運動後（脳が活発的な時間、学習のゴールデンタイムと言われている）
- 忍者CODE

どのWebサービスも一応無料はありますが、序盤のレッスンや動画講座のみ無料で続きを学ぶには月額制の課金をしなければなりません。
ですが、忍者CODEの無料問題集はすべて見放題なので、是非活用しましょう！
どちらかというとWEB制作寄りの学習サイトになりますので、フロントエンドを目指す方にはよりお勧めです。

https://ninjacode.work/

- 忍者CODE甲賀

コチラは忍者CODEの有料コンテンツである忍者CODE甲賀というサービスになります。
一度購入すれば、続々と増えていく講義を追加料金なしで学習可能。なかなか他にはない24時間のチャットサービスと400本以上の動画教材が用意されています。最後には学習を通してポートフォリオも作成できるので、転職を目指す方にもおすすめです。
こちらもWEB制作寄りの学習サイトになりますので、フロントエンドを目指す方にはよりお勧めです。
基本的なHTMLからWordPressまで幅広く学習することができます。

https://koga.ninjacode.site/

### ・すきま時間（通勤時間、休憩時間など）

- ドットインストール

3分ごとの動画学習ができるドットインストールは隙間時間の学習にむいています。
幅広いプログラミング言語を学ぶことができるので是非活用してみましょう。

https://dotinstall.com/

### ・夜、休日（疲労のたまり、集中力が低下している時間帯）

- Progate（プロゲート）

「にんじゃわんこ」と「ひつじ仙人」がプログラミングを教えてくれる可愛い学習サイトです。
環境構築などの準備が一切不要でブラウザだけで学習をすることができます。

https://prog-8.com/


- codestep

HTML、CSS、JavaScriptの基礎学習を終えた方が、模写コーディングやデザインカンプからのコーディング練習を通して、より実践的なWeb制作を学べる学習サービスです。

https://code-step.com/

# さいごに

今回の記事は以上となります。

学習を継続することは簡単ではありません。
ですが、工夫をしながら行えば継続して行うこともきっとできます。
諦めずともに頑張って学習していきましょう！

最後まで読んでいただきありがとうございました。