プログラミングの勉強はじめようと思うんだけど、勉強時間はどれくらい必要なの?
勉強始めたけど、ぜんぜん上達しないんだけど。
このような悩みに答えます。
本記事の信頼性
私はプログラミングの勉強を初めて3ヶ月で、以下のスキルを身に着けました。
- HTML
- CSS
- PHP
- JavaScript
- jQuery
- WordPress
もちろん独学で、かかったお金は1万円以内です。
スクールに通えば月に数回の授業でウン十万とかかるので、それに比べるとかなり経済的かつ効率的にプログラミングを学習できたと思います。
本記事では、プログラミングスキル習得に必要な勉強時間や、プログラミングが上達しない理由について解説します。
私の勉強時間は300時間(今も更新中です)
プログラミングで一人前になるには1000時間以上の学習が必要と言われています。
一日の勉強時間にもよりますが、だいたい1年前後はかかるということになりますね。
一例として僕の学習時間を紹介しておきます。
一日のタイムスケジュール
平日の場合(トータル6時間)
- 5時から7時 → 2時間
- 19時から23時 → 4時間
休日の場合(トータル13時間)
- 5時から7時 → 2時間
- 8時から12時 → 4時間
- 13時から18時 → 5時間
- 19時から21時 → 2時間
こんな感じですね。
一週間で56時間、約4ヶ月で1000時間になる計算です。
これだけの時間をプログラミングにあてることができているのは、もともとゲームに同じ時間をあてていたからです 笑
だから新作ゲームの発売日もスケジュールはこんな感じでした 笑
ゲームでプレイ時間300時間は大したことない話
この記事を読んでいる人で、ゲーマーがどれくらいいるか分かりませんが、ゲーム界隈ではプレイ時間300時間なんて初心者と呼ばれる段階です。
普通にプレイしてたら余裕で達成できる時間ですね。
それがプログラミングに置き換わっただけ。
それくらいプログラミングに熱中してました。
「勉強する」というより「楽しむ」という感覚に近かったかもしれません。
WEB製作がしたいのか開発がしたいのか
「フロントサイド」と「サーバーサイド」
エンジニアは大きく分けると以下の2つになります。
フロントサイドエンジニア
ユーザーが見ている画面の設計やデザインをするエンジニア
HTML、CSS、jQueryなどの言語を扱います。
サーバーサイドエンジニア
裏で動いているプログラムの実行・管理をするエンジニア
Ruby、PHP、Python、Javaなどの言語を扱います。
このようにどちらになりたいかによって、習得するべきプログラミング言語は異なるわけですね。
どのプログラミング言語を勉強するか
最初からこれらすべてを勉強するのは効率が悪いので、目標によって勉強する言語を絞りましょう。
...という風に、ほとんどのエンジニアは言います。
確かに、これは間違ってなくて、僕自身もそう思っています。
例えば、
自分のブログサイトがつくりたい!
twitterみたいなアプリが作りたい!
こんな感じで、目標がかなり明確に定まっている人には、その勉強方法はかなり効率のいい方法になります。
でも、プログラミングを勉強しようと思った一番最初の動機ってそんなでしたか?
- これからの時代はプログラミングだ!
- なんかしらないけど稼げるって聞いて。
- プログラマーってかっこいいなー
こんな感じじゃないですか?
それなのに、
フロントエンジニアになりたいならまずHTML、CSSを勉強しましょう
って言われても、は?ってなると思います。
プログラミングってこんなものですよ。
プログラミング言語ってこんなに種類があります。
この言語にはこんな特徴があってこんなものがつくれますよ。
こんなところから教えてくれたら、
「じゃあまずはこの言語から勉強しようかな」ってなりますよね?
一通り需要のある言語を勉強してみるのもあり
とはいうものの、
- 自分が何をやりたいのか
- フロントエンドとサーバーサイドどっちが向いているのか
いきなりは分からないと思います。
一通り勉強してみると、勉強していくうちに興味がある分野、楽しいと思える分野が分かってきます。
なので、まずは「需要のあるプログラミング言語」を一通り勉強してみるのもアリですね。
どの言語を学ぶべきかこちらの記事でまとめています。
効率厨のぼくが効率のいい勉強方法を公開
いきなりですが、学生時代のテストの点数ってどうでしたか?
バカだったから、点数は悪かったんです。
いやいや、学校のテストに頭の良さは関係ないですよ?
学校のテストは攻略法が分かっていれば誰でも点数がとれる
ゲームと同じで、
- 敵を分析する
- 有効な装備やスキルを整える
- 敵の動きに合わせて立ち回る
このあたりを押さえれば、誰でも良い点なんてとれます。
そんなわけで何をするにも、まず分析をしなければなりません。
敵を知らずに勝てるわけないので、まずは正しい勉強方法を考えましょう。
プログラミング学習における分析とは?
- 自分のやりたいことを書き出す
- 今のスキルを書き出す
- やりたいことに必要なスキルを書き出す
- 足りないスキルを勉強する
これだけ。これをそのままやれば、誰でも結果は出せます。
例えば、
- web制作の仕事がしたい
- インターネットの知識はあるが、プログラミングについてはよく分からない
- web制作に必要なプログラミング言語を調べる
- 調べたプログラミング言語の勉強をする
こんな流れになります。
「やる」か「やらない」か、それだけ
人間には2種類あります。
「やる人間」と「やらない人間」
もし、独学ではモチベーションが続かないなら、勉強せざるをえない環境に身を置くのもアリです。
例えば、
- お金を払ってスクールに通う
- 転職してスキルを磨く
まずは環境を作ってからそこに身を置きます。
嫌でも勉強しなければならなくなるので。
おすすめのプログラミングスクール3選
- Tech Academy(テックアカデミー) :24の豊富なコースから選べる
- TECH CAMP(テックキャンプ):転職を全力でサポート
- Code Camp(コードキャンプ):独立できるエンジニアを目指す
登録必須の転職サイト・転職エージェント
「いきなりクラウドソーシングで仕事をするのは怖い」という方には、こちらのサービスがおすすめです。
駆け出しエンジニアにピッタリのクラウドソーシングサイト
「FLEDGLING」は駆け出しエンジニアへ仕事を依頼する変わりに、報酬を相場よりも抑えることができるという、新しいクラウドソーシングサービスです。
駆け出しエンジニアの悩みで多いのが、
実績がないから仕事が獲れない。仕事が獲れないから実績がない。
ということです。
FLEDGLINGを利用するメリットは、FLEDGLING内での仕事は全て実績として公開OKということ。
つまり、『報酬よりもまず実績を取りに行きたい』というエンジニア向けのサービスになっています。
詳しくは以下の記事で解説しています。
また、もしやる気があるなら、こちらの記事も読んでみてください。
web制作に特化して、稼げるようになるまでのロードマップをまとめました。