
プロゲートを俺もう、10週したぜ! これでもう、独学でも転職できるに違いない!

はい、できません。
なぜなら、完全に向いているベクトルが違うから!
プロゲート何周もしたところで、一向に何か作れるようにはなれません。(まれに「できます」とかいう人いるけど、その人はもともとポテンシャルが高いとか、すでにプログラマーとして働いていて、インプットしてる人とかなんじゃないでしょうか。)
そこで、プログラミング初学者にありがちな間違った勉強法をやめて、効率よく学ぶ方法をお伝えしますよ!
間違った勉強法① プロゲートを何周もしている


この「何周もしている」というのは、無料版を何周もしている人。いますよね、ブログとか検索しているとこの手の人、結構います。
有料版になると一気に難易度が増します。プロゲートだけで「オリジナルアプリ作れました」っていうところまで行った人、どのくらいいるんですかね。
無料版では親切丁寧だった説明も、有料版になると「これくらい知ってるよね?」的に省いてんちゃうの? という箇所も随所にあるし。
とはいえ、Progateの存在意義っていのはしっかりあって、それは「今エンジニアとして働いていて、別の言語のインプットをする」という人には最適です。すでにプログラミング的思考は身についていて、それほどストレスなく新しい言語の習得は、スクールに通わずにインプットしている人も多いはず。
でも、全くの未経験者で無料だからとProgateやドットインストールで勉強しても、非効率なだけだ、と私は考えています。
間違った勉強法② いろんな言語を勉強している


Progate学習者にありがちな罠なんですけど、無料で色んなプログラミング言語を学べるだけに、「全言語制覇!」みたいな方向に走っていませんか?
無駄ですからやめてください。
プログラミングの習得は、ひとつの言語を深堀したほうが力が付きます。
前述しましたが、インプットしたら、必ずアウトプットする。
Progateで勉強できる言語を全部制覇するって、インプットだけひたすらやるってことです。アウトプットしなきゃ意味ないです。アウトプットにシフトしましょう。
あと、エンジニアは「ひとつの言語しかやらない」ということはまずないです。
就職したら、他の言語も覚えさせられると思っていてください(←エンジニア教育の大切さを理解している会社なら。)
ひとつの言語を深堀して勉強していると、他の言語を習得するときも、基本のプログラミング思考が身についていれば、0→1で覚えた最初の言語よりも、0→10くらいの速度で覚えられます。
間違った勉強法③ 暗記


プロのエンジニアって、色んなプログラミング言語を覚えてていて、すらすらとコードを書いている…
なんていうのは大間違いですよー。
ほとんどのエンジニアは、「あれ? どう書くんだったっけか?」とググッてます。
「ググッて知らべるのはエンジニアやプログラマーにとって恥」とか、この業界をまだ知らない人は思うかもしれませんが、全然恥じゃないですよ。それが当たり前の世界だから。
逆にググッて調べて回答導けない人の方がダメ、って感じです。
なので、暗記するなんて意味がないんですよ。非常に効率が悪いです。
プログラミングを勉強するときは、俯瞰してみること。「この言語の特徴はこれね」とか「こういう仕様にはこの言語が向いているのね」とか、全体像を把握して取り掛かるといいです。
で、ポイントをつかんで、あとはアウトプット。いくらインプットに時間割いていても、いざ「何か作ろう」ってときにあ「はて?」となることがほとんどだと思います。どっから取り掛かればいいのかわからない、みたいな。
なので、インプット(暗記)にばかり時間かけていて、アウトプットをやらないでいると、途中で「プログラミングって覚えることたくさんありすぎてシンドイ! つまんない!」といって挫折しちゃうんです。
ざっくりでいいんですよ。インプットはそこそこで、何かアプリを試行錯誤しながら作っていくアウトプットの過程の方が、たぶんスキルは身につくと思います。
転職の面接で「プロゲート10週やりました!」って主張したところで、「いやいや、あなたが作ったアプリ見せてよ」ってことになります。要は「この人は何が作れるのか」であって、どんだけ暗記しているかではありません。
間違った勉強法④ 独学


