🔖

プログラミングで稼ぐまでの勉強時間はどれくらい?学習期間を短縮する方法も紹介!

2024/09/03に公開

こんにちは!ヒロケイです。

今回は、完全未経験の人がプログラミングを学習して稼げるようになるまでにかかる学習時間についてまとめました。

対象読者

  • プログラミングを学習してからどのくらいの期間で稼げるようになるのか分からない

  • とにかく早く収入を得たいけど、そのためにはどうすれば良いの?

こういった疑問をお持ちの方、多いと思います。

副業や事業において、早い段階で成功体験を積んでおくことはとても重要です。

今回は、そんな悩みを解決できるような内容となっています。

この記事を読むことで

  • プログラミングで稼ぐまでに必要な学習時間について分かる

  • 早く収入を得る方法を知れる

筆者自身、独学経験がありますので私の実体験も添えて詳解していきますよ(^^)

それでは、いきましょう!

結論

プログラミング未経験者が1から学習してから収入を得られるレベルまで到達するまでの学習時間は、一般的に 1200 時間と言われています。

仮に毎日同じ時間で学習時間があるとして、

1 日の学習時間 かかる期間
3 時間 11 ヶ月
5 時間 7 ヶ月
8 時間 4 ヶ月

このくらいの期間で達成できる計算になりますね!

この 1000 時間のうち、2 つの段階があります。

  • 基礎的な文法や、プログラムを自由に組む力を身につける期間

  • コーディングを伴って実際に成果物を作る期間

基礎理解

まずプログラミングについて初めて学ぶ人は、コードの基本文法や自分の思った通りにコーディングをする能力を身につける必要があります。

  • 変数、定数

  • 条件分岐

  • 繰り返し

  • 関数

  • クラス    などなど。。。

この基本的な知識を身につけるためには、一般的に 200 時間程必要になってきます。

実務レベル

次の段階として、実際に業務で開発するための技術について学ぶ期間があります。

  • ライブラリ

  • フレームワーク

  • ソフトウェアを公開するためのインフラ

  • データベース    などなど

実際の成果物を作るためのコーディング技術に加え、ソフトウェア周りの知識も学習するので、大体 1000 時間ほどかかると言われています。

独学の場合、実際はこれよりもっと時間がかかる。

今紹介した学習時間は、

  • 目指すものが明確になっていて

  • その道に詳しい人が組んだ学習プランで

  • 分からないことがあった時にすぐ聞ける

そんな、目標に到達するために何不自由ない環境が用意されている場合での話になります。

独学で学習する場合は

独学での束縛

  • 学習内容は全て自分で決める

  • 開発についての必要な知識は全て自分で調べる

  • つまづいたり挫折しても、全て自己解決する必要がある

こういったハードな環境に身をおくことになります。

その結果、何が分からないのかが分からなかったり、単なるタイプミスで起きていたエラーを解決できずに丸一日潰してしまうということもザラあります。

なので独学の場合、1500~1700 時間ほど時間がかかるでしょう。

1 日 5 時間費やしても、10 ヶ月程の期間が必要になってきます。

自分は未経験から初めての収入をもらえるまでに約 2500 時間(4h × 613 日)かかってしまいました 💦

独学の場合、学習期間は大幅にかかってしまうことは覚悟しておくべきでしょう。

言語別!習得に必要な勉強期間

先ほど紹介した学習時間は、Web 開発やアプリ開発など、さまざまな分野での平均の時間でした。

ですが、学習する言語や技術によってかかる時間は変わってくるものです。

それぞれのプログラミング言語を習得するためにかかる時間を見ていきましょう。

Web

Web アプリやサイトを構築するために必要な言語です。

言語 学習時間
HTML, CSS 50 時間
JavaScript 150 時間
Ruby, Python, PHP 200 時間
Go, Rust, C++ 300 時間

ネイティブ

PC 上や、スマホ上で動作するネイティブアプリを開発するために必要な言語です。

言語 学習時間
Swift, Flutter, Objective-c 150 時間
Java 300 時間

このような結果となっています。

難易度の高い言語を選ぶと、学習期間は長くなる傾向

上記のリストを見ると、以下のような特徴がある言語は学習期間が長くなりがちな傾向があります。

  • 登場したばかりの新しい言語

  • 静的型付けが必要な言語

  • コンパイラ言語

原因としては、

  • 学習するための情報源が出回っていない

  • 型定義や指定など、自分の実行したいコードを型にはめて書く必要がある

  • コンパイルするための開発環境構築から始める必要がある

  • ポインタやメモリアドレスなどの概念を学ぶ必要がある

など、学習する内容が増えた結果学習期間が長くなってしまう傾向にあるようですね。

勉強期間を短くする方法

学習期間について把握したところで、次に勉強時間を短くする方法について紹介していきます。

テクニックやマインド面での話となります。

収入を目的にするなら、無報酬で勉強する期間は短く済ませておきたいですよね。

早い段階で稼ぐ力を 0→1 にする方法は以下の通りです。

学習に入る前に最終的な目標を決める

