プログラミング初心者が、独学でプログラミングを勉強するといっても、何から手を付けていいのかわからないと思います。
僕もプログラマー(Webエンジニア)になるために、独学で勉強していた時期がありますが、勉強方法についてしっかり考えていたかといえば、そうでもありません。
当時は、「僕なんかが本当にプログラマーになれるのだろうか?」と不安に思いながらも、とりあえず本やプログラミングについて書いてあるサイトをあさって毎日勉強していました。
いま思えば、「効率のいい学習方法」について考えることを放棄し、闇雲に走り続けていたような気がします。
おまけに、僕には才能がありません。だからこそ、たくさんの壁にぶつかりながら学び続けました。
その結果、いまでは同じ悩みを持った未経験者に、講師としてプログラミングを教える立場になるくらいまで、成長することができました。
今回はそんな僕の立場から見て、まったくの初心者が独学でプログラミングを勉強する方法について、わかりやすく解説していきたいと思います。
もくじ
プログラミングの独学は、無理じゃないが遠回りな学習方法
まず最初に、プログラミング学習を独学でおこなうことについて、僕がどう考えているのかをお伝えしておきます。
いきなり結論っぽくなってしまうのですが、「独学は無理ではないが大変だ」ということです。
これは、何も知らない状態から正しい勉強法を探すことの難しさや、勉強を進めているなかでつまずいた場合に多くの時間をとられてしまうからです。
思ったように勉強が進まないことでモチベーションも下がり、途中で投げ出してしまう人が世の中にはたくさんいるんですよね。
プログラミングスキルを磨くうえで、独学はちょっと遠回りな学習方法なんです。
ただ、独学でプログラミングを勉強した先に、何を求めているのかでも変わってきます。
「趣味で何かアプリを作ってみたい!」
このくらいであれば、独学は悪い選択ではありません。時間をかけてゆっくり学ぶのもいいでしょう。
ですが、就職や転職、副業、起業など「仕事で使える本格的なプログラミングスキル」を身につけたいのであれば、プログラミングスクールに通ったほうが効率的なのは間違いありません。
独学で勉強したプログラミングスキルを仕事で使うというのは、「英語をテキストで独学してマスターした気になったけど、実際に海外に行ったらまったく通用しなかった」というのと同じ。
ネイティブに話せるようになるためには、生きたスキルを英会話スクールに通ったり留学するなどして、しっかりと学ぶ必要がありますよね。
プログラミングも英会話と同じで、エンジニアスキルが高い人の近くで学んだほうが成長は早いのです。

ただ、独学で勉強することに意味がないと言っているわけではありませんよ?
仕事で使えるレベルまでの成長は無理ですが、「エンジニア(プログラマー)へのキッカケくらいにはなる」と思っています。
実は、僕が独学でプログラミングを勉強した理由は資格をとるためです。そして、その資格を武器にプログラマーへ転職しました。
つまり、仕事で使えるスキルを身につけるために勉強したわけではないってことです。
あくまで資格という武器を作り、やる気を面接官にアピールできればそれで良かったのです。
そのため、これは自慢じゃありませんが、独学で取得したこの資格も実際の業務では、ほとんど活かされていません。
このように、独学は仕事で使えるプログラミングスキルを身につけるのではなく、「プログラマーになりたい」という熱意を転職先の面接官にアピールするための学習方法なのです。
これからプログラマーになろうと独学で勉強を始めようと思っている方は、このことを忘れないようにしましょう。
そして、ここからは独学を転職に結びつけるための方法や手順について、詳しく解説していきます。
初心者が独学でプログラミングを勉強するやり方と始め方
ここからは、プログラミング初心者が独学で勉強してから転職するまでの流れを、順番に説明していきます。
おそらく、これからプログラミングを始めようと思っている方のほとんどが、「何から始めていいのかわからない!」という状態のはずです。
以下の順番に1つずつ進めていけば、必ずプログラマーになることができます。
- プログラマーに向いているかを確認
- ノートパソコンを準備
- 目指すプログラマーを決める
- 勉強するプログラミング言語を決める
- 独学の勉強方法を決める
- サイトを作るか資格を取る
- GitHubにソースコードを登録
- 転職活動
1. プログラマーに向いているか確認
まず最初にすることは、あなたがプログラマーに向いているかどうかのチェックです。
独学をするために、新しいパソコンや本を買っても、途中で投げ出してしまえばお金を無駄にするだけです。
チェックといっても、別に心理テストや技術テストをするわけではありません。もっと簡単に確認できる方法があります。
それは、以下の記事を読むことです!

