プログラミング 独学でも効率よく学べるおすすめの勉強法
こんにちは。引地啓です。
今回はプログラミングを独学で学ぶひとにおすすめしたい勉強法をまとめました。
スクールに通う方が間違いなく効率良く学べるのですが、お金が無くてスクールに通うことができない人もいるかと思います。
独学で挫折しないために
独学で勉強するのは非常に難しく、すぐ挫折してしまう人が多いです。僕もWebで調べたり書籍を購入して独学で勉強していましたが、結構すぐに挫折しました。
しかし、独学で勉強するにもちゃんとしたやり方があったようなので、こちらにまとめてみました。是非参考にしていただければと思います。
①作業ログをGithubのlssueに残す
Githubとは、ソースコード管理を行えるソフトウェアですが、その中でIssueという掲示板のようなものがあります。
そこにどういう処理をおこなっていて、何が上手くいっていないのかを作業ログに残しておくのがおすすめです。
GithubのIssueは、簡単に言うと掲示板みたいなもので、そこに開発についてやり取りができます。それがソースコード管理システムであるGithubに標準機能として置いてあります。
https://employment.en-japan.com/engineerhub/entry/2017/01/31/110000
Githubについて詳細に書かれた記事です。
これをやるのにはメリットが2つあります。
1つは、プログラミングの作業ログを残せるので、自分が今どのような処理をしているのか言語化しながら確認することで、状況の理解がしやすくなるという点です。
独学しているときの形跡が残せるので、後で見直すことも出来ます。
もう1つが、ツイッター上で自分のプログラムをGithubのIssueを公開しておくと、誰か優しい人がヒントを出してくれたりなどのやり取りができるようです。
②2週間で基礎は終わらせる
プログラミング基礎は、Progateでも十分に独学可能とのことです。
何か月も基礎の本をずっとやるのでは無く、Progateで学びたい言語をある程度勉強したら、プロダクトをさっさと創りましょう。
基礎だけではなく、しっかり実践を積んでいきましょう。
本は、学習を進めていく中で困った時のリファレンスとして使う側面が大きいです。
普通にプログラミングの基礎を身につけたいのであれば、実際に書きながら学べるProgateやAidemyなどのサイトを利用して、独学でやってみるのが一番早いようです。
ただ、Progateでずっとレベル上げし続けるのではなく、早く外に出た方がいいです。
③プロダクトベースのチュートリアルを行う
お勧めは、「~を作ろう!」系のチュートリアルをひたすらこなすのがよいです。
写経でもいいので、どういうアプリがどういう構造で作られているのか、どういう風に作ることができるのか、ひたすら型を学んでいく手法で、効率よさそうです。
チュートリアルをある程度こなせるようになると、ある程度この機能を実装したい!と思ったときに、過去の経験から実装することができるようになります。
Ralisチュートリアルというもので、ツイッターのクローンを作ったりできるようです。
「Ruby on Ralisでツイッターと同じ機能を持つ、クローンアプリを開発する」
「基本的はログイン機能、ツイート機能、いいね機能などを実装する」
など、Webアプリケーションを作成するうえで必要なスキルを 身につけることができるようです。
Tutorials Pints
海外のTutorials Pointsというサイトでいろいろなアプリのチュートリアルを作ることができるようです。
これを行うと、「だいたいこの機能を付けるためにはこれが必要だよね!」ってことが分かってくるので、自然とどういう風に設計すればいいのかイメージできるようになります。ただし全部英語ですので、英語に自信がある人はぜひ試してみてください。
Udemy
英語ができない!という人はこちら。日本語化されたコンテンツがあります。
Udemyの動画で、0からプロダクトを創れるチュートリアルを公開しています。
Webでは落ちていない情報がまとまっているようなのでおすすめされています。
これ以外で、日本語化されたコンテンツは圧倒的に少ないようです。動画だけだと理解できずに先に話が進んでしまうことがあるようなので、じっくり学習していったほうがよさそうです。
Qiita
Qiitaは、エンジニア向けの技術発信プラットフォームです。ここでは検索機能があり、「○○ チュートリアル」と検索すると、たまに分かりやすいチュートリアルが出てくることがあるようです。
プログラミングの学習ログとして使う人もいるようです。
Youtube
https://www.youtube.com/watch?v=F5mRW0jo-U4
・0から手を動かして作るRalisチャットアプリ【チュートリアル】
https://www.youtube.com/watch?v=WCsgcp5dg7M
・Flashチュートリアル①Pythonでツイッターの分析ツールを作ってディプロイしよう!
https://www.youtube.com/watch?v=0wHIta7cTM0
④メンターに聞きながらトライアンドエラーをする
チュートリアルをやっていると、Progateなどで学習するときと違って詰むようになります。
よく分からないエラーが出てきたり、チュートリアル通りにやってもうまくかない時に、独学だとしんどいです。僕もチュートリアルばかりやっていた時に陥ってました。
その時に、特に最初はプログラミングのメンター(指導者)が必要になります。
どのようにしてメンターを見つけるかですが、学生の場合は
「プログラミングできる自分の友達」「プログラミングを学べるインターンに行く」「有料のスクールに行く」
が鉄板。友達がいればすごくいいと思います。いない場合、プログラミングで実際に何かを作れた証拠を持ってインターンに受けに行くのがおすすめです。
上2つが無理なら、やはりプログラミングスクールに行くのがおすすめです。ここまで独学で出来たのであれば、何も知らずにスクールに行って指導を受けるよりも、確実に効率は良くなると思います。
仕事として通用するプログラミング力を得るには
仕事としてプログラミングで稼げるようになるため、以下のことが必要になってきます。
①顧客から信頼を勝ち取って、営業するスキル
②顧客の要件を定義してあげて、相手が本当に欲しいものをヒアリングする能力
③実際に成果物を作成する能力
IT系に就職を考えている人や転職を考えている人は、面接時にオリジナルアプリを作ったことがあるか必ず問われるようなので、必ず一つはオリジナルアプリをできるようにしておくと、有利に就活ができると思います。
プログラミング独学で躓くポイント
- 次に何を学べばいいか分からなくなる
- エラーが起きたときにどう解決すればいいのか分からなくなる
- 仕事を獲得するためにどういう風に営業したらいいか分からなくなる
- エンジニア採用の就職活動でエンジニアがどういう期待をしているか理解できない
独学で学んでいるとこのようなポイントで躓くようです。
ここで躓いたら、やはりスクールに通うのがベストのようです。
まとめると結局、独学には限界があることがよく分かりました。
意地で独学でずっとやっていっても、どうしても分からない部分は出てきます。分からないことに時間をかけるのは、一番勿体ないことだと思います。僕はそれならお金を払って答えをすぐに知るのが効率がいいと思っています。
それにプログラミングを身につけて就職できたら、給料で取り返せる金額なので、独学で無理と思ったら、迷わずスクールに行くのがいいと思います。
最後まで見ていただきありがとうございます。
これからも何卒よろしくお願いします。
またお会いしましょう。