##自己紹介
初投稿です。初めまして。僕は5ヶ月前にプログラミングを勉強し始めました超初心者です。現在大学四年生です。
プログラミングを始めたきっかけはとあるWebサービスとの出会いです(ということにしていますが実際は他にもあります笑)
僕は始めるに当たって誰にも相談はできなかったので、少しでもこれから始めようと思っている方の参考になればと思います。
ちなみに今は株式会社divに所属してますが、この記事を書いた時は所属してなかったです。
##勉強の流れ
まずは僕が実際に行なった勉強の流れとその時の状況をお話します。
1.progateなどの学習サイト(約三ヶ月)
→就活と平行しながらダラダラ進めていました。progateでは何も用意する必要がなかったのでとりあえずやってみた、という感じです。
2.TechAcademy(約一ヶ月)
→最初はプログラミングを職業にするつもりはなかったのですが、沸々とエンジニアになりたいという気持ちが湧いてきました。しかし独学で志望理由にストーリーを持たせるには時間がなさすぎる。ということで課金を心に決めました。
3.その後独学(現在まで)
→後述しますが2.のステップを経たことで独学の効率がグッと上がります。楽しいです。
具体的なアドバイスと感想
1.について
EラーニングやEdTechサービスは月額課金のタイプがありますが、学習の入り口はそれがおすすめです。主にProgate、ドットインストール、Schooなどが挙げられますが、僕としては最初はProgateがおすすめです。(※この辺の比較記事は他の方が書いてるかと思います。ぜひ探して見てください。)
Progateをちゃんと使うには980円/月かかりますが、最近はめちゃくちゃ充実してきているので、僕の感覚としてすごく安く感じました。
僕の始めた時に比べてすごく内容が濃くなっています。とにかく「手軽さ」が特徴なのでその反面色々触ってみたくなってしまいますが、そこはグッとこらえて言語を絞った方がいいと思います。Progateおすすめの学習手順なども紹介されているので、参考にしてみてください。
2.について
ここが一番重要です。
僕が受講したのはTechAcademyのWebアプリケーション4週間です。
結論から書きます、めちゃおすすめです。
時間をかければProgateなどで十分進めていけるのですが、僕みたいに大学四年生だったり社会人だったり、とにかく「早く成長したい!」って方はおすすめです。実は紹介すると僕にお金が入る仕組みもあるのですが、おすすめ本気度を伝えるためにあえてそれは書きません。
紹介された側も安くなります。他のブロガーさんに「紹介します!」みたいに書いてる人もたくさんいると思うので、紹介されたい人は探して見てもいいかと思います
3.について
特筆することはないんですが、とにかくプログラミング関係はネットでも本でも情報に溢れています。「今自分に何が必要なのか」「それは後でもいいのではないか」などを考えて情報の取捨選択を上手くやらないとモチベーションが続きません。
####TechAcademyの特徴
1.メンターが1人つく
週二回30分ずつメンタリング。現役でバリバリ活躍している方と話す機会はなかなかないと思うので質問しまくりましょう。むしろ、技術的なことはチャットでの質問で十分なので、僕は現場のことや転職のこと、普段考えていることなどをガンガン聞きました。30分は意外とすぐなのでメンタリングの前は質問を整理した方が良いです。
2.チャットサポートが充実している
毎日15時〜23時はSlack(チャットアプリ)上で複数人のメンターが待機してます。技術的な質問をすると5分以内にめちゃめちゃ丁寧な回答が返ってきます。エラーの発見・解決も早いです。
あと意外と見落としがちなのが、「わかったようでわかってないこと」です。Railsの省略されたコードは、たった一行でも結構説明が必要なものもあったりします。カリキュラムを読んでてて少しでも「ん?」と思ったらチャットなどで質問できるのがすごく良いですね。
3.カリキュラムが結構重い
最後の方になってくると、結構複雑な課題になってきます。しかしチャットサポート・メンタリング・自分の頭をフルに使って乗り越えれば確実に力がつきます。
4.開発に必要なツールの基礎が身につく
これが意外と重要です。カリキュラムとしては非常に簡単なのですが、実務で開発するとなると、SlackやGit、Herokuなどのツールを使いこなせる必要があります。これらもカリキュラムを通じて身につきます。
以上が学習に関する特徴です。他にも特徴はありますが、今回は割愛します。
さて、次は**悪かった点(反省点)**を書きます。
####悪かった点
1.期間が短い(反省点)
これは完全に僕のミスです。4週間だと途中で少しでも体調を崩したりサボったりすると最後まで終わりません。ケチらないで8週間にしましょう。
2.カリキュラム検索ができない
何か途中で「あれ、これなんだっけ?」となることがあります。デフォルトではカリキュラム内をワード検索はできないので僕はEvernoteにクリップして検索できるようにしました。⌘+Fでの検索だとカリキュラム全体から検索っていうのはできないので。
3.普段の質問はチャットのみ
言語化が苦手な方や、質問を整理して文字を打つという行為が苦痛な方はつらいかもしれません。
(とはいえ言語化や質問の整理はエンジニアになってから必要なスキルなのでいつかは身につける必要があります)
##まとめ
最初にProgateなどを経ることで、Webアプリケーションコースのカリキュラムではつまずきにくくなります。
最低1ヶ月くらいはProgateで勉強すると良いでしょう。
最後に学習のコツを書きます。
1.恥ずかしがらない
僕は始めたのが遅くて知り合いには誰にも頼りたくありませんでした。いつのまにかやっていたいタイプでした。特に独学でやる場合はそれは死ぬほど損なので、変なプライドは捨てましょう。人に教えるのは学習効率が高いので意外とみんな教えてくれますよ。(多分)
2.完璧主義は禁物
Progateなどを見るとわかりますが、例えばHTML/CSSだけでも全部終わらせるのは割と時間がかかります。最初は1つのサービスを(クローンでも良い)完成させることに集中してPDCAを覚えましょう。その方が**その後の学習効率が上がります(取捨選択が上手くなる)**その選択肢の一つとしてTechAcademyなどがあります。
3.仲間をつくる
1.にも繋がっていますが、学生の場合サポーターズさんなどでエンジニア向け勉強会、交流会などがたくさん行われています。エンジニア友達をたくさん作リましょう。参加するだけで満足せず、劣等感に浸りながら劣等感に突き動かされてガンガン成長していきましょう。
ノウハウ面ではまだ未熟なのであえてメンタル面でのコツを書かせていただきました。
##終わりに
「遅すぎることはない」とは思いますが、足踏みしてても時間が戻ることはありません。思い立ったらぜひすぐに始めましょう。
ひとつの選択肢としてTechAcademyを受講しただけですが、個人的にはとてもオススメです。
今はいろいろなフェーズに合わせて学習サービスは出てるので、フェーズやゴールによって変わってくると思います。
僕は就職ギリギリでエンジニアにジョブチェンジしたので、転職といえば転職だと思いますが、仮に転職をゴールとした場合、
- progateや参考書で自力で学習して自力で転職
- TECHACADEMYなどの比較的安価なオンラインスクールで学んで自力で転職
- 高額なプログラミングスクールで転職までサポートしてもらう
などの道があります。
これらは、一概にどれがいいといえるものではないと思います。
例えば「ダイエット」にしても
- 家で筋トレ、外でランニング
- ジムに通う
- パーソナルジムに通う
- ライザップに通う
という選択肢がありますよね。
まぁ何はともあれ、これからプログラミングを始めようと思っている方、ぜひ頑張ってください。