【独学vs就職】プログラミング習得の最短ルートは?

はじめに

今回は、「独学と就職。プログラミングを習得し、より早く稼げるエンジニアになれるのはどっち?」というお話をします。

最初に結論から言ってしまうと、「就職した方が圧倒的に速い」というのが僕の考えです。

確かに、独学でもある程度のプログラミングスキルを身に付けることは可能ですし、独学だけで受託の案件を受けて生計を立てている方もいます。

しかしそれができるのは、一握りのセンスを持った人だけなんですよね。

その他大勢の人にとっては、まず企業に就職してしまう方が結果的に早く「稼げるエンジニア」になれる可能性が高いです。

実際に未経験からエンジニアとして就職をしてみて、よく分かりました。

なぜ、就職する方が最終的に早く稼げるようになるのか?(確かな実力を手に入れて、フリーランスとして独立/起業などしていけるのか)

その理由を僕なりに解説していきます。

「プログラミングなんて独学でもいけるんじゃないの?」と思っているあなたに、就職してスキルを磨くことのメリットが伝われば嬉しいです。

理由1. 半強制的に、自分の能力を超えた目標設定がされる

独学でスキル伸ばしづらい原因の一つに、「今の自分が出来る範囲のことばかりやってしまう」というのがあります。

人間は誰しも「コンフォートゾーン(居心地が良いと感じる領域/範囲)」というのを持っていて、潜在意識では常に「このゾーンから出たくない!」という現状維持のための強烈な力が働いています。

※この作用のことをホメオスタシス(恒常性維持機能)と呼びます。

これは、生命が危険を回避するための本能的・生理的な働きであって、全くゼロにすることはできません。

サボってしまっても誰にも文句を言われないような状況(=独学のような状況)にいると、 現状よりも少し背伸びをした目標を立て、実行することが「本能的に」難しいのです。

なぜなら、そうやってスキルを伸ばして成長していく事は「現状から離れる」ことであり、ホメオスタシスが働くからですね。

一方、就職をして開発現場でスキルを磨くとなったらどうでしょうか?

僕もそうでしたが、しっかり開発に携われる現場であればあるほど、「明らかに今の自分の能力を超えたタスク」を振られます。笑

つまり、強制的に「今のレベルよりも背伸びをした目標設定」がされるんですね。

これが重要。

ポケモンで例えるなら、独学でスキルが伸びない人はいつまでもコラッタ(Lv.2)を最初の草むらで倒してるわけです。

就職によってスキルをぐーんと伸ばしていく人は、今の自分のレベルが5だとしたら「Lv.50くらいの先輩と一緒に、Lv.30くらいの野生ポケモンを倒してる」という感じ。

先輩の力を上手く活用することで、一人ではまず勝てないような敵を倒し、大量の経験値をGETできるんですよ。

そしてその差はどんどん開いていく。

エンジニア転職する前の約半年間、僕は会社で働きながら独学でRubyやRailsを勉強していましたが、「転職後の半年間で得た経験値は独学時代の10倍くらい」という感覚です。誇張じゃなく。

目標設定が自分のスキルレベルをはるかに超えているので、

  • 必死でググる
  • 必死で考える
  • 必死で質問する

という事をせざるを得ないわけです。

これを1日10時間近くやるんだから、プログラミングなんてイヤでも身につきますねw

「今までの自分ではできなかったこと」を「できること」に変えていく日々は、当然新しいことの連続で、僕にとっては非常に楽しい時間でもありました。

と、こんな感じで(まともな開発ができる)企業に就職できれば、「自分の能力を超えた目標設定」が強制的にされてGood!というお話でした。

※ここでいう「まともな企業」が企業なのかという点については↓の記事で解説しています。

理由2. 質問に答えてくれるエンジニアが身近にいる

独学の場合、「コーディングで詰まった際、質問できる相手がいない」というのも一つの大きなデメリットになります。

エンジニアの友人などがいれば質問自体は可能ですが、 その方にもやるべき仕事があるわけで、 すばやく丁寧な回答を期待するのは難しいです。

その友人からしたら、あなたの質問に答える「必要性が低い」ので当然ですね。

一方で、就職して開発現場でスキルを磨く場合はどうでしょうか。

多くの場合、PM(プロダクトマネージャー)や先輩エンジニアは、経験の浅いあなたの質問にしっかり答えてくれます。

なぜなら、PMや先輩エンジニアにとって、あなたのスキル習得を助け、育てていくことはミッションの一つであり、「必要性がある」ことだからです。

僕たちからすれば、こんなに美味しいことはありません。

給料が低かったとしても、一時的に正社員として就職する大きなメリットがここにあります。

企業には、「あなたにスキルを身に付けさせるインセンティブ」が働くのです。

独学の場合はもちろん、フリーランスのエンジニアなどもこのインセンティブを利用することはまずできません。

(よっぽど会社に合わない人材であれば、育てるまでもなく契約を切ればいいので。)

あくまでも正社員(あるいは一部の派遣社員)が持つ特権なのです。

自分はこの特権をフルに活用して、独立のための土台となるスキルを積みまくっています。

会社という環境を上手く活用していきましょう。

理由3. フリーランス活動時や転職で評価されるのは、現場での開発経験

「独学でプログラミングを勉強し、自作のWeb アプリケーションをヒットさせる」というのは非常に夢のあることですし、これだけ技術がオープンになっている今の時代、全く不可能なことではないと思います。

ですが、「ヒットするサービスを作る」ことの再現性があまり高くないというのもまた事実ですよね。

いつまでもヒットを生み出せないまま、金銭的に困ってしまっては元も子もありません。

そこで僕が実践しているのが、「エンジニアとしての安定した高収入を軸としつつ、並行して個人ビジネスを展開する」という生き方です。

前半の「エンジニアとして安定した高収入を得る」ために、

  • フリーランスエンジニアとして独立(常駐/受託案件)
  • 高待遇の企業への転職

をオススメしているわけですね。

そして多くの場合、常駐や転職をする際に相手企業が見るポイントは「開発チームとしてきちんと仕事を進められるか」なのです。

つまり、「企業や組織の開発現場で仕事をしてきた経験」がどうしても必要になります。

いくら独学でプログラミングスキルを身につけても、チーム開発の経験が無ければ常駐案件にアサインされたり、高待遇の企業へ転職することは難しくなります。

その点、就職してスキルアップするルートを選べば、「チームでの開発経験」も同時にGETできてしまうのでお得ですよ!というわけですね。

最後に

いかがだったでしょうか。

僕の場合、「独学だけでスキルを身に付けるのは時間がかかる」と判断し、まず就職する道を選びました。

結果的にその判断は正解だったと思っています。

就職から半年も経たずに、「フリーランスとして来て欲しい」というお声がかかるくらいにはスキルを積むことができたからです。

「会社=毎月お金がもらえる塾」と捉えて、自分が行きたいゴールに最速で到達できる会社を選びましょう。

転職に関するもう少し具体的な話はこちらの記事を読んでみてください!

実際に僕が未経験からWebエンジニアへの転職を成功させた際に使ったエージェントについてお伝えしているので、かなり参考になるはずです。

という事で、今回は以上となります!

ここまでお読み頂きありがとうございました。