こんにちは、『プログラミングの王様』編集部のヒロキ(@pgm_osama )です。
クライアントは主に東京の上場企業でWebマーケティングやプログラミング開発を行いながら、個人の活動としては株式投資で資産運用をしています。
2020年もありがたいことに、たくさんのプログラミング案件のお仕事をいただいております。
さっそく1月度だけでも400万円越えの売上げを達成していますが、仕事量としては「まだまだあるので、もっと売上は伸ばせれる」というのが本音です。
やはり「Webサービスを作りたい!」というニーズが急拡大していることを実感します。
ただ「仕事の相談を頂いているのに、かなりの量の案件をお断りしている」のが現状で、IT業界におけるエンジニア不足も痛感しております。
とにかく「プログラミングできる人がいない」ということですね。
こうした背景から「プログラミングのスキルを身につけたい」とエンジニアになるためにプログラミングの勉強を始めようと考えている人も多いと思います。
ただプログラミング初心者が学習を始める上で
初心者はどれくらい勉強すればエンジニアになれるのか?
といった学習の時間目安を気にする方も多いと思います。
結論を言えば一般的に、初心者からプログラミングで稼げるようになるまでに必要な学習時間は「1000時間」と言われています。
1000時間と言うと、1日3時間の学習を1年以上継続するということです。
まずもって、働いている社会人(サラリーマン)の方には現実的ではない学習時間だと思います。
なので、初心者の方が「プログラミング学習で挫折してしまう」のも、納得できます。
そこで本記事では「なぜプログラミングの学習に1000時間もかかるのか?」という理由と合わせて「200時間でエンジニアとして働く学習方法」についても紹介しようと思います。
いわゆる「効率的なプログラミングの学習方法」について、15年以上プログラミングの実践現場で稼ぎ続けている私自身の体験談も踏まえて解説していきます。
この記事を読んでいただければ、圧倒的に効率の良いプログラミングの学習方法を理解できると同時に、今後の学習スピードが飛躍的にアップしますので、ぜひ最後までじっくりご覧ください。
Webエンジニアになるために必要な勉強時間は1000時間です
プログラミングに限らず、ある分野の知識やスキルを習得するまでに必要な時間は「1000時間」です。
ただ、この1000時間も最低レベルの話です。
もし、プロフェッショナルを目指すなら「10000時間」になります。「1万時間の法則」と言われていますよね。
誰でも必死に10000時間、勉強して・練習して・訓練すれば、その分野におけるプロフェッショナルになれるということです。
1万時間となると、1日3時間の勉強でも3333日が必要です。年数にして、約10年ですね。
ちなみに私はプログラミングに関しては勉強を始めて20年目になりますので、プロフェッショナルの領域に入れているかなと思っています。
話を戻すと、Webエンジニアとして最低限の知識やスキルを習得するために必要な勉強時間は、やはり1000時間ということです。
1日3時間の勉強を毎日続けても1年以上。
1日5時間なら約半年です。
なぜ、エンジニアになるまでに、これほどの勉強時間が必要なのか?
一般的に「プログラミングを勉強してWebエンジニアになるまでに、なぜ1000時間もかかってしまうのか?」というと、その一番の原因が「勉強を独学で始めてしまう」からです。
独学でプログラミングを勉強し始めると、大半が「学習手順」を間違えて非効率な学習を続けてしまいます。
例えば、プログラミングは「最初に勉強し始めるプログラミング言語」によって、その後の習得スピードが全く変わってしまいます。
それこそ初心者が最初からC言語を始めてしまうと「面白くない・学習が進まない・エラーばかりモチベーションが上がらない」という感じで、ほぼ挫折に繋がります。
つまり結論をいうと「プログラミングの勉強に時間がかかってしまうのは、独学で勉強を始めてしまい、学習手順を間違えているから」ということです。
初心者の段階で、この事実を理解できていれば、プログラミングの勉強時間を大幅に短縮することができることに気付くはずです。
プログラミングを勉強したいけど何を勉強したら良いのかわからない...
独学で勉強しているけど、よくわからない...
そんな方も多いと思いますが、朗報です!
有名プログラミングスクールのテックアカデミーの講座を
無料で受講することができます!
パソコンさえあれば、自宅で学習をすることができます。
30秒で登録が終わります。
いつまで無料で体験できるかわからないので、
今すぐ無料体験に登録してみてください!
» TechAcademyの無料体験に申し込む
Webエンジニアを目指すための勉強時間は短縮できます
プログラミング学習の中で、必要以上に勉強時間がかかってしまう、最大の理由は「学習手順を間違っている」ためです。
つまり学習効率を考えて、正しい学習手順に沿って勉強すれば、1000時間も勉強時間を使う必要はありません。
ぶっちゃけ「200時間でWebエンジニアとして稼げるレベル」になることはできます。
その正しい学習手順は以下の通りです。
- 初心者が始めるべきプログラミング言語を選ぶ
- 学習サイトを使って基礎学習を始める
- フレームワークを使って時間を短縮する
- 自分でサービスを作ってアウトプットする
この学習手順を理解した上で勉強に取り組むだけでも、何も知らずに無我夢中で勉強する人に比べて圧倒的に勉強時間を削減することができます。
では、それぞれを簡潔に解説していきます。
手順1:初心者が始めるべきプログラミング言語を選ぶ
まず始めに「Webエンジニアになるために」勉強すべきプログラミング言語を選びましょう。
プログラミング言語を選ぶ手順は「何を作りたいか?」といった目的から逆算すれば簡単に見つかります。
- Webサービスを作りたい
- Webアプリを作りたい
- スマホアプリを作りたい
- ゲームを作りたいなどなど
この目的によって、勉強すべきプログラミング言語が変わります。
ということで、まずは自分が勉強すべきプログラミング言語について【初心者向け】プログラミング言語の選び方を目的に分けて詳しく解説で詳しくまとめていますので、合わせてご覧ください。
自分が作りたいサービスやアプリは、どのプログラミング言語の勉強が必要なのか?その言語が自分い向いているのか?を事前に理解できれば、プログラミングの勉強で無駄な遠回りをせずに学習を進めることができるようになりますよ。
手順2:学習サイトを使って基礎学習を始める
プログラミング初心者の方は、まず学習サイトを使って基礎学習を始めましょう。
学習サイトでオススメは「プロゲート」と「ドットインストール」ですね。
どちらも基本無料で利用することができます。
学習サイトでは「基礎を軽く理解する」ことだけにフォーカスしましょう。
最初から「完璧に理解しよう」とすると、確実に挫折するのがプログライング学習です。
【初心者向け】プログラミング学習時のProgateの正しい使い方ではプロゲートの利用方法について詳しく解説していますが、学習スタンスとしては
最初の勉強では「とりあえず手を動かしてプログラミングに触れてみる」という感じで理解度は20%くらいあればOKです。
そして、同じ学習を2回目にするときに理解度を40%くらいまで高めれたら完璧です。
学習サイトでは「完璧にできるようにする」のではなく「知らない状態から少し知っている状態」にできればOKという感じで、肩の力を抜いて勉強してもらえればと思います。
手順3:フレームワークを使って時間を短縮する
学習サイトで基礎学習ができれば、そこからはフレームワークについて理解を深めましょう。
フレームワークとは、あらかじめ開発を短縮するために用意されたソースコードです。
Rubyであれば、Ruby on Railsであり、PHPであればLaravelなどですね。
この辺りはテックアカデミーのPHP/Laravelコースを受講して稼ぐ方法も合わせてどうぞ。
フレームワークを使えるようになれば、自分で1からコードを書かなくても、事前に用意されている素材を組み合わせてWebサービスやアプリを作り上げることができるので、開発時間が大幅に短縮できます。
実際のプログラミングの現場でもフレームワークは日常茶飯事で使われているので、基礎が理解できた後にでも、勉強していきましょう。
手順4:自分でサービスを作ってアウトプットする
基礎学習が終わり、フレームワークを使えるようになれば、実際に自分でサービスを作ってみましょう。
例えば
- HTMLとCSSを勉強したら自分でサイトを作ってみる
- Rubyを勉強したら自分でアプリを作ってみる
- PHPを勉強したらWordpressをカスタマイズしてみる
などなどですね。
基本的にプログラミングスキルはアウトプット量に比例して伸びていきます。
この辺りはプログラミングができない人はアウトプットの努力不足【恐怖に勝て】も合わせてどうぞ。
プログラミング初心者の90%は独学で挫折します
ここまでプログラミング初心者が効率的に勉強時間を短縮するための手順を解説してきました。
しかしながら、手順通りに勉強する中で「初心者がぶつかる壁」に直面することが多々あります。
「独学でプログラミングの勉強をする初心者の90%以上が挫折する」という統計データもあるくらい、大半の人がこの壁を乗り越えられずに挫折してしまいます。
それは「エラーが出た時に自分で解決できずに学習が進まない」という壁です。
効率的な学習手順は分かっても、エラーが出た時に解決する方法が分からないということです。
もちろんググればいくらでも情報を取得することはできます。
プログラミングのコードは英語なので、英語でググれる能力があれば「より有益な情報」にたどり着ける可能性も高くなります。
しかしながら初心者の人にとっては、英語を使って情報を集めたり「どうすればエラーが解決できるのか?」その答えにたどり着くのは簡単ではありません。
※ちなみにプログラミングにおいて英語は必須ではありませんのでご安心ください。
この辺りは【初心者向け】プログラミングの学習に英語力は完全不要の理由を解説もどうぞ。
だからこそ「プログラミング学習の中で、エラーに直面した時に、解決する方法をすぐに教えてもらえる人」がいる環境が重要になります。
プログラミングについて相談できる人、教えてくれる人がいれば、学習効率は格段にアップすることは簡単に想像できます。
エラーの解決方法も相談することができれば、無駄に悩む必要がなく、最短速度で成長することができるようになります。
では、どうやってプログラミングの相談ができる人を見つけるのか?
そこでオススメがプログラミングスクールの活用です。
なぜならプログラミングスクールでは
- 現役エンジニアが体系的に教えてくれるので学習効率がアップする
- 自分のレベルと目的にあったカリキュラムなのでスキルが即伸びする
- 分からない部分があれば即相談して解決できるので理解度が速い
といった「初心者が挫折することなくスキルを身に付ける」環境を用意してくれているからです。
この辺りのプログラミングスクールについてはプログラミングスクールは高いけど今すぐ受講すべき理由【注意点もある】で詳しく解説していますので、合わせてご覧ください。
特に「何も分かっていない状態で、スクールを受講するのは不安」という人は、まずは各種プログラミングスクールでは無料体験も実施しているので、気軽に参加してみましょう!
» 参考:【1万円割引】テックアカデミーの無料体験を受けてみた
Webエンジニアを目指す勉強時間は200時間まで短縮できる
Webエンジニアになるためには、本記事で解説した4つの手順と合わせて、プログラミングスクールを受講することで1000時間から200時間まで勉強時間を短縮することができます。
もちろん「独学で1000時間をかけて勉強したい」という人は、ぜひ頑張ってもらえればと思いますが、学習時間が取れないサラリーマンなどは確実に挫折すると思いますよ。
なので、勉強の効率性と、スキル習得のスピードを考えてもプログラミングスクールを利用して勉強する方が、確実に効率的だと確信しています。
ということで、「どのプログラミングスクールを選べば良いのか分からない」という方も多いと思いますので、下記にリンクを貼っておきますので、引き続き読んでもらえればと思います。
プログラミングスクール選びで失敗しない5つのポイント【サラリーマン向け】
それでは本記事は以上です。
最後まで読んでいただきまして、ありがとうございました。
人気記事乱立するプログラミングスクールの中で本当にスキルが身に付く2校を紹介
人気記事初心者はプログラミングスクールか?独学か?ベストの学習方法を紹介