プログラミングの独学を無理してやるべきではない理由

プログラミングを勉強してきて思うのは、
完全な独学は無理して続けるものではなく、
教材であれ、メンターであれ、自分以外の何かを
頼った方がいいということです。

私は本格的に勉強を始めた段階で
即スクールに入り、エンジニアの集まる
シェアハウスに引っ越すことにしましたが、

仮に、自分がもし独学でずっとやる場合と
比較した場合の、独学の大変さについてお話します。

勉強の効率が悪い

プログラミングは、勉強する対象が、
言語の種類が多いだけではなく、一つ一つの言語も
どれくらい深くまで勉強するかが全くの自由の為、
満遍なくやるほど、目的を果たす為の勉強よりも
大きく遠回りになります。

分かりやすく言うと、ドラクエのボスを倒す場合、
その倒そうとしているボスが全然魔法が効かない場合、
強力な呪文をいくら覚えても、目的が果たせません。

仮に、ラリホーさえ唱えれば100%勝てる敵の場合、
20個も30個も魔法を覚える労力と時間を費やしても、
最終的に得られる結果は同じだからです。

世の中のエンジニア市場に置き換えても、

・初級者向けのスキル
・サーバー周りのバックエンドスキル
・ブラウザに表示するフロントエンドスキル

など、色々な得意分野を持つエンジニアがいます。

しかし、その時々によって、需要と供給が変わるので、
勉強する内容や言語も、時流や流行りに合わせて学ぶ内容を
チューニングする必要が出てきます。

この辺りの判断は、未経験者の時点では絶対に無理なので、
効率を求める場合、現役で実務を経験している人による
直接指導、もしくはカリキュラムが必要になります。

勉強するだけなら誰でもできる

エンジニアを目指す人は、今も今後も沢山います。
そして、勉強するだけであれば、誰でも出来ます。

中には、やる気が非常に高い人も、
要領や頭が良く、勉強が得意な人もいるでしょう。

そういった人と戦って自分が勝つ為には、
根性論や時間の確保だけではなく、
何を学ぶかという点が一番の差別化になります。

実際に実務が始まってからも、
20代後半や30代以降からこの世界に入る人は、
技術一本で真正面から勝負した場合、20歳や22歳から
この世界で5年10年経験を積んでいる人には勝てません。

だからこそ皆、自分の過去の経験やスキルを生かしたり、
戦略を練り、皆が目を付けていない椅子を取りに行くなど
競争の無い有利な環境で戦う為の工夫をしています。

その点、スクールは、カリキュラムを消化する以外にも、
講師やメンターを徹底的に使い倒す、講義の内容から
更に踏み込むなど、その差別化をするための
足掛かりとなるポイントがたくさんあります。

知識のある人が必ずしも稼いでいる訳ではない

エンジニアが求めるものは、収入だけではありません。
新しい技術を学びたい、快適な環境で働きたい、
最高にワクワクするプロダクトを作りたいなど、
お金以外を優先して職場や仕事を選ぶ人も、当然います。

ですが、未経験でエンジニアを始めるた人で
お金を最優先に考える場合、独学だと上記のような技術者、
SESやSlerに未経験者を送り込むことを生業とする人達の声を
素直に聞いていると、目的を果たせない可能性が出てきます。

そんな時、独学の場合、エンジニア業界の全体像が分からず、
そういった俯瞰した視点で自分の仕事を捉えるのが難しい為、
大事なところで、選択を誤ってしまうリスクがあります。

実務経験が積める環境に入らないと追い付けない

スクールはあくまでも勉強の加速装置である為、
仮に独学だったとしても、やるべきことをやっていれば
ここ最近でも、多くの人が未経験からエンジニアになっています。

しかし、仮に「就職できた」
「フリーランスになれた」という同じ結果になっても、

それが半年後か、一年後かでは雲泥の差です。

まず単純に、早く就職や仕事まで漕ぎ着ければ、
その数か月間、収入が入ってくるので、金回りが良くなります。

