始めに
ういっす、まんじです。
今回はエンジニアで実際に労働するためには独学とスクール(プログラミングスクール)どっちがいいんだ的なお話について解説します。
どっちでもいい気がする(オワタ)
大学受験の独学なのか塾なのか的なやつと似ていると思っていて、自分に合うほうを選ぶのが良いと思います。
ただ個人的には、プログラミング学習は以下の項目が満たせるような環境でやることが重要だと思っています。
- モチベ維持ができる環境
- 期日が決まっている環境(いつまでに何かするのか、終わりがある状態)
不明点を質問できる環境に関して言うと、プログラミングの場合はあってもいいしなくてもいいと思います。
理由としては、プログラミングの場合、労働してからも不明点や分からない部分が必ず出現するからです。
自分で問題解決しつつ、どうしても分からないことやググっても出てこない仕様に基づく部分などは質問する力が必要になります。
と、、、考えると、どっちでもいいと言えばいいかも、、、という結論になります。
理想を言うと、独学ベース+メンターっぽい人か環境が用意されている状態
基本的には独学ベースというか、自分で調べて自分で考えて進めていくことが重要です。
ただ、メンターっぽい人がいたり環境があると、大まかな方向性を示してもらえるので明らかにズレている場合に軌道修正してもらえるので、多少お金はかかってもやはり効率は向上する可能性が高いです。
他にも、メリットがあります。
- 自分1人だとモチベ的にきつくても、外部環境を上手に利用することでそこそこモチベも維持しやすい
- プログラミングの実務でのリアルな体験談とかも教えてもらえたりする
なんだかんだ言っても、先生というか、先駆者にいろんな知見や経験を教えてもらうのはプログラミングに限らず重要なことは否定できないです。
お金的な側面
独学のメリットとしては、お金がかからないってことだと思います。
ただこれが難しいところです。
コスパ的な側面で考えた場合、独学でもんもんとしてやるよりも、ある程度の価格範囲内ならお金を先に先行投資するほうが中長期的に見て安く効率よくすむ場合があるからです。
他にも、無料だと本気になれないかもしれませんが、お金を払うことで本気になれる場合もあるかもしれません。
ぼくは「独学+作業報告」って環境でプログラミングを勉強しました
やりたいことを決めたり何を勉強するかってのは全部自分で決めて、ググりながら勉強しました。
大学のゼミで毎週の作業報告会のようなものがあったので、それに報告作業だけ一応できる環境でした。
「今週はDjangoのAという部分を勉強して実装してみました」
みたいな感じで毎週淡々と報告だけをし続けていました。
作業報告会はあったけど、やっぱり6~8ヶ月目ぐらいには結構キツくなっていたというか、やる気もそうなんですがモチベ的な部分も含めて全体的に落ちてたなと振り返ってみると、思います。
「プログラミングつまんねー」
「プログラミングだりい」
「プログラミング疲れる」
↑ここらへんのことをいつもほざいてました。
やっぱり外部刺激があったほうが緊張感もあったりアメとムチ的な部分もあったりで、捗ると思います。
まとめ: 完全に独学はおすすめできないかも
基本は独学っぽい感じで主体的に勉強しつつ調べつつ、それをサポートしてくれる人か環境があるのがプログラミング学習だと最短だと思います。
他にも、プログラミング自体の学習以外の部分で、業界知識や実務の部分などを教えてもらえたりするのであれば独学よりもさらにメリットは大きいです。
どっちでも良いとか最初に書いておきつつ、やっぱり主体的な学習+メンターっぽい感じの人を用意するのはおすすめです。
ただ、取り組むのは自分なのでそこは注意が必要です。