実はこれ、初心者が必ず学ぶことになるプログラミングの基礎を、体系的に学べるよう僕がまとめたものなんです。
自分でいうのもなんですが、初心者向けにかなりわかりやすく書いています。
この記事を最後まで読んでみて「しっかり理解できたか?」、また「楽しそうと感じられたか?」を考えてみてください。
ここでプログラミングに興味のない方は、「意味わからない!」「つまらない!」と感じるはずです。
逆にいうと、この記事を読んで「なるほど!簡単じゃん!」と読み進められている人は、プログラマーとしての素質があります!
プログラマーは誰にでもチャンスがありますが、誰でもなれるわけではありません。
選ばれた人にしか、目指せない職種なのです。
2. ノートパソコンを準備する
プログラミングをするためには、必ずパソコンが必要になります。これがなければ話になりません。
プログラマーを目指しているのにノートPCがないなんて、「刀を持たない侍」と同じです!
既にパソコンを持っている方は、スペック的に問題がなければ、そのパソコンを使えばいいと思います。
もし、まだ持っていないという方は、すこし無理してでもパソコンを買っておいたほうがいいでしょう。
プログラマーになれば必ず使うので、無駄になることは絶対にありません。
そして、どうせ買うのでしたら「MacのノートPC」にしましょう。
日本はMacBookを使っているプログラマーが多いため、プログラミング環境を構築するときにも、参考になる記事を見つけやすいです。
また、MacBookであれば、あとからWindowsのOSをインストールすることもできるので、両方使いたい人にとっても安心。(逆はできません)
ちなみに、デスクトップではなくノートPCをおすすめしている理由は、持ち運びが楽で場所をとらないからです。
将来的にフリーランスになった場合など、パソコンを持ち出す必要がある場合に、デスクトップだと不便に感じるようになります。
ノートPCであれば、部屋での勉強や仕事ができない場合でも、カフェなどにサッと持っていってドヤ顔でノマドできますしねw

3. 目指すプログラマーを決める
まず、あなたがどんなプログラマーを目指したいのかを、決める必要があります。
大体、以下の4つくらいの選択肢があるでしょう。
- Webプログラマー
- ゲームプログラマー
- AIプログラマー
- 転職できるならこだわらない
ちなみに、最後の「転職できるならこだわらない」タイプの人には、Webプログラマーをおすすめします!
Web系は常に需要があり、手に職をつけたあとはフリーランスや起業することも可能だからです。
ゲームやAIは、本当に好きな人でない限り、選ばないほうがいいかもしれません。興味のない人にとっては、面白さを感じれないと思うので。

あとからプログラマーの方向性がブレると後悔する可能性があるため、ここは慎重に選ぶようにしてください。
同じプログラマーであっても、勉強する言語やスキルに違いがあるからです。
「やっぱりWebじゃなくてゲーム業界がいい」と、あとから変えてしまうと、また初めから勉強をやり直す可能性があるってことなんです。
もちろん、すべてが無駄というわけではなく、基本的なプログラミングの知識は応用できます。
ただ、それ以外のツールの使い方やロジックの考え方などは、1から覚えなおす気持ちで取り組む必要があるのです。
ちなみに、僕がWebプログラマーになった理由は、正直「たまたま」です。
目指すプログラマー像を考える余裕もなく、「とりあえず手に職が欲しい!」と必死でしたから。
僕と同じような間違いをしないためにも、自分の目指しているプログラマー像を最初にしっかり決めましょう!

4. 勉強するプログラミング言語を決める
目指すプログラマーが決まったら、どのプログラミング言語を勉強するかを考えてみましょう。
たとえば、ゲームプログラマーになりたい場合で考えると、スマホゲームならJava言語やSwift言語、パソコンゲームならUnity(ユニティ)というゲームエンジンを使ったC#言語などがおすすめです。
AIプログラマーを目指しているのでしたら、Python言語一択でいいと思います。

もし、僕と同じWebプログラマーを目指すのであれば、Ruby言語やPHP言語、JavaScript言語のどれかを勉強すれば間違いないでしょう。
個人的にはRubyをおすすめしています。
Rubyは直感的にコードが書けることで、プログラミングがどんどん楽しくなり、書いたコードも美しく読みやすいためです。