そして何より、スクールに入ろうが独学で勉強しようが
実際に会社の中で実務経験を積みながら学べることの量と質には
絶対に敵わない、と体験談を語る方がほとんどだということ。

だったら、短期間で一気にやってしまい、
スクール代はその早く就職できた分の給料で
相殺してしまえばいいのです。

個人的には、会社を辞めてでも時間を確保し、
スクールでがっつり短期集中で学ぶことを推奨します。

人は自分の為だけに頑張れない

フリーランスは皆、命を懸けている

私が4年ほど前、デザインを教えてもらっていた
フリーランスの方がいますが、
「仕事が上手くいかなかったら、その時点で自殺をする」
という覚悟を持ってビジネスを始めており、
それ位の気持ちが無ければ、自分で商売をすることは
絶対にうまくいかない、ということを話していました。

エンジニアの就職も、失敗して命を取られることはありませんが
失業者の場合、就職できないことは、社会的な死を意味します。

ですが、自分一人の意志で命を懸けるほどに
自分を追い込める人ばかりではありません。

私も正直、就職できなかったら腹を切って死ぬという覚悟で
これまでの仕事に臨んでいたかと言うと、嘘になります。
自分の命を懸ける覚悟はありませんでした。

そういう人は、家族や恋人、大切な人に
自分の意志を打ち明けたり、同じ目標を持つ人達と
SNSや勉強会、生活の場を共にするなど圧をかけた方がいいです。

運営会社やスクールの形態にもよりますが、
スクールに通うことは、その為の手段に十分なり得ます。

環境が整えば、嫌でも勉強する事になるから

職業人は、月最低160時間コードを書いている

プログラミングの勉強をしている人達は、毎日就業時間中、
ずっとコードに携わっています。

コードを直接書いている時間、コードを読んでいる時間、
設計している時間などが、働く時間の多くを占めます。

つまり、それ以上のペースや密度で勉強をしない限り、
今現役で働いている人には、追い付けないということです。

独学で半年一年、自分のペースで勉強するのは
趣味レベルや業務に必要な知識の一環ならばともかく、
仕事にするならば一気にやらないと、差は開く一方です。

仕事をしている人達は、毎日競争競争と
息巻いている人が全員ではないと思うのですが、
それでも、日常的にコードに触れているというのは大きい。

そういう人達の背中を自分が追いかける手段と捉えて、
独学で十分なのか、投資をするのか、考えましょう。

エンジニアシェアハウス

実際に入居した事が無いので、良し悪しは分かりませんが
エンジニアとのパイプを作る上では、有力な手段かと思います。

特に30を超えると、正面突破の就活は難易度が一気に上がります。
広げられる人脈、使える手段はどんな手でも使いましょう。

まとめ

最低でも、教材だけには投資をしよう

私は直接指導のスクールには通ったことはありませんが、
有料の教材だけでも、勉強の効率は確実に上がります。

正確には、完全な独学でやってきたことは無いのですが、恐らく
教材が無ければ、相当な遠回りをしてると現時点でも思うのです。

HTMLも、PHPも、Javaも、極めようと思えば
分厚い技術書を買って、毎日30ページずつ1ヶ月延々と勉強すれば
恐らく、非常に手厚い基礎の力が身に付くでしょう。

しかし、未経験の人がプログラミングを学ぶ際は、
勉強をする本来の目的を忘れてはいけません。

「就職/転職面接を突破する」
もしくは
「直接サービスや技術料を売って金を稼ぐ」

これらを最優先するのならば、
一つの言語を徹底的に極めている暇はありません。

一刻も早くポートフォリオを作り、
WEBサービスを作って載せ、
会うべき人や会社を訪問しまくる方が先です。

まともなスクールや教材なら、
その為の最短の道をしっかり示してくれます。

技術を完全に修得するための活動は、その後でも出来ます。

だから、よほどの自信がある人以外は
独学を無理して続けたり、独学にこだわるのはやめて、
ここぞという場面で、しっかり投資をしましょう。