
- Twitter:フォロワー1.4万人
- プログラミング:最高月商120万円

- プログラミング学習のコツが知りたい
- プログラミングスキルを効率的に身に付けたい
- プログラミングを途中で挫折したくない
と悩みを抱えている方に向けて記事を書きました。
本記事を読めば、プログラミング学習のコツが完全理解できるので、今後あなたは爆速でスキルアップしていくことができます。
この記事を執筆してるぼくはプログラミング歴2年の現役フリーランスエンジニアです。
未経験からプログラミングを始めて半年で月15万円、1年後には月売上120万円を達成しました。
その過程で2,500時間以上プログラミング学習に取り組んできたので、効率的に学習する方法は熟知しているつもりです。
本記事では、そんなぼくがプログラミング学習するうえで絶対に抑えておくべきコツを29個解説していきます。
記事を最後まで読み終えれば、最短最速でスキルアップしていくための下準備が整うこと間違いなしです。
無駄なく効率的にスキルアップしていきたい方はぜひ最後まで読んでみてください。
■目次
プログラミング学習のコツ【目標設定編】
1:目的を明確にする
プログラミングを学ぶうえで一番大事なのは目的です。
目的によってとるべき手段が変わります。
- 副業やフリーで稼ぎたい
→個人で稼ぐために最適な学習をする - エンジニア転職したい
→未経験から転職するために最適な学習をする
目的が決まると、やるべきことが明確になるので、「よし!まずはこれをやる!それが終わったら次はこれをやろう!」と高いモチベーションで日々学習できます。
逆に、「最近プログラミングが流行ってるからやってみよう」みたいな軽いノリだと挫折しやすいですね。
だって、必死に頑張る必要がないわけですから。
目的次第で全てが左右されると言っても過言ではないので、最初に必ず目的を明確にしておきましょう。
2:勉強を目的にしない
「目的を明確にすることが大事です」と伝えましたが、勉強を目的にすることだけは絶対にNGですよ。
勉強は目標を達成するための手段でしかありません。
「手段である勉強が目的になる=目標を見失ってる」なので、モチベーションが途中で維持できなくなります。
例えば、多くの人が大学受験期間中は死ぬほど勉強できるのに、大学入学後は全く勉強する気が起きなくなるのはなぜでしょうか?
それは、「大学に合格する」という目的を達成し、大学では勉強する目的を見出せずに勉強自体が目的になってしまうからです。
ぼくもいろんなプログラミング初心者を見てきましたが、やはり勉強が目的になってる人は挫折しやすいです。
- 最初は目的を持って勉強する
- いつの間にか勉強が目的になる
- やる気が徐々に低下し挫折する
プログラミング学習は夢を叶えるための手段にすぎないので、勉強が目的にならないように気を付けてくださいね。
3:勉強時間を目標にしない
日々のプログラミング学習において、勉強時間は目標にしない方がいいです。
ぼくはプログラミングを始めてから1年ほど学習記録も兼ねて勉強時間を計測してましたが、間違いなく学習効率は悪かったです。
例えるなら、給料を少しでも増やすためにわざとダラダラ働いて残業時間を増やそうとする無能会社員のようなイメージ。
「効率的にスキルを習得しよう」という意識よりも「できるだけ勉強時間を伸ばそう」という意識が優勢になってしまうため、学習効率が低下しやすいんです。
「じゃあ、なにを目標に勉強すればいいの?」というわけですが、タスクを目標にしましょう。
- Progate HTML&CSS学習コース初級編を1周する
- ドットインストールの動画を3本見る
- 参考書を10ページ進める
このようにタスクを目標にすると、「できるだけ早く終わらせよう」という意識が働きます。
すると、「お昼休憩中に1ページだけでも進めよう」とか「動画は2倍速で見よう」と効率的に学習するための創意工夫が生まれやすいです。
日々の目標は勉強時間ではなくタスクベースで設定するようにしましょう。
プログラミング学習のコツ【学習手順編】
4:最適な学習手順を考える
目標設定が終わったら、次は目的に沿った学習手順を考えます。
目的によって学習手順は変わります。
- 副業やフリーで稼ぎたい
→WEB制作を学習する - エンジニア転職したい
→面接で必須なポートフォリオ作成メインの学習をする
ぼくはプログラミングを始めた頃、学習手順を曖昧にしたまま手探り状態で勉強してました。
- Progateの次はなにをやればいい?
- サイトの模写と写経はどっちを先にやればいい?
- どの言語から学んでいけばいい?
正直、このあたりを曖昧にしてたので、めちゃくちゃ遠回りしました。
効率的にスキルアップしていくには最適な手順での学習が必要不可欠です。
必ず目的に沿った学習手順を事前リサーチするようにしてください。
【プログラミング学習手順について詳しく知りたい方へ】
5:HTML/CSSから学習する
まずは初心者でも分かりやすいHTML/CSSから学習するのがおすすめです。
いきなりC言語のような難しい言語から学習すると「プログラミング、全然楽しくねぇじゃん」となって途中で挫折してしまう可能性が高いです。
ぼくも最初にProgateでPHPを勉強してみましたが、正直さっぱり分かりませんでした。
HTML/CSSはコードを書いた結果がすぐにパソコンの画面で見れるので、初心者でも楽しく学習することができますよ。
6:「学ぶ→真似る→作る」の流れで学習する
プログラミングは「学ぶ→真似る→作る」の順番で学習するとスムーズに学べます。
やはり初心者がいきなりゼロからサイト制作やアプリ開発をするのは難しいです。
- サイト制作に必要な言語の基礎を学ぶ
- 教材のコードを書き写しながらサイトを作る
- ゼロから自分で考えてサイトを作る
プログラミングも守破離の原則に従って学習していくと効率的です。
7:いきなり参考書で学習しない【サーバーサイド言語はOK】
最初から参考書で学習するのはおすすめしません。
参考書はテキストベースで面白みに欠けるので、「プログラミング思ってたより楽しくない…」となって途中で挫折してしまう可能性が高いんですよね。
特にHTML/CSSはProgateやドットインストールなどのオンラインプログラミング学習サービスだけで十分です。
「じゃあ、プログラミング学習するときは参考書買う必要ないってこと?」と思っちゃいますよね。
ぼくの経験上、JavaScript、PHP、Ruby、Javaなどのサーバーサイド言語は参考書を使って腰を据えて学習した方がいいです。
サーバーサイドで使われる言語はプログラムの全体像を抑えてないと理解しがたい部分があるため、オンラインでサクッと勉強するだけではほぼ身に付きません。
最初はオンライン学習サービスを中心に勉強し、本格的にサーバーサイド言語を勉強するタイミングで参考書を使用する流れがベストですよ。
プログラミング学習のコツ【学習時間編】
8:絶対的な学習時間を確保する
プログラミングスキルの習得には、絶対的な学習時間の確保が絶対条件となります。
なぜなら、プログラミングは学問やスポーツと同じで習得するまでに相応の時間が必要だからです。
ぼくはプログラミングで月15万円稼ぐまでに1,000時間かかりました。
未経験からエンジニア転職するには500時間もの学習時間が必要と言われています。
例えば、毎日30分の学習を1年継続したとしても、トータルで182時間にしかなりません。
正直、それでは勉強した内容をすぐに忘れますし、ほぼスキルは身に付きません。
本気でプログラミングで人生を変えたいなら、平日3時間休日8時間のプログラミング学習を3〜4ヶ月続けるくらいの勢いが欲しいですね。
9:朝早起きして朝活する
人生においてプログラミングスキルの習得を最優先したい方は朝活がおすすめです。
ぼくは朝活と夜活の両方を試しましたが、朝が1日で一番集中できるのでなにをやるにしても効率的でした。
- 気力MAX
- 幸福度UP
- 集中力が高い
- 自己肯定感が上がる
- 誰にも邪魔されない
朝勉強するか?夜勉強するか?で迷ってるなら、間違いなく朝活一択ですよ。
人生で一番優先したことは朝取り組みましょう。
10:隙間時間で復習する
特に本業がある会社員の方は、通勤中や休憩中などの隙間時間で復習すると効率的ですよ。
1日の隙間時間だけでも合計で1〜3時間はあると思います。
エビングハウスの忘却曲線によると、人間は勉強したとしても1日後には67%忘れていると言われています。
しかし、勉強後24時間以内に10分間の復習をすると、記憶率はなんと100%に戻るんです。
そして、次は1週間以内に、5分復習すれば記憶がまた蘇り、その次は1か月以内に2〜4分復習すれば、記憶はまた復活します。
そのくらい定期的な復習は重要なんです。
朝活で学習した内容を翌日のスキマ時間で復習すると効率的にスキルアップしていけるでしょう。
プログラミング学習のコツ【テクニック編】
11:コードは必ず書く
プログラミング学習中は必ずコードを書くこと。
インプットだけの学習は効率が悪いです。
以下の学習定着率を表すラーニングピラミッドを見てください。
インプットのみの「読書」の知識定着率は10%に対し、インプットした後にアウトプットする「練習」の定着率は75%にもなるんですよね。
つまり、参考書を読書したとしても、教材のコードをコピペしたとしても、スキルはほぼ身に付かないってこと。
プログラミングを勉強するときは必ず自分の手でコードを書くことを肝に銘じておいてください。
12:毎日コードを書く
1日でもコードを書かない日があると普通に忘れるので、できるだけコードは毎日書きましょう。
プログラミングはスポーツと同じです。
とにかくコードを書きまくることで身体が自然とコードの書き方を覚えていきます。
例えば、サッカーが上手くなりたいのに、「サッカーの練習方法100集」のような教本をいくら読んだとしても、サッカーは1ミリも上達しませんよね。
それと同じでプログラミングもいくら参考書を読んだとしてもスキルは身に付きません。
プログラミングもスポーツと同じで実際に手を動かす毎日の練習が必要不可欠です。
13:コードは書いた後に必ずいじる
教材の通りにコードを書いた後、そのコードをいじるとさらに理解が深まります。
自分で書いたコードに手を加えることで、「こう書けばこう動く」とコードとパソコンに表示される画面の関係性が理解できるようになります。
- HTMLに新しいコードを追加してみる
- CSSプロパティ名を変更してみる
- CSSプロパティ名の値を変更してみる
ただ単に教材通りにコードを書いていくだけでは、「このコードを書けば、ブラウザではこう表示される」という理解には程遠いです。
書いたコードは必ず自分の手でいじるところまで行いましょう。
14:コードは暗記しない
コードの意味はググればすぐに出てくるので、コードを暗記する必要はないです。
日本人は暗記型学校教育のせいで、「勉強=暗記」という固定観念が染み付いています。
なので、ついついコードを暗記しようとしてしまいがち。
しかし、プログラミングはいつでもググれるため、学校のテストと違っていつでもカンニングOKです。
つまり、暗記する必要がない。
それに何度もコードの意味をググって何度もコードを書いてれば、嫌でも頭と身体が覚えます。
プログラミング学習で唯一暗記すべきは、「コードは暗記する必要がない」ってことです。
15:分からないときは必ずググる
プログラミング学習中に分からない箇所があったら、すぐにググるようにしてください。
エンジニアは「分からない→ググる→手を動かす」の繰り返しでスキルアップしていきます。
- 「httpってなんだろう?」と疑問に感じる
- すぐに「http 仕組み」とググる
こんな感じで少しでも気になったらググること。
最初は分からないことだらけなので、ググるだけで1日の学習時間が終了する日もあるかもしれませんが、それでも気にする必要はありません。
実際に現場で働いている現役エンジニアも業務時間の半分以上はググる時間に費やしていると言われています。
実際にぼくも業務中はググりまくりです。
エンジニアにとって「ググる」は立派な仕事なので、いまのうちから「分からなかったら即ググる」を徹底しておいてください。
16:50%の理解で次に進む
プログラミング学習は50%理解したら、次に進んじゃってOKです。
プログラミングは理解し難い内容が多いので、1回で完璧に理解しようとすると膨大な時間がかかります。
例えば、参考書で学習するとしたら、「1回目:50%→2回目:70%→3回目:90%」と徐々に理解を深めていくイメージですね。
勉強は浅い理解で何度も繰り返すが基本です。
17:遅延評価勉強法で学習する
遅延評価勉強法でプログラミングを学ぶと爆速でスキルアップできますよ。
遅延評価勉強法とは、知識が必要になった時点で初めて勉強する方法です。
具体的には、サイトを完成させるために必要な情報だけをググりながら作っていくイメージですね。
ぼくもこれまでを振り返ると、サイトを作るために分からないながらも必死にググりながら手を動かしたときが一番成長した実感があります。
「でも、抜け漏れなく完璧に勉強したいんです…」という気持ちも分かります。
ですが、いますぐに使わない知識は必要性に欠けるので、人間はすぐに忘れてしまうんですよね。
制作物を作りながらプログラミング学習していくと、自然と遅延評価勉強法で勉強できるので、効率的にスキルアップしていけますよ。
18:ソースコードはGitとGitHubで管理する
プログラミング学習で成果物を作る際はできるだけGitとGitHubでソースコードを管理しましょう。
Gitとはプログラムのソースコードの変更履歴を記録・追跡するための分散型バージョン管理システムのこと。
GitHubとはプログラムのソースコードを保存・公開できるソースコード管理サービスのこと。
GitとGitHubは実際の開発現場で必ずと言ってもいいほど使われます。
多くの初心者はプログラミング言語の学習には一生懸命なのですが、GitとGitHubの勉強は疎かになっています。
特にエンジニア転職を目指している方は就職後ほぼ100%実務で使います。
使い方に慣れるためにも普段のプログラミング学習中からソースコードはGitとGitHubで管理しておくことをおすすめします。
プログラミング学習のコツ【マインド編】
19:完璧主義を捨てる
プログラミング学習では完璧主義を捨ててください。
なぜなら、プログラミングは常に進化してる業界のため、そもそも完璧に勉強することが不可能だからです。
ぼくもエンジニアやってて感じますが、次から次に新しい言語やツールが出て来るので、最新技術にキャッチアップするだけでも相当大変なんですよね。
それに、完璧に準備してから次に進む行為は遅延評価勉強法とは真逆の考え方になるので、スキルアップが遅れます。
結局、「完璧な準備=自己満足」です。
次に進んだ先で通用するかどうかなんてやってみないことには分からないんです。
完璧主義は捨てて、50%理解したら次に進む姿勢でどんどん先に進んじゃいましょう。
20:英語から逃げない
プログラミングは基本的に英語のコードで作られてるので、英語から逃げていたら話になりません。
ぼくは前にJavaScriptの人気フレームワークVue.jsで開発したとき、ググってもほとんど英語の情報しか出てきませんでした。
HTMLやCSSなどのマークアップ言語は日本語の情報が豊富なので、最初は英語と向き合う機会は少ないかもしれません。
ですが、新しめな言語やモダンなフレームワークとなると、ググっても英語の情報しか出て来なくなるんですよね。
エンジニアになるなら、英語をグーグル翻訳で一文一文翻訳して読み解いていくくらいの姿勢は必須です。
21:質問する前に必ず自分でググる
質問する際は必ず自分でググってからそれでも分からないときだけ相手に質問するようにしましょう。
ググって簡単に分かることを他人に質問するのは相手の時間を奪うのと同義です。
特にデキるエンジニアほどググれば分かることを聞かれるのが嫌いです。
「それ自分でググれば分かりますよね?」とか普通に言います。
質問する前は必ず自分でググって、まずは自己解決しようとしてください。
22:エラーは当たり前と心得る
プログラミングではエラーが頻繁に起きるので、「エラーは当たり前」くらいに思っておいた方がいいです。
むしろ、「エラー=解決するためのヒント」なので、エンジニアにとっては有難い存在。
エンジニアとして長く開発に携わっていると、エラーは出てないけどなぜか上手く動かないみたいなことがたまに起きます。
こうなると解決策が分からないので、仮説を立ててしらみつぶしに検証していくしか方法がなくなります。
正直、めちゃくちゃ非効率です。
最初はエラーが出ると嫌気が差すかもしれませんが、「エラーは当たり前。むしろ有難い存在なんだ」と前向きに捉える訓練をしておいてください。
23:他人と比べない
何事にも共通しますが、他人と比べすぎるのは良くないです。
人それぞれ学習に割ける時間やメンターの有無など学習環境にバラつきがあるので、単純に結果だけを比較しても意味はありません。
ぼくの元には以下のような質問がよく寄せられます。
私は9ヶ月もプログラミング学習してますが、まだ稼げてません。Twitterで私より後に始めた人たちが先に結果を出していくのを見ると焦ります。本当にこのままでいいのでしょうか?
回答としては、人それぞれ学習環境が違うので気にする必要はないってことです。
他人と比べると嫉妬の感情が生まれるので、割とメンタルが不安定になりやすいです。
比べるべきはいつも昨日の自分。
昨日の自分よりも1ミリ以上成長するという姿勢で結果が出るまで継続することが大切です。
24:サンクコスト効果を活用する
絶対に目標を達成したいなら、サンクコスト効果を活用するのがおすすめです。
サンクコスト効果とはすでに支払ったコストを取り戻そうとする心理効果のこと。
ここで質問です。
あなたは100キロほど離れた街で開催されるサッカーの試合を観戦する計画を立てました。
あなたはすでにVIP席の前売りチケットを30,000円で購入しています。
ただ、当日の天気は吹雪で試合会場に行くのは大変です。
さて、あなたはどうしますか?
- 試合会場に行く
- 暖かい自宅でテレビ観戦する
おそらく、ほとんどの人が1を選択すると思います。
なぜなら、「30,000円も払ったのに行かないのはもったいない…」と感じてしまうからです。
これがサンクコスト効果ですね。
これをプログラミング学習でも活用します。
- 数万円の有料教材を購入する
- 数十万円のプログラミングスクールを受講する
- 会社を辞めてニート状態でプログラミングを学ぶ
すると、人間は「せっかくお金を払ったんだから」とか「わざわざ会社まで辞めたんだから」と感じるので、結果を出すために普段以上に頑張れるようになるんです。
ぼくはこのサンクコスト効果をフル活用するために80万円する侍エンジニア塾の6ヶ月コースを受講しました。
結果、半年の受講期間中に月15万円、卒業後半年で月120万円稼ぐことができました。
正直、ここまでする必要はないかもですが、サンクコスト効果を活用した方が目標達成の確率が上がるのは間違いないです。
【侍エンジニア塾について詳しく知りたい方へ】
プログラミング学習のコツ【学習環境編】
25:いつでも質問できる環境を作る
いつでも質問できる環境は未経験から効率的にスキルアップしていくには必要不可欠です。
結局、分からないことはプロに聞いた方が早いんですよね。
ぼくはプログラミングを始めてすぐに侍エンジニア塾を受講して現役エンジニア講師にいつでも質問できる環境を作りました。
正直、講師のサポート環境がなかったら、間違いなく挫折していたと思います。
- 案件獲得したけど、内容が難しすぎて絶望
- お問い合わせフォームの作り方が分からなくて絶望
- WordPress案件を受注したけど、PHPをいじれなくて絶望
こんな絶望的な状況を乗り越えられたのは、間違いなく質問できる環境があったからです。
- プログラミングスクールを受講する
- MENTAなどでメンターを付ける
- 質問可能なオンラインサロンに参加する
こんな感じでいまはいくらでも質問できる環境を作ることができます。
最短最速でスキルアップしたいなら、いつでも質問できる環境は絶対にあった方がいいですよ。
26:独りで考えるタイムリミットを設定する
いつでも質問できる環境をフル活用するためにも、独りで考えるタイムリミットは必ず設定しておきましょう。
やはり経験がない初心者がいくら独りで悩んだところで限界がありますからね。
プログラミングを独学中に途中でつまずいて1週間以上悩み続けたが、それでも解決策が分からずに段々とプログラミングが嫌になって途中で辞めていく。
これは初心者挫折あるあるです。
- だれかに質問できる環境を用意する
- 独りで考えるタイムリミットを設定する
- タイムリミットをオーバーしたらすぐに質問する
この流れを作ることができれば、間違いなく初心者でも挫折せずに学習していけます。
タイムリミットの目安としては、30分〜1時間です。
自分独りで考える時間をオーバーしたら、「これ以上自分で考えてもキリがない」と潔く諦めてメンターに質問するようにしてください。
27:プログラミングスクールを受講する場合は事前学習する
プログラミングスクールを受講する場合は、事前に学習しておくと受講期間中より効率的に学習できます。
特にProgateやドットインストールは低コストかつすぐに学習できるのでおすすめです。
ぼくは事前学習なしで侍エンジニア塾を受講しましたが、受講後1〜2週間はProgateやドットインストールでも学べる内容を学習することになりました。
どうせなら事前学習しておけば良かったと後悔しましたよね。
とはいえ、事前学習段階で完璧にマスターする必要はありません。
「プログラミングってこんな感じなんだ…!」とサラッと勉強しておく感じでOKですよ。
【おすすめのプログラミングスクールが知りたい方へ】
28:Twitterで切磋琢磨できる仲間を作る
プログラミングを始めたら、Twitterで切磋琢磨できる仲間を探しましょう。
自宅でずっと独りもくもくと作業するのは孤独で辛いです。
最近のTwitterにはプログラミング初学者が本当に多いので、いまは同志と繋がりやすい環境です。
- #駆け出しエンジニアと繋がりたい
- #プログラミング初心者
- #今日の積み上げ
このあたりのハッシュタグを使えば、すぐに意識の高い仲間を見つけることができますよ。
29:絶対に目標を達成しなければならない状況を作る
なにがなんでもプログラミングで人生を変えたいなら、絶対に目標を達成しなければならない環境を作ってください。
人間は良くも悪くも環境に左右される生き物です。
ぼくはプログラミングを始めて1年で月100万円以上稼ぐことができましたが、最大の要因は当時のぼくがプログラミングで飯を食わなければ生きていけない状況だったことです。
ぼくの中には常に「プログラミングで稼げるようにならなれば、貯金が底を尽きてサラリーマンに逆戻りしてしまう」という危機感がありました。
だからこそ、毎日6時間以上のプログラミング学習を365日続けることができたんです。
逆に、当時プログラミング以外に安定した収入源があったら、あそこまでプログラミングに無我夢中になることはできなかったと思います。
絶対に目標を達成したいなら、絶対に目標を達成しなければならない状況を作る。
究極ですが、これが目標達成への一番効果的な方法です。
プログラミング学習のコツを抑えて爆速でスキルアップしよう
最後にプログラミング学習のコツ29個を総復習します。
- 目的を明確にする
- 勉強を目的にしない
- 勉強時間を目標にしない
- 最適な学習手順を考える
- HTML/CSSから学習する
- 「学ぶ→真似る→作る」の流れで学習する
- いきなり参考書で学習しない【サーバーサイド言語はOK】
- 絶対的な学習時間を確保する
- 朝早起きして朝活する
- スキマ時間で復習する
- コードは必ず書く
- 毎日コードを書く
- コードは書いた後に必ずいじる
- コードは暗記しない
- 分からないときは必ずググる
- 50%の理解で次に進む
- 遅延評価勉強法で学習する
- ソースコードはGitとGitHubで管理する
- 完璧主義を捨てる
- 英語から逃げない
- 質問する前に必ず自分でググる
- エラーは当たり前と心得る
- 他人と比べない
- サンクコスト効果を活用する
- いつでも質問できる環境を作る
- 独りで考えるタイムリミットを設定する
- プログラミングスクールを受講する場合は事前学習する
- Twitterで切磋琢磨できる仲間を作る
- 絶対に目標を達成しなければならない状況を作る
ここからは実際にあなたが本記事で得たノウハウを元にプログラミング学習に取り組んで爆速でスキルアップしていく番です。
いまのIT業界は人手不足なので、未経験者でもプログラミングスキルを身に付けることができれば、割と人生が変わります。
例えば、エンジニア転職後に実務経験を積んでフリーランスエンジニアになれば、1〜2年で月収50~60万円以上を目指すことも十分に可能です。
プログラミングは人生の選択肢を広げてくる最高のスキルです。
- 週5勤務→週3〜4勤務
- 会社に通勤→フルリモート
- 給料20万円→最高売上120万円
この通り、ぼくはプログラミングを学んでガチで人生が変わりました。
あなたの目標がプログラミングで稼ぐにしても、エンジニア転職するにしても、まずはプログラミングを学ぶことから全ては始まります。
プログラミングは3〜6ヶ月本気で取り組めば、月5万円稼ぐスキルは十分に身に付きますし、転職できるレベルにも十分に到達できます。
結局、やるかやらないかだけの差です。
やる人は人生を変えるし、やらない人はこれまでと何も変わりません。
小学校ではすでにプログラミング教育がスタートしてますので、どんな目的であれプログラミングを学んでおけば、今後の人生の可能性は広がること間違いなしですよ。
- プログラミングに関する人気記事