5. 独学の勉強方法を決めるコツ
なりたいプログラマー像や勉強するプログラミング言語も決まったので、本題の独学の勉強方法について考えてみましょう!
独学でプログラミングを勉強する方法は3つあります。
- 本から学ぶ
- 学習サイトから学ぶ
- 動画から学ぶ
これらはあくまでプログラミングスキルを身につけるための手段に過ぎないので、自分に合った勉強方法を取り入れるといいと思います。
ただし、それぞれのやり方にはメリット、デメリットがあるので、ここでは少しだけ独学のコツを紹介します。
本で勉強する
本で勉強するメリットとしては、欲しい情報がまとまっていて、読み進めていくだけで知識が身につく点です。
その反面、「本を読んだ結果、どの程度のスキルが身についたのか」がわかりづらいため、どこを独学のゴールにするのかという目標が立てづらいというデメリットがあります。
また、何も知らず上級者向けの本を買ってしまうなど、本選びに失敗すると理解できずに投げ出してしまう可能性もありますね。
投げ出す原因でいえば、プログラミング参考書の表記漏れや表記ミスに気付かずに悩み続けるケースもあります。「なぜ、ここでこんな動きになるなろう?」と解決できないことに悩み続けた結果「全然わからない!」とイヤになってしまうんですよね。
このような時間は本当にもったいないので、本を買う前にレビューや正誤表などをネットで確認することが大切です。
最後にもう1つ、IT業界は非常に時代の流れが早いため、扱っている情報が古い本を買ってしまうと業務で使えなかったりすることもあります。本はできるだけ最新のものを買うようにしましょう!

学習サイトで勉強する
プログラミング学習サイトなどで勉強を進めるメリットは、お金がかからずパソコンやスマホでどこでも好きなときに勉強できること。
ただし、本と違って情報がまとまっていないことが多く、流れに沿って体系的に学べるサイトはそこまで多くありません。
そのなかでも、「Progate(プロゲート)」という初心者向けのプログラミング学習サイトがおすすめです。
「プログラミング 勉強 サイト」で検索すると、どこのサイトでも必ず紹介されているくらい有名な学習サイトです。
ただし、月額980円の有料コースにしなければ、ほとんどのコースが利用できないので注意。
また、あくまで初心者向けの学習サイトなので、これだけで十分なスキルがつくわけではないことも忘れずに。
ただ、実際にプログラミングを書きながら学べるサイトになっているので、プログラマーの仕事についての雰囲気はつかみやすいと思いますよ。
動画で勉強する
動画でプログラミングを勉強するメリットしては、何より「わかりやすい」ということです。
音声と映像で解説してくれるため、本を読むのが苦手な人にも頭に入りやすい勉強法だと思います。
僕がおすすめする動画学習サイトは「Udemy(ユーデミー)」と「ドットインストール」。
Udemyは、世界最大級のオンライン学習プラットフォームで、プログラミング学習の教材も豊富に取り扱っています。
まずはプレビュー版を視聴してみて、自分の気に入ったコースがあれば購入するという流れがいいでしょう。
ドットインストールは、3分間の動画解説型のプログラミング学習サイトです。
もちろん、3分動画なので詳しい内容ではありませんが、空いた時間に動画を観ているだけでプログラミングを学べるお気軽さは時間のない人にとっては嬉しいと思います。
これもさきほどのProgateと同じで、月額980円支払ってプレミアム会員(有料会員)になることで、すべてのレッスン動画を観ることができます。
これら動画で勉強するデメリットがあるとすれば、投稿者のペースで解説が進んでいくため、自分のペースで学べないという点です。
そのため、何度も戻って再生しなおしたり、停止したりする必要があり、若干わずらわしいかもしれません。
また、このスタイルの勉強法に慣れてしまうと「自分で情報を収集する」というスキルが身につきづらいといったデメリットもあります。
実際の業務でも、プログラミング中に動画で観て情報を集めるようなことはしません。必要な情報はすべてGoogleで検索して探すのが基本なのです。
この情報収集スキルも、プログラマーとして大切なスキルの1つ。
そのため、本やサイトから「情報を収集し、文章を読んで学ぶ」というスタイルにも慣れておいたほうがいいでしょう。
そもそも、本やサイトでの情報収集に「辛いな…」と感じるようであれば、プログラマーとして向いていないかもしれません。

