プログラミング

プログラミング独学者に贈る効率的な勉強法。未経験からエンジニアになった僕が全て答えます

れん
れん
未経験から独学で3ヶ月で自社開発企業のエンジニアに転身した”れん”です。

今回の記事では、

女性の口コミ
女性の口コミ
独学で勉強するには、まず何かやればいいのだろうか

男性の口コミ
男性の口コミ
独学で勉強するには、どんな教材を使って勉強すればいいのかな

と疑問を抱えている駆け出しエンジニアの悩みを解決できる記事になっています。

記事前半では『独学で躓くポイント』を解説し、記事後半では『独学でのプログラミング勉強法』を解説します。

この記事を読み終えることで、『挫折ポイント』が理解できるだけではなく、具体的な解決策について知ることができます。

独学で躓くポイント整理してみよう

  1. 次に何を学べばいいかがわからない
  2. エラーが起きたときにどう解決すればいいかわからない
  3. 自作アプリの作り方がわからない

僕の体験談や駆け出しの人の話を聞くと、大きくこの3つが課題だと考えています。今回は、独学でもプログラミングの勉強を開始したばかりの人に絞って、記事を書いていくので1.2について取り上げていきます。

仮のプログラミング学習ロードマップを作るべし

かけだしくん
かけだしくん
プログラミング技術を習得して、自由な働き方をしたいんですけど、どうやって勉強したらいいのか検討もつかないな〜
れん
れん
それなら、ロードマップを作ってから勉強を始めた方がいいよ
かけだしくん
かけだしくん
なんで、ロードマップが必要なんですか?

目的、目標が合っても、何も地図を持たずに走り出してしまうと、途中で現在地を見失い、次に何をやっていいのか分からない状態になってしまうからです。

例えば、以下のような行動になりがちです。

かけだしくん
かけだしくん
でも、ロードマップなんていきなり言われても作れないよ〜
れん
れん
ですよね。僕が勉強を始める前に時間をかけてリサーチした情報、体験談を含めて話していくよ

独学でプログラミングスキルを身につけるには

独学でプログラミングを習得するには、大きく3つのステップがあります。

  1. プログラミングの基礎を理解できる
  2. クローンアプリを開発できる
  3. 自作アプリを開発できる

STEP1: プログラミングの基礎が理解できる

かけだしくん
かけだしくん
プログラミングの基礎って何ですか?
れん
れん
文法のことだよ

プログラミングには、英語と同じように文法が存在します。例えば、if文、for文、switch文…のことです。

今はとりあえず、if文が何かとかは知らなくて大丈夫です。文法については、progateといWebサービスで学習できます。progateという言葉を聞いたことがない方のために簡単に説明すると、躓きやすい環境構築が不要で、イラストで分かりやすい解説があり、ゲーム感覚でプログラミングを学べるWebサービスです。

かけだしくん
かけだしくん
どうせ、数万とかするんでしょ
れん
れん
それが激安で学べるんですよ

公式サイトを引用すると、

無料会員は、「HTML初級編」「Ruby基礎編」など、基礎レベルの18レッスン を学習できます。有料会員になれば、Progateで公開中の全 77レッスン 、基礎から実践まですべてを学習できるようになります。

無料でも18レッスンも学習することができ、有料でもたった月額980円で全てのコンテンツが見放題になります。なので、最初は無料プランで一通りやってみて、「分かりやすい」「これなら継続できそう」と思えるなら、有料プランに乗り換えるのがオススメです。

僕も、無料で5つぐらいレッスンを終えた後に、有料プランに変更しました。だいたい1ヶ月、長くても2ヶ月ぐらいで目的のレッスンを終了できるとので、2000円ぐらいの費用で基礎を習得できます。

かけだしくん
かけだしくん
コスパいいですね。

STEP2: クローンアプリを開発できる

progateで基礎を理解できるようなったら、クローンアプリを開発した方がいいです。

かけだしくん
かけだしくん
クローンってあのクローンですか?
れん
れん
そうですよ。SF映画などで登場するクローンです。

wikiでは、以下のように書いてます。

クローンとは、同一の起源を持ち、尚かつ均一な遺伝情報を持つ核酸細胞個体集団

要するに、何かをコピーすることです。

かけだしくん
かけだしくん
てことは、何かに似たアプリを作るってことですか

 

れん
れん
Excellent!!

具体例を挙げると、twitterのようなサービスを作るチュートリアルがあります。そこでは、サービスを開発でよく登場する投稿機能、いいね機能、返信機能とかについてひと通り学べます。

かけだしくん
かけだしくん
どんな教材で学べばいいんですか

Rubyであれば「Ruby on Rails Tutorial」という有名なサイトがあるので、それをひと通りやってみるのがオススメです。

特長としては3つあります。

  • progateより本格的なWebアプリを開発できる
  • 一周するのに100時間ぐらいかかる
  • 専門用語が多く難易度が高い
かけだしくん
かけだしくん
なんか不安になってきました…

正直に話すと、休職をせずに独学でこれをやり遂げる自信がなかったので、他の言語でtwitterのようなWebサービスを作ることにしました。

書店に行くと、たくさん技術書が並んでいて迷うと思うのですが、個人的にはよくわかるPHPの教科書 【PHP7対応版】がオススメです。この教材では、プログラミングの基本的な考え方、phpの基礎文法、twitterのような掲示板などについて、サクッと学べるのでprogateでphpのレッスンを一周終えた人には最適です。

STEP3: 自作アプリを開発できる

技術書やWeb上にあるチュートリアルで何個かのクローンアプリを作った方は、どうやってアプリを作れるかイメージできるようになります。なので、既存のアプリに「〇〇な機能が合ったらいいな」という視点で、肉付けしてみるのが良いです。

あと先の話をすると、自作アプリが一個あると、転職活動の面接などで人気者になれるといったメリットもあります。STEP3まで終えた方は自信を持って転職活動をしても良いかと思います。

エラーが起きたときにどう解決すればいいかわからない

エラーの解決方法については、3つあります。

  1. 英語で書かれたエラー内容を解読する
  2. エラー内容の個別情報を省力してググる
  3. エラー内容を質問サイトで聞いてみる 

エラーが発生しているときは、エラーメッセージが表示されているはずです。基本的には、その英文を読むと答えが書いてあります。英語読むのが辛い方はグーグル翻訳を使って解読すると良いです。

読んでも解決できない場合は、エラー内容の個別情報を省力してググって見るのがオススメです。例えば、このようなエラー内容が出たときは「Value of type ‘entry’ has no member ‘title’」は‘’で囲まれて部分を省力してググるといいです。

‘’の部分はそのプロジェクトでの個別情報になるので、省いた方が求めている結果が集まりやすくなります。

「1.2でも解決できないよー」となった場合は、teratailのような初心者向けの質問サイトで質問してみると良いです。stackoverflowというサイトもありますが、こちらは英語でかかれていることが多く、ちょっと上級者向けになっているので、現場に入ってからの方がいいです。

もっと詳しく知りたい方は侍エンジニアさんの「プログラミング学習でエラーが解決できない方のためにを読んで見るといいです。

まとめ

この記事では、独学者が躓きやすいポイントを2つ

  1. 次に何を学べばいいかがわからない
  2. エラーが起きたときにどう解決すればいいかわからない

に絞って、解決方法を紹介してきました。

今回お話した内容で転職活動、副業含めて「独学だとちょっときついなぁ」という方は、実際にプログラミングスクール行ってみる、またはMentaなどを利用をしてみるといいです。

最後まで読んでいただき、ありがとうございました!
そんじゃーね