独学でプログラミングを学んでエンジニアに転職し、
収入を上げたいと考えていませんか?
独学であればほとんど費用はかからないので、
もしうまくエンジニアに転職できなくても損失が少なくて済みそうですよね。
費用があまりかからなければ、低いハードルで学習を始められる気がします。
ですが、費用を安くしたいからといって初学者が独学を始めてしまうと
学習がスムーズにいかなくて挫折してしまったり、
転職がうまくいかなくて結局時間を浪費してしまうことになってしまうんです。
最終的にエンジニアに転職できなければ
何のために独学をしたのかもわからなくなってしまいますよね。
この記事では、プログラミング未経験者の独学には限界がある理由と
どうすれば余計な時間をかけずにスムーズにエンジニアに転職できるのかを解説していきます。
この記事の目次
未経験者の独学には限界がある理由
結論からいうと、未経験者の独学の限界として、
- 学習の水準が分からず、学習量が不足しがち
- 学習のやり方を間違えやすい
- 学習の意欲が継続しない
- 業務を意識した実践的な学習までできない
- 学習をすすめるのに時間がかかる
があります。
これはどの分野にも言えることですが、初学者が独学を行うには
自分で学習に必要な情報を集め、
学習方法を確立し、
自分のモチベーションを維持し、
学習する環境を整え、
自分の学習状況を管理し、
根気よく学習を続けていく
必要があります。
つまり、ただ学びたい対象を学習する労力だけでなく、
情報収集や環境整備、学習管理などのマネジメント作業も
必要になってしまうんですね。
もし、独学に慣れているのであれば、それらのスキルも身についていて
スムーズに独学を進めていけるかもしれません。
ですが、たいていの人は学校、予備校、大学、職場など学習環境を与えられた上で
学習をすることが多かった人はこのような独学に必要なスキルがなく、
いざ独学を始めようと思っても、何から手をつければよいのか分からなかったり、
我流で効率の悪い学習を始めてしまうことがあります。
こうならないためには、単に費用がかからないからといって独学を始めるのではなく、
独学のデメリットも理解し、必要な方法を学習してから独学に取り組む必要があります。
あるいは、独学の限界を認識してそのような労力を回避できる別の方法を採った方が
結果的に効率的に学習を行えたり、挫折せずに目標に到達できます。
あくまでも独学でプログラミング学習することが目的なのではなく、
プログラミング学習してエンジニアに転職することが目的ですので、
そこのところが本末転倒にならないようにしましょう。
【独学の限界その1】学習の水準が分からず、学習量が不足しがち
プログラミング未経験者がまず独学を始める方法としては、
- 自分で書籍を選んで初めから読み進めていく
- Progateやドットインストールなどの学習サイトを活用する
- ネット上の役立ちそうな無料情報を閲覧する
などが考えられます。
Progateやドットインストールであれば無料で初められますし、
技術書での学習であればスクールに通うよりも安価で学習できます。
ネット上でプログラミング学習に関する情報を取得すれば、
独学や転職に役立ちそうな情報も見つけることができそうです。
ただ、プログラミング学習サイトの動画を一通り学習したからといって、
業務に必要な最低限の知識や技術を手に入れられるとは限りません。
自分で書籍を選ぶ場合は初学者向けの難易度が低いものを選んでしまいがちですので、
学習量や学習水準が低いままとなってしまい、いつまでも必要な知識・技術レベルに到達できません。
かといって、いきなり実践向けの難しい書籍に手をつけてしまうと、
内容が理解できずに時間がかかったり、うんざりして挫折してしまう恐れもあります。
難易度の低い書籍からより実践的な書籍へと順にステップアップしていけば問題なさそうですが、
それぞれの書籍を一から読み進め、内容やレベルが重複している部分も学習していくのは無駄ですし、
そもそもそれらの本をどのように選んでいくかも考える必要があります。
どのように学習対象を設定し、それをどの水準まで引き上げていくかを自分で判断していくには
実務に関する情報や独学の経験が少ない状態では非常に難しく、
転職できる技術水準まで到達できなかったり、余計な学習をして時間を無駄にしてしまうことがあります。
自分になりに学習を進めてみたものの、時間ばかり掛かって
結局文法や標準ライブラリ(必要な機能をまとめたモジュール)、
ツールの基本的な機能が使えるようになった程度で終わったしまうこともありえます。
このように、独学も効率的に進めていかないと
業務に必要な知識や技術水準に到達できるとは限らないのです。
【独学の限界その2】学習のやり方を間違えやすい
独学でプログラミング学習を進めていくと
業務に必要な技術水準に達しない可能性があるということをお話しましたが、
その他にも独学では学習のやり方を間違ってしまって、
業務に役に立たない知識や技術を学んでしまうことも考えられます。
エンジニア経験のない方が実務経験がない状態で書籍を選んでしまうと、
実際の業務では使わなかったり、役に立たないものを学習してしまうこともあります。
独学ですと誰も間違いを指摘してくれませんので、
疑問を持つことなく非効率だったり誤った方法で
学習を進めていってしまう可能性が高くなります。
そうすると、必要のない無駄な書籍を購入してしまったり、
学習する必要のないコンテンツまで学習して時間を浪費してしまいます。
また、書籍やプログラミング学習サイトで学習するというやり方自体が
エンジニアとしての実践的なプログラミングスキルを身に着けていく上で
非効率の学習方法となってしまうこともあります。
書籍やプログラミング学習サイトでは文法の説明をしてから
実際に同じようにコードを書いてみて動くか確かめてみるというコンテンツがありますが、
これは初めて触れる文法などを覚える分には特に問題はありません。
ですが、実際の業務では必要な文法やライブラリの機能を教えられてからプログラミングをするのではなく、
必要な機能を実現するためにどのような文法やライブラリが必要なのかを考え、実装していく必要があります。
つまり、機能を実装するという目的が先にあり、
それを実現するために文法やライブラリを活用するという流れになりますので、
書籍や動画サイトでの学習手順とは逆です。
もちろん、それらの書籍や学習サイトでも課題が用意されており、
機能をどのように実装するかという学習も行うこともできるのですが、
文法などの説明が先で、章の終わりなどに課題がある場合が多く、
その機能を使って実装することがわかりきっていることがほとんどです。
実際のプログラミングでは、そのように必要な文法やライブラリが事前にわかっていることはなく、
求められた要件や機能に応じて、自分で選択して実装していくことになります。
このように実践的な実装の技術を向上させていくには、
やはり実際にプロダクトをつくる経験を積むことが不可欠です。
小規模でもよいので、実際に何かしらのプロダクトをつくることで、
機能を実現するために文法やライブラリを選んで使えるようになりますし、
自分の技術ではまだ実装できない機能であれば
新しいコーディング方法を調べて実装していくという経験が得られます。
このように自分のプロダクトいくつかつくっていけば
どう開発を進めていけばよいのかをイメージできるようになり、
それらのプロダクトブラッシュアップして転職時のポートフォリオとすることもできます。
簡単なものでも構いませんので、早いうちから
自分なりのプロダクトを作成していくとよいでしょう。
【独学の限界その3】業務を意識した実践的な学習までできない
その1では独学では技術自体が業務レベルに到達できない可能性がある、
その2では学習の方向性を間違える可能性があるという話をしました。
その3はその1とかぶりますが、実務経験がないまま学習を進めても、
どのように業務を進めていくのかがわからないので、
実際の現場の中チームでプロダクトを開発していくスキルがほとんど身につかないというものです。
現場では言語の標準ライブラリの他に
サードパーティライブラリ(他の会社や開発者が開発したライブラリ)を
使って開発を行うことが多いため、そのようなライブラリの設定を行ったり、
管理したりする作業が発生することがあります。
また、エンジニアとして実務を行うには、一人で作業することはまれで、
たいていはチームで開発業務を進めていくことになります。
そのため、複数人のコードを管理するための「Git」などのバージョン管理ツールが使われます。
それらのツールを使ってコードを取ってきたり、自分の書いたコードをマージすることもあります。
メインのコードと自分のコードが混ざらないようにコードを分けておいたり、
自分のコードをレビューしてもらう手順なども覚える必要もあります。
そのような複数人が関わるツールの使い方を
独学でマスターしていくのは不可能でありませんが難しいです。
(場合によっては、どうしてこんなまどろっこしい方法で
コードを管理するのか?と疑問に思うこともあるでしょう。)
このような実務に関わるツールの使い方などは
実際に現場に入ってから覚えればよさそうに思えるかもしれませんが、
例えばGitに関してはたいていのモダンな現場であれば間違いなく使っていて、
使えないのは論外というレベルで浸透していますので、
事前にある程度使えるようになる必要があります。
さらに、コードは要件通りに動いていれば
どのように書いてもよいわけではありません。
当然他のエンジニアが読みやすく、
追加の機能があったときに改修しやすいように書く必要がありますが、
独学では第三者目線で自分のコードを読むことが非常に困難です。
他人に読まれることを意識できず、
独りよがりなコードを書いてしまうエンジニアは実際の現場にもいます。
実務経験がある程度あるエンジニアにとっても、
納期が近くてコードを十分に見直す時間がないなどで
万人が見やすく保守しやすいコードを書くことが難しい場合もあります。
そうなることを避けるため、ほとんどの場合にコードレビューが行われるのですが、
独学ではそうしたレビューを行う人がいないため、
コードをレビューしてもらって修正するという経験を積むことができません。
【独学の限界その4】学習の意欲が継続しづらい
独学では基本的に誰もあなたの学習をサポートしてくれません。
学習に行き詰まって挫折しそうになっても、誰かが励ましてくれたり、
やる気をかき立ててくれるように仕向けてくれるわけではないのです。
もし、トントン拍子に学習を進めて行ければ
モチベーションを維持するのは簡単かもしれませんが、
独学でそのように順調に学習を進めていくことは難しいです。
学習の意欲をかき立てて、モチベーションを維持するには、
- なるべくスムーズに学習をすすめる
- エンジニアになった自分の姿を強くイメージする
- プログラミングの楽しさをみつける
という工夫が必要です。
もし、学習がスムーズに進むようにすることができれば、
挫折する可能性は非常に低くなります。
また、エンジニアになった自分の姿を具体的に想像して、
そうなりたい強くイメージすることで、
挫折しそうになる気持ちを抑えることができます。
ですが、プログラミング学習のモチベーションを維持するのに
最も効果的な方法はプログラミング自体を楽しめるようになるというものです。
エンジニアに転職するための学習というと、
どうしても仕事を意識して完璧を目指さなければという
感覚に陥ってしまいます。
ですが、プログラミングとは本来自分の生活や
世の中をより良くしていくための道具に過ぎません。
今まで時間がかかっていた作業を自動化できれば空いた時間を他のことに使えますし、
それまで存在しなかった便利なプロダクトを世に送り出すことによって、
世界に新しい価値を提供することができます。
プログラミング学習に楽しみを見出だせていないのであれば、
プログラミングがもたらす価値をまだ実感できていないのでしょう。
そのような価値を実感するには、一旦プログラミングの学習を止めてでも、
自分が求めているプロダクトを実際につくってみるのがよいと思います。
プロダクトと聞くと大げさに捉えてしまうかもしれませんが、
販売や他人に使ってもらう目的のものという意味ではなく、
あくまでも自分の求める機能が実装されたプログラムの作成という意味です。
例えば、
- 動画サイトから動画をダウンロードするアプリ
- ツイッターからフォローしている人のツイートを取得するアプリ
- 株や為替のヒストリカル情報を取得するアプリ
など、自分が便利と思えれば何でも構いません。
自分以外の人間が使うわけではないので、
デザインは凝ったものにする必要はありません。
誰かがレビューしたり、そのコードを改修するわけではないので、
コードはきれいでなくても構いません。
重要なのは自分に必要なプロダクトをつくり、
実際に使ってみてその価値を享受するという経験です。
自分が役に立つと思えるプロダクトを自分の手で作ってみることにより、
プログラミングの価値を実感でき、その中に楽しみを見出すことができます。
プログラミングの中に楽しさを見出すことができれば
また別のプロダクトを開発したくなり、
その開発を通じて様々なスキルが身についていきます。
そのサイクルを繰り返すことによって、
自分の開発したプロダクトからより多くの価値を得ることができるのと同時に、
プログラミングの価値が自分の中で揺るがないものとなり、
特に努力を意識する必要もなくプログラミングにのめり込んで自然にスキルアップしていけるのです。
【独学の限界その5】学習をすすめるのに時間がかかる
初学者が独学でエンジニアとして転職できるレベルのプログラミングスキルを身につけるには、
①自分で学習に必要な情報を集める
②学習方法を確立する
③自分のモチベーションを維持する
④学習する環境を整える
⑤自分の学習状況を管理する
⑥根気よく学習を続ける
必要があります。
③、④、⑥は独学でなくても行う必要があるものですが、
①、②、⑤は直接的に技術力向上に役に立つわけではないにもかかわらず、
独学の場合は特に負担が大きくなることが考えられます。
また、実務について詳しくない初学者が独学で学習を進めようとすると
【独学の限界】その1から3で前述した通り、
実務に必要なレベルに到達するのに手間取ったり、
余計な学習をしてしまったり、
必要な学習ができていなかったりすることがあります。
実務に関する知識がない状態で、独学をするとなると
学習手順や方法を試行錯誤する必要があり、
学習がうまくいかなくて遠回りすることもあるでしょう。
そうすることで次第にイライラや焦りがつのって
モチベーションが下がることにより、
やる気がなくなって学習に時間を割かなくなってしまいます。
そのため、独学では学習時間が想定以上に掛かってしまい、
結局挫折してエンジニアへの転職をあきらめてしまうということになりかねません。
最短でエンジニアに転職する方法
やはり独学よりもスクールの方がオススメ
もし、それでも根気よく時間をかけて学習を続けていけば
いずれはエンジニアに転職できるレベルになれるかもしれません。
ですが、学習に時間がかかる分、エンジニアに転職していれば
得られた給料と現在の給料との差額が機会損失となります。
なるべく早くエンジニアに転職したいと考えている人にとって、
初期の費用負担を少なくするために
安易に独学で学習を始めるのは実はリスクが大きいのです。
特にエンジニアの市場価値に占める実務経験年数の比率は大きいため、
将来的にフリーランスエンジニアを目指している人にとっては
実務経験を積めない期間が発生することになり、目標到達が遅くなってしまいます。
それでは、学習に余計な時間と労力をかけずに
最短でエンジニアに転職するにはどうしたらよいのでしょうか?
それには、やはり必要以上に時間と労力がかかる独学ではなく、
最初からある程度の費用負担を覚悟してスクールに入り、
プロの指導を得ながら学習を進めた方が回り道をすることがなくなります。
TECH::EXPARTなら転職保証、全額返金保証してくれる
また、プログラミングスクールの中には、
「TECH::EXPART 転職コース」のように、
「転職できなければ全額返金」
という返金保証を設けているスクールもあります。
このように返金保証を行っているサービスでは
実際に転職してくれないと料金が発生しないので、
転職してもらえるようにサポートも充実しており
転職成功率は99%にもなります。
オンライン学習も可能ですが、教室での学習も行われているため、
教室に行けば学習もサボりにくくなり、
学習進捗の管理まで行ってくれるので、
学習を完了させられる可能性も高くなります。
すでに仕事をやめている場合は、平日メインの短期集中コースで
最短10週間でプロをエンジニアになることを目指しているため、
本気で学習プログラムに取り組めばかなり早くエンジニアに転職することも可能です。
現在就業中であっても、平日夜間と休日を利用し、
半年でプロのエンジニアになることを目指せます。
学習支援だけでなく、就職のサポートまでしてくれ、
最短でエンジニアに転職したいと思っている人にピッタリのサービスですが、
1つ問題があります。
それは教室が用意され、 全額返金保証にまで対応しているため、
費用が高いということです。
具体的には、短期集中コースで約60万円、
就業者向けの夜間休日コースで約80万円もします。
分割払いの手数料を合わせると、金額はもう少し増えます。
これだけ転職にコミットしているので責任も大きく、
それほどの金額にならざるを得ないのでしょう。
ですが、人手不足のソフトウェアエンジニア業界では実務経験を積むことで、
他の業界とは比べ物にならない速さで、昇給することは現実的に可能です。
エンジニアの実務経験を積めば、スクール代は簡単に回収できる
具体的には、実務経験を2年ほど積んでフリーランスエンジニアになれば
月単価60万円はザラです。
スキルの高いエンジニアだけがそのような単価になるのではなく、
標準的なエンジニアでその単価です。
また、フリーランスエンジニアとして更に実務経験を積んでいけば、
更なる単価増を期待することもできます。
実務未経験で転職して、実務経験を2年ほど積んだ後にフリーランスエンジニアに転向すれば
それだけの単価をもらえる職種というのは他には想像できません。
つまり、初期費用はかかりますが、プロのサポートを受けて短期に集中して取り組めば、
なるべく早くフリーランスエンジニアになって元手を回収することは十分可能です。
むしろ、より高単価も目指せるので、むしろ元手以上の価値を手に入れることができます。
現在株式投資やFXトレードを行っている人もいるかと思いますが、
自己投資によるリターンはそれらよりも再現性が高いです。
フリーランスエンジニアにならなくても、高い給料を出してくれる会社もありますので、
自分の人生を変える正念場だと思って、本気で取り組まれてはいかがでしょうか。
TECH::EXPARTに申し込むには?
ちなみに、前述のTECH::EXPARTの料金は24回の分割払いで支払うことも可能です。
平日メインの短期集中コースでは2回目以降は3万円、
夜間休日メインのコースでは税込4万円まで下げられます。
手数料負担も現実的ですので、
手持ち資金がなくてもスクールに参加することは可能です。
個人的には可能であれば、費用が安く短期間で転職できる
平日メインの短期集中コースをオススメします。
本来転職は転職先が決まってから辞めるのが鉄則なのですが、
TECH::EXPARTは転職成功率が99%であり、途中で挫折しなければほぼ転職は可能です。
つまり、生活資金に余裕があり、今の職場を一刻も早く変えたいと考えているのであれば、
先に職場をやめてしまって、プログラミング学習にコミットする方が効率的だったりします。
ただ、それぞれの生活状況には差があり、転職できないリスクもありますので、
一概に良い方法というわけでもありません。
費用は多少掛かってもいいからリスクをかけずにじっくり学習したいという場合は、
夜間休日メインのコースを選ばれるのが良いかと思います。
以上ここまで、未経験者の独学には限界がある理由と
最短でエンジニアに転職する方法を解説しました。
TECH::EXPARTで学習して転職してみたい方は以下のリンクから詳細を確認できます。
ちなみに同社のサービスでTECH::CAMPというものがあり、
そちらも教室とオンラインの両方で学習できますが、
転職保証はなく料金もそこそこしますので、
エンジニアへの転職をご希望の方はTECH::EXPARTの方をオススメします。
TECH::CAMPにご興味がある方は、以下のリンクから詳細を確認できます。