未経験からプログラミングを学ぶための方法を徹底比較

      2018/01/02

いまの時代、プログラマという仕事ほどインスタントに高収入を目指せる職業は存在しないと考えています。

未経験の言語での参加にも関わらず、最初から残業なしで手取り30万円を得られた経験を以って、そのことを強く実感しました。

で、最近はプログラマ・エンジニアのこういった稼げる側面に気づいて、プログラマになりたいと考える人多くなってきました。

が、実際にどのような手順を踏んでプログラミングを学習して、プログラマになればいいか分からない人も同様に多いようです。

  • 勉強方法によっては遠回りになりかねない
  • 働きながら勉強が続くか不安
  • かといって辞めてから勉強するのも勇気がいる

といった理由から最初の一歩が踏み出しにくいのが原因でしょう。

特に全くIT知識がない状況ともなればなおさらです。

そこで今回は、そのようにプログラマになりたいけど具体的に取るべき行動を迷っているという人に向けて、未経験からプログラミングを学ぶため手段を、それぞれのメリットデメリットを解説しながら紹介していこうと思います。

目次

はじめに

とりあえずプログラミングスクールに通えばいいだろう、と軽率に判断することは辞めておきましょう。

プログラミング初心者向けのブログ記事ではプログラミングスクールをオススメされていることが多いですが、必ずしもスクールに通うことが最適解になるとは限りません。

なぜなら、現状ほとんどのプログラミングスクールが習い事という枠から抜け出せていないからです。

現場に求められるのは、様々な状況ごとの問題解決能力であり、調べればわかるような机上の知識を暗記しているということではありません。

自分の知り合いにプログラミングスクールの中で働いているエンジニアがいるのですが、かなりの割合のスクールで講師を勤めているのは現場経験の薄い人です。

なぜかというと、実務で必要な知識・経験を持っているようなエンジニアはスクールの講師なんかやるよりも、実際の現場に参加したほうが稼げるから。

ベンチャー・スタートアップ企業が多いプログラミングスクール界隈では講師の報酬に、プロジェクトに参加する以上の額を出せていないことが多いそうです。

そのため、確かにまとまった知識を教えることは可能だが、実際に現場でどのような知識と行動が必要かという、業務に沿った教育を施すことができているスクールは限られてきます。

思考停止ダメゼッタイ

こういった理由から「とりあえずスクールにお金払って通おう」という思考停止の判断は避けることが賢明です。

基本的な文法やライブラリの使い方などを把握していることはプラスにはなりますが、かといってプログラミングスクールに通えば即戦力として現場に参加できるという認識は改めておいた方が良いでしょう。

もちろん貴方の現在のライフスタイルや学習意欲によってはベストの選択肢となり得ることはありますが、一度自分で考えた上で、他の選択肢よりも効果的な手段であると判断した上で決めるようにしましょう。

未経験からプログラミングを学ぶ方法

では前置きが長くなりましたが、本題の未経験からプログラミングを学ぶ方法についてお話していきます。

独学でプログラミングを学ぶ

最も基本的かつ経済的な手段が独学でプログラミングを学ぶということです。

全く知識のない状態から1人で学習を始めるというのは非常に大変であることは違いありません。

しかし現在はネット上に初心者向けのブログ記事や、わかりやすく基礎から説明している書籍がたくさん存在しています。

Progateドットインストールなど一部無料で使える優秀な教材もありますし、teratailなどのエンジニア向け質問サイトで問題解決のためのアドバイスをもらうことも可能です。

そのため、強い意欲と確かな目標があれば、自分の力のみでプログラマを目指すということは決して不可能なことではありません。

僕自身、面談先でプログラミングスクールに通うことを勧められましたが、自分で学習を進め、完全未経験であるRubyのWeb開発案件に参加することができました。

独学でプログラミングを学ぶことのメリット

コストを非常に安く抑えられる。

当然といえば当然ですが、独学の場合費用は最低限に抑えることが可能です。

必要に応じてプログラミングの教則本などを購入したり、オンライン教材の有料コースに申し込んだりしたさいに少額の費用が発生するくらいで、大きな出費を抑えることができます。

問題解決能力を鍛えることができる

自分でわからない部分をインターネット検索で調べたり、トライアンドエラーを繰り返す中で、問題を自分の力で解決するという技術を鍛えることができます。この問題解決能力は現場で最も求められる能力ですので、面接の際にも、効果的なアピールポイントとして用いることができます。

独学でプログラミングを学ぶことのデメリット

継続することの難しさ

独学の場合、もし勉強をサボっても咎めたりする人が存在しません。

そのため、意思や熱意が足りない場合、ちょっと難しいエラーなどでつまずいたり、本職が忙しくなったタイミングに学習を辞めてしまうという可能性があります。

就業の難しさ

プログラマになるために学習を終えると、次の行動はもちろんプログラマとしての就業先を探すことになります。