6. サイトを作るか資格を取る
とりあえず、なんでもいいのでサイトやアプリを自分の力だけで作ってみましょう!
ですが、もしここで「どうやって作ればいいの?」「やり方がわからない…」と手が止まってしまうのであれば、それはあなたのスキルが足りない証拠です。
情報のインプットで満足しているだけで、実戦的なスキルがまったく身についていないのです。
おそらく、独学でプログラミングを勉強を終えた方のほとんどがこの状態だと思います。
ですが、ここで何かしらのシステムを作れなければ、IT企業への転職は難しいです。
それは、あなたの実力を証明できないからです。
自分の実力を転職先の面接官にアピールできなければ、ほかの未経験者とまったく変わりません。
サイトやアプリが作れるようになるまで、勉強し続けてください。
それが無理なら、プログラミングの資格を取ってアピールしてもいいです。
面接時に困らないように、必ず自分の武器を作っておきましょう!
7. GitHubにソースコードを登録する
サイトを作ったあとは、「GitHub(ギットハブ)」というサービスに、自分の書いたソースコードを登録しておきましょう。
GitHubのURLを履歴書に書いておけば、採用担当者に見てもらえる可能性があります。
このURLこそが、あなたの実力の証明。つまり、あなたの武器になるのです。
ただし、GitHubを使うためには「Git」というバージョン管理ツールの使い方を覚える必要があります。
突っ込んだことをやらなければ、そこまで難しくはありませんが、それなりに知識は必要です。
「どう頑張っても理解できない!」という方は、自分のノートPCを面接時に持っていき、直接作ったサイトを見せてもいいと思います。
ただ、Gitが使えることをアピールするためにも、僕はGitHubにソースコードを登録することをおすすめします。

8. 準備完了!あとは転職活動をするだけ!
これで転職の準備は整いました!
あとはプログラマー未経験採用の求人を探して、応募するだけ。
作ったサイトについて、忘れずに履歴書に書くようにしましょう。

独学だけでは起業やフリーランスは難しい
独学でプログラミングを学んだあとは就職や転職、フリーランス、起業するなどの選択肢があります。
就職や転職に関しては未経験採用の求人を狙い、自分で作ったサイトを面接時にアピールできれば簡単にプログラマーになれると思います。
ですが、フリーランスや起業はそう簡単にいきません!
プログラマーとしての経験がまったくないのに、一緒に仕事をしたいという企業はどこにもないからです。あっても、知り合いくらいでしょう。
将来的にフリーランスになるにしても、一度プログラマーとしてどこかの企業で働き、しっかり経験を積んでから考えたほうが安心です。

独学の勉強時間はどのくらい必要か
独学でプログラミングを習得するには、だいたい200~300時間くらいが必要といわれています。(これは基本的なことができるレベルであって、実際の業務で使えるレベルまで考えると、この何倍もの時間が必要です)
1ヵ月でプログラミングを習得したい場合は、毎日7時間~10時間くらい勉強しなければならないことになりますね。
ただし、人によって勉強のペースにも個人差がありますし、どの程度のレベルまで勉強するのかにもよるため、みんながみんな300時間とは限りません。
「そんなに勉強しないといけないの?」と思うかもしれませんが、逆にいえば、それだけ勉強すればプログラマーになれる可能性がグッと上がるということでもあります。
ただし、「絶対にプログラマーになれる!」とは断言できません!
なぜなら、独学で勉強するデメリットとして、「間違った勉強法に時間を費やした結果、大してスキルアップできていない」という可能性もあるからです。
言い換えれば、「自分の力だけでサイト1つ作れないスキル」ということになります。
もし、あなたが最短で成果を出したいのなら、独学ではなく絶対にプログラミングスクールに通ってください!
「あれだけ勉強したのに、結局なにをどうしたらいいかわからない…」
「こんなことなら、初めからプログラミングスクールに通っていればよかった…」
そうならないように、プログラミングスクールでは、講師の方が正しいやり方であなたを導いてくれます。
余計な不安を抱えながら勉強するのではなく、自分のスキルアップだけに集中したほうが精神的にも楽ですよね。

まとめ:独学はちょっと遠回りな勉強法
ここまで、独学の勉強方法を解説してきました。
思っていたよりハードだなと感じましたか?
そうなんです、ハードなんですよ。そんな簡単にプログラマーになれたら、みんなプログラマーですよね?
プログラマーは、努力のできる選ばれた人間しかなることができません。
そして、その努力も間違った方向に進み続けると、無駄な努力となってしまいます。
繰り返しになりますが、「独学は遠回りな勉強法」です。
自分のペースでゆっくり進めていきたいのであれば独学に賛成ですが、「少しでも早くプログラマーになりたい!」と考えているのであれば、プログラミングスクールがおすすめです。
エンジニアの枠だって、いつまでも空いているわけではありません。早い者勝ちなのです。
悠長に勉強しているライバルを出し抜いて、誰よりも早くエンジニアになってください。
プログラミングスクールに通えば、あなたが目指すプログラマー像や、そのために必要なプログラミング言語の選び方まで丁寧に教えてくれます。
また、プログラミングの勉強についても、テキストや学習サイトを自分で探す必要もなくなりますし、転職についての相談など、サポートも充実しています。
スクールはお金がかかりますが、あなたがエンジニアになるための近道でもあるのです!
できるだけ早くエンジニアになりたい方は、スクールも選択肢の1つとして考えてみてくださいね。
またね、キツネ(@kitaaaa_kitsune)でした!