まず、学習に入る前に最終的な目標を決めておくと良いです。

なぜなら

  • 学習することが目的になってしまう事態を防げる

  • 目標から逆算することで、具体的な学習計画を立てることができる

  • モチベーションの維持につながる

こういった理由があるからです。

最終的な像が明確になっていれば、道草を食うことがなくなります。

収入を得て新しい環境で働いている自分を想像すると、なんかやる気が出てくる!

そのためには勉強頑張ろう 🔥

またモチベーションが無いと、勉強したくないと思うことがあります。

その結果、勉強する意味がわからなくなって諦めてしまうことも。。。

なので最終的な目標立ては、立てるのに見合ったメリットがあるのです。

そして、最終的な目標は具体的なものでなければなりません。

目標例

  • クラウドワークスの募集欄に記載されている使用技術をマスターする

  • 実際に作ってみたいアプリやサービスを作れるようになる

  • 入社したい会社で使用している技術を学習して、ポートフォリオを作成してみる

具体的な目標を立てておくことで、無駄な技術を学習する時間を無くすことができます。

広く浅く触れながら学習する分野を決めていきたい場合は、無理に決めなくても大丈夫だってよ!

勉強時間へ投資する

これは、学習時間を伸ばすことで、学習期間を短くする方法です。

あなたが生活している中でついつい時間を浪費してしまっているとき、ありませんか?

  • 人付き合いで遊んだり、参加していた飲み会の 3 時間

  • ダラダラと Youtube を見ていたら過ぎていた 1 時間

  • 本来起きれるのに、2度寝で無駄にしてしまっている朝の 2 時間

  • 通勤、通学の 1 時間    などなど。。。

隙間時間の活用とまでハードにはいかなくとも、ついついダラダラと過ごしてしまう時間ってありがちですよね w

  • 早く起きて 2 時間の朝活

  • SNS や Youtube を見る時間は限定して余った 1 時間

  • 通勤、通学中にパソコンを開いて勉強する 1 時間

こういった時間の活用を継続していくことで、健康を害さずに膨大な勉強時間を捻出することができます。

心の許せる友人、恋人や家族と過ごす時間は極力削らないようにしよう w

お金よりも大切なものだからね w

勉強の時間を増やすことも大切ですが、効率を上げることも大切です。

学習効率の爆上げを可能にしてくれる優秀アイテムをこちらの記事で詳解しています。

https://zenn.dev/keigo_hirohara/articles/70261509e25b04

立てた目標は達成するまで、絶対に諦めない

独学であるあるなのですが、

  • 「Web 開発勉強してたけど、ネイティブアプリ開発やってみたくなった」

  • 「今は AI が流行りらしい」

  • 「今僕が学習してる言語はもう遅いから稼げないって聞いた」

こういったことがきっかけで、他の分野を学習したくなることがあります。

ここで他の道へ進んでしまうと、今まで積み上げてきた勉強時間を無駄にしてしまうことになるので、また最初から学習のスタートを切ることになります。

絶対に一度決めた目標を達成するまでは道を曲げないでくださいね(^^)

自分は何度も道を曲げてしまったので、500 時間程の時間を無駄にしてしまいました。。。

難易度の高くない言語を選ぶ

難易度の高い言語を避けるのも重要です。

Java や C++, Rust などの難易度が高い言語から学習していくと、基礎を理解する段階での学習時間が伸びてしまいます。

また基礎を学習する段階でも難しい内容がどんどん出てくるので、他の言語での経験がない人は挫折して心が折れる可能性が上がってしまいます。

これでは、学習期間を短くするどころか途中で諦める事態になってしまいます 💦

難易度の低い技術を学習してから、難しい技術へステップアップすると、挫折して心が折れるといった最悪の事態を免れます。

最初は難易度の低いものから学習していくようにしましょう!

おすすめ言語

  • JavaScript

  • PHP

  • Python

  • Ruby

  • Swift

スクールに通う

そもそも教材を買って自分で学習するスタイルではなく、スクールに通うという手段があります。

スクールでは、行き詰まった時にメンターやエンジニアの方に質問できる環境があります。

なので、一人で分からないことについて考え込む時間が省けるようになります。

独学だと、わからない時でも全て自分で解決する必要があります。

単なるタイプミスだったのに、解決方法がわからず一日中考え込むなんて状況は普通にあるんです 💦

実際の業務では、分からないことを一人で考え込むのはタブーとされています。

なぜなら、聞けばすぐわかることに対して何時間も費やしてしまうと会社にとって不利益になるからです。

独学では絶対に習得することができない「質問する習慣」を身につけられるのは、スクールならではのメリットですね(^^)

また、学習ロードマップもエンジニア経験者が組んであります。

無駄な技術を学習する時間が省けるので、稼ぐまでの期間を短くできます。

まとめ

今回は、プログラミングで稼ぐまでにかかる期間と短縮方法についてまとめました。

半年で稼ぐ方法を以下の記事でまとめてありますので、ぜひご覧ください。

https://zenn.dev/keigo_hirohara/articles/97b56e59bbc965

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

Discussion