この時、完全に未経験の場合、最初からバリバリの開発現場に参加することは難しいケースが多いです。

ただしベンチャーやスタートアップなどの若い企業では熱意や技術への関心を採用のポイントにしているケースもありますので、アピールを的確に行うことで、スムーズな就業を図ることも可能です。

とはいえ、学習と案件探しをそれぞれ自分1人でアピールなどを考えつつ、行わなければならないというのはやはりデメリットと言えます。

独学でプログラミングを学ぶ時のポイント

とにかく目的意識を持って、継続することが何よりのポイントです。適切な情報を手に入れるための根気や、稼ぐための強い欲求を常に燃やし続ける必要があります。

学ぶ対象のプログラミング言語の勉強会に参加するなどして、知識とモチベーションを同時に高めるなどといった行動も有効でしょう。

就業のための面談の際は、目に見える成果物を作ってアピール要素とすることも効果的なアプローチです。

今やサーバーに自分の作ったサービスを公開するための体系的な手順もインターネット上で簡単に見つけることができます。他の独学プログラマと違うということをがっつりアピールしましょう。

プログラマの友人/知人に教えてもらう

この方法も独学に近いアプローチではありますが、費用を抑えつつプログラマを目指す有効な手段となりえるため、紹介させていただきます。

  • まず友達にプログラマがいたらご飯おごるからたまに教えてくれないかとお願いしてみる
  • またはIT関係の企業に勤めている友人にプログラマの知人を紹介してもらう
  • あるいはSNSやオンラインのコミュニティ上で知り合ったプログラマに教えてもらう

などがあります。

そんな慈善事業みたいな話に乗ってくれる人がいるのか・・・と思うかも知れませんが、プログラマ・エンジニアって結構人に教えたいと考えている人が多いのです。

単純に役に立つことが嬉しいと考える人もいるし、人に教えることで自分の理解が深まることを多くのプログラマは感じているからです。

場合によってはある程度の報酬を払うことも念頭においたとしても、プログラミングスクール以上の出費となる可能性は低いでしょう。

教育を依頼したり、相手を探すために行動するという労力は必要となりますが、本気でエンジニアを目指すのならば、完全独学よりも近道となるケースが多いです。

友人/知人から教えてもらうことのメリット

現場で働いている人から実際の業務ベースの知識を得られる

独学ではもちろん知り得ることは難しく、スクールでも教えてもらえないような生きた知識やテクニックを得ることができる可能性があります。

必ずしも、付きっきりで教えてもらう必要はなく、わからないところや不安なところについて、質問を投げさせてもらうというだけでも、かなり効果が違ってきます。

仕事探しでも恩恵を得られる可能性もあり

就業先を探して、面談をしている時にも完全独学であるというよりも、実際のプログラマに教わっていたという経験はプラスに働くでしょう。

またそのプログラマに業界での繋がりがあれば、初心者を受け入れてくれるような現場についての情報を得られる可能性もあります。

友人/知人から教えてもらうことのデメリット

教えてくれる相手を探すのに労力が必要

何より教えてもらえるような縁を見つけることに必要な労力が大きいです。

運よく身近にプログラマが見つかれば苦労しませんが、そうでないケースがほとんどでしょう。

あとはその教えてくれる人が忙しくなった時に学習が中断となってしまうこと。そういった際は独学に切り替えて手を止めないようにするという注意が必要となります。

友人/知人から教えてもらう際のポイント

まずは教えてくれる存在を見つけることがポイントになります。

見つかりさえすれば、独学と同様に強い意志と目的意識、そして何よりも教えてくれる人への敬意を持ち続ければ、独学で続けるよいも早く、質の良い知識を身につけることができます。

どうしても自分の知り合える範囲にプログラマが見つからない場合は、オンラインのコミュニティや勉強会に顔を出してみることも検討してみましょう。

未経験OKの企業に正社員として入社する

このブログでは常々エンジニアの正社員としての働き方を批判していますが、こと初学者にとって正社員入社は有力な選択肢となりえます。

効率よく稼げるような業務委託や派遣経由の参加ではどうしても即戦力を求められる傾向が強いです。

しかし意欲のある中途社員を求めているような企業では、未経験プログラマにも窓口を開いているところがいくつかあります。

そういった企業に入社すれば、実務経験を積みながらプログラマとしてのキャリアを積むことができます。

正社員入社のメリット

実務経験を積むことができる

プログラマにとって最高の教材である実務に触れることができるのが一番のメリットです。

給与が発生する

また平均的な給与を受け取りつつ学習を受けられるというのは一石二鳥であると言えます。お金をもらいながら勉強できるとかすごいお得です。

正社員入社のデメリット

触る技術を選べない

正社員で入社した場合、必ずしも自分の希望する仕事ができるとは限りません。

