Contents
プログラミングの主な勉強方法は4つ
全く開発経験のない人がエンジニアを目指す勉強方法は主に4つあります。
- 独学をする
- 大学や専門学校で学ぶ
- スクールに通う
- インターンやアルバイトで開発する
の4種類が主流となっています。
それぞれの特徴とメリット、デメリットを比較しながら詳しく見ていきたいと思います。
プログラミングスクールの種類
- 高めの有料スクール
- 無料の就職支援つきスクール
- 職業訓練校
の3種類が主なスクールの形態です。
有料スクールのコスパは高い
有料のスクールはピンからキリまであり、当たり外れが大きいです。
非常に質が高いスクールも揃っており、自発的に工夫をしてカリキュラムをこなせば未経験からでも就職することは可能です。
大きく、教室に通うオフラインのスクールと、オンラインのスクールに別れます。
オンラインのスクールは全国どこでも受講できます。受講生の数が多いので口コミや評判が広まりやすく、質の低いスクールは自然と淘汰されます。
知人でもオンラインのスクールを卒業して就職を決めた者も多く、今のWeb業界で最も効率的かつ人気な学び方です。
有料のオンラインスクールは競争が激しいので、
- オリジナルアプリ開発の支援やレビュー
- 手厚い就職支援
- フリーランスの案件の紹介
- 個別の質問対応
- 卒業後も教材が閲覧可能
など魅力的なポイントがたくさんあります。
もちろん、提携会社への就職を強要されることもありません。
ただ、自分の周りの強いエンジニアでスクールに通っていた、という話はあまり聞きません。
インフラエンジニアを目指す第二新卒くらいの若さなら無料プログラミングスクールでも良いと思う。でもwebエンジニアになりたかったら有料のプログラミングスクールでしっかり実力を上げるべき。
— やべっち@webエンジニアブロガー (@yabecchi312) 2018年11月3日
誰が教えるかは絶対に見ておこう
講師の質もピンキリで現役バリバリのエンジニアもいれば、中年のエンジニアや業務未経験の学生もいます。
特に学生が教えているスクールは要注意だと強調しておきます。
彼らの多くはスクールの卒業生で、スクールを卒業した後に講師バイトでお金が貰えるシステムが成立しています。
当然深い知識や現場の経験もないので、教材から大きく外れた内容やキャリアの相談に有益な回答を返すことは困難です。
スクールを卒業した後に、講師をやることもオススメはしません。
教えることでスキルが身につくという言葉に騙されてはいけません。教えるスキルは身につくだけで、肝心のエンジニアスキルは初歩の初歩レベルを永久にループしてしまいます。
目先の金を稼ぐくらいなら技術を経験を積んで、高単価を貰えるように努力を重ねましょう。
無料のスクールでリスクを取るか
無料、もしくはそれに近い超安価でプログラミングを学べるスクールも多く存在します。
「タダでプログラミングが学べるなんて最高」と考えるかもしれませんが、どこからお金が出ているかを考えてみましょう。
受講料を肩代わりし、支援をしているのはエンジニアが足りないIT企業です。
「就職を斡旋する」と言えば聞こえはいいですが、提携している企業への就職が義務付けられて、選択権がないことは覚悟した方が良いでしょう。
そうした企業はとにかく人手が欲しいブラック企業で、SESの契約で薄給で働く運命を辿る可能性が高いのです。
ブラック企業を踏み台にするのも良い手段ですが、大半の場合はそもそも低レベルな仕事しかできず踏み台にできません。
一度SESに入ってしまうと、努力ではどうにもならない要素が圧倒的に増えます。
努力によって自分の道を切り開きたい人にはオススメはしないやり方です。
逆に考えると、最低限の技術を教えなければスクール側は斡旋できないことになるので、カリキュラムも教育もそれなりに熱心です。
無料のプログラミングスクールって受講修了後にその会社やその会社が斡旋する会社に就職しない場合は受講料が有料になったりもするようですね。そうすると就職先が自分の判断では選びにくくかなり不利な状態に。たとえブラック企業であっても就職せざるを得なくなるわけですね。これはエグいですね。
— 米村歩@日本一残業の少ないIT企業社長 (@yonemura2006) 2017年9月20日
職業訓練校は最後の手段
都道府県や市町村が設置している、失業者の再就職を支援するための公的な専門学校です。
再就職者への支援が目的なので、失業保険目当ての受講者も多く、運が悪いとモチベーションの低い受講生に足を引っ張られます。
ITエンジニア系の職業訓練校の就職率は4割から7割です。就職者の中には当然、エンジニア以外の職種やアルバイトも含まれます。
公式なデータはありませんが、現場の声では実際にエンジニアとして就職できているのは1割程度という見方もあります。
民間企業にカリキュラムを委託している以上当たり外れは大きく、就職率や評判の下調べは必須です。
概して講師の年齢が高く、
「エンジニアといえばSEっしょ」
みたいな考え方が主流なので、最新の技術を触ったりオリジナルアプリを作りたいなら、独学をするしかありません。
独学は試してみるのもアリ
- 本を読む
- Webサービスを使って勉強
- 写経してサンプルアプリを作る
- 上級者のコードを読み込む
- 独自のサービスを作る
などがプログラミングを独学する方法です。
あのホリエモンは本を写経して覚えたそうですが、よほど天才でない限り初心者は挫折します。
最初に手を出すべきは安価で学べるWebサービスです。
特に動画による講義は、いつでもどこでも何度でも見ることができ、初期段階の効率を重視する人にはピッタリでしょう。
Progateやドットインストールなどの安価なWebサービスが乱立しているので質の良いものを選べば一定レベルには達します。
ここから実務レベルに達するには、初心者向けの技術書を読んだり、アプリを作る必要はあり、ここで挫折する人が出てきます。
独学をしていい人といけない人
「プログラミングは難しいし独学はほぼ挫折する」
「スクールに行った方が何倍も効率はいい」
という意見が一般的ですが、少し違和感を感じています。(スクールの紹介料が欲しい人が言っている場合が多い)
独学が難しいのは、プログラミングを学ぶ環境が整っていないからでも、プログラミングが難しいからでもありません。
独学には明確な意思と一定レベルの要領が必要だからです。
プログラミングに限らず、何かを独学で学び切り、
- 自分の頭のスペック
- モチベーションの保ち方
- ググる方法
を理解していれば、独学も十分に可能です。
独学にお金がほとんどかからないので、短期間の間一度試してみることを勧めます。
エンジニアになったら、新しい技術を独学で身につける必要は出てきますし、スクールや実務でわからないところは自分で学ぶ必要があります。
そういう意味で企業が求めているのは
「勝手に学んで勝手に成長してくれる人材」
です。
ちなみに自分もプログラミングを始めてから一年以上はほぼ独学を続けて、内定に至りました。
逆に以下に当てはある人は何も考えずすぐにスクールに行きましょう。
- 自制心がない人
- 長期間独学をした経験がない人
- 意思が弱い人
楽しさがわかってきた段階で徐々に自分で学ぶことも忘れずに。
インターンやアルバイトで実務経験を積む
最近は東京を中心に有給のエンジニアのインターンが増えてきています。
- お金が貰える
- チーム開発の経験が詰める
- 業務で使われるコードが読める
という利点があります。
最近では大学を休学してインターンをするケースも増えてきました。
インターンの面接に行くと休学を勧められた経験が何回もあります。
最初の1ヶ月は無給で働いて、2ヶ月目から給料が出るというパターンも結構あるので、全くの未経験でも道がないわけではありません。
ただ、未経験だけど学びたいという学生はかなり多いので、その中から選ばれる理由は必要です。
未経験者だとフルコミット(週40時間労働)に近い形態を求められ、学業との両立が大変です。
ブラックでスキルも身につかないインターンがよく批判されていますが、それは辞められない学生にも責任があります。
正社員でもないので、嫌ならすぐ辞めて次を当たればいいですし、一定レベルのスキルがあれば東京なら選び放題です。
自分の触りたい技術に合わせて、会社を選びましょう。
ただし、都会でないとインターンやアルバイトの選択肢はほぼないのが注意点です。
専門学校か大学で学ぶ
プログラミングを学ぶためにわざわざ大学や専門学校へ行くのは遠回りでしょう。
4つのやり方の中で最も時間とお金がかかる代わりに、学位が得られます。
基本的にWebエンジニアを想定した内容は少なく、情報科でもC言語やJavaなどシェアが縮小している言語をゆっくりしたペースで学ぶので効率はよくありません。
情報科であっても手を動かしてプログラムを組む講義は週に3時間ということもあります。
何をやっているかというと、ハードウェアやコンピュータの動く仕組みやアルゴリズムを幅広く学びます。必ずしも実践的ではありません。
公的な組織である以上、教えた内容が流行によって廃れてしまうリスクには敏感です。なので最新の技術やフレームワークは自学が必要です。
情報科を出て即戦力でWebエンジニアになった人も、大学に頼りきりではなく、インターンや趣味で開発経験を積んでいます。
1,2年でガンガン成長して即戦力になってやるという考えの人には向きませんし、一度社会に出た人がWebエンジニアになるために大学で学び直すのは、あまりに時間の無駄です。
しかし、機械学習をじっくり学んだり、コンピューターサイエンスを体系的に学ぶ手段は大学しかありません。
短期的な技術の流行に左右されずに、長い目で見た基礎を作りたい人にはオススメできます。
まとめ 最も効率的な手段は何なのか
Webエンジニアに短期間でなりたいと考えるならば
- 最初の1ヶ月はWebサービスで勉強しスクールの情報を集める
- 有料のスクールに通って、空いた時間は書きまくる
- 学生ならスクール卒業後長期インターンをする
- しっかりと準備をして就活をする
というのが最も効率的です。
これからプログラミング始める人のオススメ勉強法
1. とりあえずprogateやドットインストールを触ってみる
2. プログラミングスクールの無料体験に行って勉強の方向性を相談
3. 通うor独学
4. オリジナルアプリを作る大事なのは2で勉強の方向性をしっかりと決めること
— プログラミングスクールの中の人 (@tech_study_prog) 2018年10月27日
インターンで働けるレベルになったら、各地で開催される勉強会や技術者のイベントに出るのも立派な勉強になりますし、クラウドソーシングで案件を受注するという方法もあります。
目先のお金にとらわれず、長期的に見て効率的と思える判断を心がけましょう。
[…] もっと詳しく勉強方法を知りたい方はこちらの記事も参考に […]