プログラミング習得のための最短期間を計算してみたら○○日だった
こんにちは、あずまです。
疑問
プログラミングを最短で習得するには、何日必要?
今回は上記のような疑問に答えていきたいと思います。
結論から言うと、「4週間で習得可能」といえそうです。
そもそも「習得」とは?
「習得」とはどのレベルに達することを指すのか考えてみましょう。もちろん人によって異なりますが、自分としては「オリジナルサービスを1人で作れるレベル」ではないかと思います。
例えば自分の通っていたTechAcademyというプログラミングスクールでも、最終ゴールはオリジナルサービスの作成でした。
他のスクールを見てみても、オリジナルサービスの作成がカリキュラムの最後にあるようです。
プログラミングはあくまで手段であって、目的ではありません。では目的は何に相当するかと言うと「WEBサービスを作ること」であったり、「ITシステムを作ること」であったりします。
この目的を1人でも達成できるようになるのが、プログラミングの「習得」といって良いのではないかと思います。
スクールにおける習得時間
ではオリジナルサービスを作れるようになるまで、どのくらいの時間がかかるでしょうか。
これももちろんサービスによって変わりますが、自分の場合は約200時間かかりました。(ちなみに作ったサービスは、好きなお菓子を選んで共有出来るSNSサービスです)
この約200時間という数字は、自分が通っていたTechAcademyのカリキュラムに準じています。
自分はWEBアプリケーションコースを選択し、Ruby+Railsを学びましたが、以下のような順序でカリキュラムは進んでいきました。
- 事前準備(2時間)
- インターネットの仕組み(2時間)
- HTML/CSS(12時間)
- ターミナル(3時間)
- Ruby(10時間)
- MySQL(5時間)
- Ruby + MySQL(5時間)
- Git/Git Hub(5時間)
- メッセージボード(15時間)
- Bootstrap(5時間)
- Heroku(5時間)
- Twitterクローン(30時間)
- モノリスト(20時間)
- オリジナルサービス(40時間)
合計すると約160時間です。この時間にプラスして、メンターに質問したり分からない点を復習したりする時間を加味すると約200時間はかかったかな、という印象です。
そして今思うとこのカリキュラム、「至れり尽くせり」だな〜とすごく思います。
自分でサービスを作るまでに他にも3つのサービスを作って、ほぼ全ての機能とAPI連携までもを網羅し、さらにバージョン管理も学び、さらに簡単ではありますがデザインとデータベースも学び、言うことなしですね。
「約200時間」という数字はあくまで「スクールに通っていた場合」での計算であるため、独学はさらに時間がかかります。
簡単なサービスなら確かに独学でも作れますが、バージョン管理が抜けていたり、デザインがめちゃくちゃだったり、API連携の知識が全くなかったり、と不完全な状態になることは間違いないです。
「スクール通わなくても習得出来た。スクールはいらない。」という人は生存バイアスに過ぎず、さらにいうとスクールに通えばもっと効率的に習得出来たのではないかと思います。
必要な日数は?
後は一日に確保出来る勉強時間を考えるだけです。
社会人の場合、平日は毎日2時間、土日はそれぞれ8時間と仮定すると、週合計で26時間の確保が可能です。
そのため、200時間勉強するためには約8週間かかります。
時間がある方であれば、毎日8時間勉強すると仮定すると、週合計で56時間、200時間勉強するためには約4週間かかります。
いろいろ考えるとこれが最短かなと思います。
まとめ
プログラミングを最短で習得したいと考えているのであれば、プログラミングスクールに通いましょう。
確かにお金は掛かりますが、後に自分でサービスを使って収益を得たり、副業エンジニアとして稼ぐ金額を考えると、努力次第ではすぐにペイできるはずです。
自分はTech Academyという最大手のスクールに通っており、会社員として働きながら2ヶ月で200時間勉強しました。現在スクールは多くありますが、Tech Academyは実際に通ってもいたので、そのカリキュラムの質の高さやサポートの手厚さを考えると、かなりおすすめのスクールと言えます。
下記リンクより、無料キャリアカウンセリングが可能ですので早速申し込んでみましょう。
プログラミングに関わらず、物事全てに言えることですが、「実際に行動する人」は全体の約10%です。90%の人は何かやりたいことがあったとしても結局行動しません。
「とりあえず無料だし申し込むか」と行動するだけで上位10%に食い込めます。後はひたすら努力するだけです。
それでは、良きプログラミングライフを!