完全に自社開発オンリーで、そこで扱っている技術目当てで入社したのなら問題ありませんが、とりあえずプログラマ募集しているから・・・と入社した場合、古くて役に立つ知識の得られそうにないシステムの保守や、テストしかやらせてもらえない現場に放り込まれる可能性も捨てきれません。

ハズレ企業を引いた時のダメージが大きい

またその会社がやりがい搾取系ブラック企業だった場合、自分の勉強も進められず消耗するという最悪のケースも考えられます。

完全初心者の場合、どうしても経験者が探すよりも受け入れ先は少なってしまうため、こういったハズレを引く可能性もあるということを念頭に置いてお来ましょう。

正社員入社のポイント

デメリットのところでも語った通り、どの企業を選ぶかでの落差が激しく、もっともギャンブル要素が高いと言えます。

もし良い企業につくことができれば得られる知識・経験の質、スピードはダントツです。自信のアピールに長けており、自分の目的に合う企業をしっかりと見抜ける自信があるのならば選ぶ価値アリです。

プログラミングスクールに通う

この記事の冒頭でまっさきに選択することをオススメしない、と書きましたが、しっかりと考えた末に選択する対象として有力であることに違いはありません。

今プログラミングスクールという業界は非常に熱狂的な盛り上がりを見せており、有用なカリキュラム就業サポートを提供するために切磋琢磨し合っている状態です。

適切なスクールを選択し、モチベーションを維持して取り組めば、少ない労力とリスクで、効率的に必要な知識を身につけることが可能です。

プログラミングスクールに通うことのメリット

継続しやすい環境が用意される

まずスクールに通うとなるとしっかりと予定を組んで学習を進めることが前提になるので、途中で辞めてしまったり、サボってしまう可能性が少なくなります。まとまった料金を払う必要のあるスクールを選択した場合はなおさらです。

独学や知人に教わって学習を進める場合に比べて義務に近い感覚が背中を押してくれるわけです。

質の高い就職サポートを受けられる

更に就業支援を行なっているスクールも増えているので、カリキュラムを完了したのちのそのままスムーズにプログラマとして働き始めることもかなり簡単になっています。

プログラミングスクールに通うことのデメリット

高い費用がかかる

何はともあれお金がかかることです。サービスによっては月10万以上必要になるケースもあります。背水の陣に自分を追い込むという意味でメリットとして捉えることもできますが、勇気のいる出費であることには違いありません。

クオリティにムラがある

また講師の質によって学習効率が変わってくることも気に留めておく必要があります。

教えてくれるのは当然人間であるわけですから、深い知識のある人・浅い知識しか持たない人、教えるのが上手い人・下手な人などのムラがあるわけです。

同じ料金を払っているのに効果が変わるという事実を受け入れることが必要です。基本的には受動的になりすぎず、積極的姿勢で学習に取り組むことでこのムラを薄めることに繋がります。

プログラミングスクールに通うことのポイント

スクールを選ぶ際には以下の条件を満たすサービスを選択することをオススメします。

  • 学習後の就業サポートを実施している
  • 業務における作業に近い学習カリキュラムを組んでいる
  • 業務経験の豊富なエンジニアが教育に関わっている

せっかく高い料金を払ってスクールに通うのであれば、得られるものは多いに越したことはありません。

得られるものというのは知識だけではなく、就業のチャンスも含んでいます。

また、ここまで業務経験の重要さについては何度か語ってきましたが、最近では業務フローに沿った教育を行い、即戦力として卒業させることをゴールに定めているサービスも増えてきています。

なかなか実体験などを見つけることは難しいジャンルではありますが、できる限り自分で調べ尽くした上で、自分にとって費用対効果の高いスクールを選択するようにしましょう。

個人的に上で述べた必須条件を高いレベルで実現しているWebCamp Proなどは実際に話を聞いてみる価値ありだと考えています。就職できなかったら全額返金とかどれだけ自信あるんだ、って感じです。

当ブログでは他にも低価格・または無料のプログラミング/エンジニアスクールに関する調査記事を書いておりますので、「自分にはプログラミングスクールで学習するのが向いてそう」という方は参考にしてみてください。

エンジニアといえば今や最も少ない投資で高収入を望め、更には週3勤務やリモートワークなどの柔軟な働き方も目指せる夢のある職業です。 ここ最近は営業職や事務職から、将来性を考えてエン
こんにちは、現役エンジニアのてぃすです。 最近、 どうすればエンジニアになれるのかエンジニアになるためにどんな勉強をしたの? といった質問を受けることが多くなってきました。

まとめ

身もふたもないことを言えば、未経験からプログラマになるためには本人の熱意以上に結果を左右するものはありません。

それぞれの方法で一長一短ありますが、メリット、デメリットを見比べてみて、自分の取るべき適切な行動を選択した上で強い意思を持って学習に取り組んでいきましょう。

みなさまが稼げるプログラマになることを祈っております。

 - エンジニア入門