「プログラミングなんて独学でできる」という意見は散見しています。実際、できるでしょう。時間をかければ。
でも、趣味でアプリ作りますとか、マネタイズ度外視の自己満足系ゲーム作るなら独学でちんたらやっていてもいいですけど、転職目指すとか、フリーランスになってガンガン稼ぎたい、って思うんだったら独学なんて絶対無理、というのが私の意見です。
自分が書いたコードをメンターに見てもらって評価してもらう、ってことはプログラミング学習には不可欠。独学で自分で評価って絶対無理ですよ。
あと、独学派は「時間」を意識できていない人が非常に多い。
現場では納期ってのがあるんですよ。いついつまでに、この仕様完成させる、みたいな。
独学で時間たっぷり使ってオリジナルアプリを作ったとしても、実務では「それ時給単価にしたらいくらかかってると思ってんの?」ということになります。
プログラミングそのものも、何人かチームを組んでやることが多く、突然新しい人が前任者の書いたコードを引き継いで仕事する、ってことはよくあるんですが、独学の人の場合、チーム開発のこととか完全に無視したコードを書く人が多い。
バグやエラーをたどるときに、どこに原因があるのかを探るのに、省略や繰り返しでシンプルに書かないで、だらだらと長いコードを修正するのって、うんざりするのです。
なので、エンジニア転職を目標にするなら「お前、仕事おせーよ!」と先輩から怒られないように、お金使ってスクールに通って、メンターに自分の書いたコードを評価してもらう、っていうのは絶対に必要です。
この工程を経ていないと、エンジニア転職ができるとしても、下流の下流、下請けのそのまた下請け、みたいなブラック企業に入って、薄給で残業マックス、っていう残念なことになる可能性大です。
そういうブラック企業入ると、プログラミングなんてさせてもらえずに、ひたすら雑務とかやらせられて、せっかく覚えたコードなんてすぐに忘れてしまいます。
なので、スクールに通う、というのは最低限必要なことだと認識しておきましょう。
では、どういう勉強方法がいいのか?


まずはスクールに通うのはマストです。
でも、スクールに行く前に、予備知識としてProgateでまず勉強します。初めてでもできるWordPressで作る人気の出るホームページ作成
とくに、人気のTechAcademyのようなオンラインスクールに入る場合、学習期間を1ヶ月、2ヶ月、3ヶ月などと選べるんですが、「なるべく安くしたい」と思って1ヶ月とか2ヶ月の短期コースで契約すると、HTMLとCSSで期間オーバー、肝心のメインで学ぶべきRubyとかPHPをやる時間がない・・・ってことになりかねません。
TechAcademy をうまく使うには、ある程度予備知識を入れておくと通学型スクールよりもかなり安く学習することができます。
通学型スクールの場合、メンターがいてすぐに確認できる、というメリットがあるので、オンラインで学ぶよりも速度を速めて理解することができます。
RubyをやりたければDMM WEBキャンプが3ヶ月で「教室通い放題」なので、短期で効率よく学習することができます。
まとめ
プログラミング初学者の、「間違ったあるある勉強法」は
- プロゲートを何周もしていて、インプットには時間を割くが、アウトプットをやっていない
- 色んなプログラミング言語を制覇しようと思っている
- プログラミングは暗記するものだと思って、ひたすら構文を覚えようとしている
- 独学でやっている
まれに、プロのエンジニアで「独学で覚えましたよ。プログラミングなんて独学で十分ですよ。スクールに通う意味わかりません」みたいな人いますが、天才か、プログラミングスクールなんてなかった時代の人か、大学で工学部とか出た人か、完全未経験者でエンジニア採用されて、会社で覚えさせられた人かのいずれかだと思います。
今、プログラミングはブームで、Twitterでも大学生や20代の若者がゴリゴリ勉強しています。
ライバルは増えてきていますよ。
効率よく、短期間で学んで、さっさとエンジニア転職(上流の元請けとか二次とかを狙うこと!)して、実務で覚えていく、という方法が最短の方法です。
独学者が「社内で成長させてくれる会社に就職」できるかどうかは、「偏差値40ないけど東大狙ってます」っていうくらい、難しいと思っていてください。
全然お金がなくてスクールに行けない、って人なら独学でも仕方ないですが、ある程度貯金があったり、家族に借りられる環境にある人なら、スクール行くお金をケチるのはリスクでしかないですよ。
- Progate (スクールに入る前の予備知識として使う)
- 初めてでもできるWordPressで作る人気の出るホームページ作成
(これも同様) - テクノロジア魔法学校
(これは予備知識以上のスキルが楽しく身につく) - TechAcademy
(オンライン&安く学べる人気のスクール)
- DMM WEBキャンプ
(3ヶ月集中して通学してWEB系言語Rubyが学べる)



ご参考にしてくださいね♫