自己紹介
2019年3月初旬にエンジニアYouTuberの動画を見てHTML/CSSからProgateでプログラミングの勉強を始め、2019年6月末にRuby on Railsのポートフォリオを完成させてデプロイしました。2019年4月からは大学院の修士課程(農学)にいて、21卒でエンジニアを目指しています。プログラミングの勉強を始めた2019年3月時点ではプログラミングは完全未経験でした。
本記事がこれから独学でプログラミングの勉強を始める人の参考になれば嬉しいです。
挫折しないためのポイント
結論から言うと、独学でプログラミングを勉強する際には以下の3点を守るようにすると挫折しにくくなります。
- お手本のコードを自分専用のライブラリとして保存する
- 勉強時間は余裕をもって設定する
- ググっても分からないバグを無理に解決しようとしない
それでは、1つずつ解説していきます。
1. お手本のコードを自分専用のライブラリとして保存する
これは挫折しない方法というよりは勉強法になります。Progateで書いたコードのような正しいコードを解説付きでコンピューターに保存しておきましょう。ポートフォリオを制作する際は、そのコードを一旦コピペしてから必要部分を書き換えるようにすると文法ミス(syntax error)が減ってコードを書く速度が格段に上がります。
2. 勉強時間は余裕をもって設定する
時間に余裕がないことによる焦りは挫折の大きな原因になります。初学者の場合、エンジニアとしての最低限の技術とやる気の証明になるようなポートフォリオを制作するまでの作業時間はProgate等の基礎学習の時間を含めると最低500時間は確保しておいた方が無難です。当然のことながら個人差があるので、もっと時間がかかる人も多くいると思いますので、500時間以上かかったとしてもとにかく焦らないように気をつけましょう。
3. ググっても分からないバグを無理に解決しようとしない
ググっても分からないバグは分からないのですから、解決しようとするだけ無駄です。無理に解決しようとしても消耗するだけです。とはいってもバグは解決しなければいけません。
一通りググってもバグを解決できない場合は以下のような順番で対処することをおすすめします。
3-1. 一晩寝かせて翌朝もう1回そのバグを見てみる
昨晩どれだけググっても解決できなかったバグが、翌朝もう1度見てみると驚くほどあっさり解決することがよくあります。そういう時は基礎的なことが抜けていた場合が本当に多いんですよね…。
この方法で解決できなかった場合、3-2に進んでください。3-2はA,B,Cと分岐します。バグの状況や自分の精神状態(笑)に応じて適切なものを選んでください。
3-2A. プログラミングスクールやプログラミングができる友人などに質問する
解決しなければ全く進めないバグに遭遇したときや挫折しそうな精神状態のときの対処法として推奨する方法です。一番確実に素早く答えを得られる方法ですが、この方法を使うことで失われるものがあることを知っておいた方がよいでしょう。
1. お金
プログラミングスクールは(無料期間のあるスクールがあるものの)基本的に10万円単位のお金がかかります。痛い出費ですが、挫折するよりもはるかにマシなので、選択肢の1つとして頭の片隅に入れておきましょう。友人に聞く場合も、ごはんを奢ってあげた方がいいですよね。
2. 自走能力の証明
初学者が独学で作ったポートフォリオにはエンジニアとしての「自走能力」(バグを自力でググって解決して次に進む能力)の証明という大きな要素があるのですが、プログラミングスクールや友人に質問するとポートフォリオからこの要素がなくなります。実はこちらがかなり大きいそうです。しかし、繰り返しますが挫折するよりもはるかにマシなので、精神的にやばいときはプログラミングスクールに行きましょう。誤解がないように言っておくと、筆者はこの方法は使っておりません。
3-2B. 質問サイトで質問する
teratailやStack Overflowなどのプログラミング専用の質問サイトがあるので、そこで質問してみましょう。ただし、質問してもなかなか答えが返ってこないことも多く、答えが得られる保証はありません。ただ、困っている内容を人にわかりやすく伝えるいい機会なので、解決できないバグが出てきたときにはこの方法を一度使ってみることをおすすめします。
3-2C. あきらめる
筆者が多く使った方法(?)です(笑)。ポートフォリオを制作するうえで必須ではない機能の部分で一通りググっても分からないことがあった場合、制作時間の短縮のためにその機能実装をあきらめました。初学者がポートフォリオを取りあえず完成させて形にするうえでは必要なことだと割り切ってこれをするのもありだと思います。筆者は独学にこだわって自走能力の証明をしたかったので、この方法を多く使いました。当然のことながら、「現場で実力がついたら、必ずこの機能を実装する」と誓ってポートフォリオでは実装できなかった機能をコメントアウトして残しています。実装をあきらめた機能があっても、とりあえず独学でポートフォリオを完成させたという事実は大きな自信につながるので、可能なら最後まで独学でポートフォリオを作りましょう。
最後に
最近では技術の発展によってプログラミング独学のハードルがどんどん下がっています。最後まで独学でポートフォリオを完成させられるかどうかに関しては個人の適性もありますが、できれば独学でがんばりましょう。
この記事に書ききれなかったポートフォリオ制作の流れを時系列で書いたものを別記事として作ります。プログラミングを独学する際の大まかな流れや心構えの参考になればと思って書きますので、そちらも読んでいただけると幸いです。
それでは、これからプログラミングの勉強を始めるみなさん、幸運を祈ります!