「プログラミングスクールは高いなあ」
「独学でなんとかならないかな?」
今回はこんな方に向けてプログラミングを独学してエンジニア転職する方法についてまとめました。
「IT業界へエンジニア転職したら年収100万円UPした!」
「自由な働き方ができる!」
「社会的に需要のある仕事!」
転職情報のサイトを見ているとこのような情報がよく記載されているかと思います。エンジニアのステータスは魅力的ですよね。
専門的な知識や技術が必要なためスクールに通って必要なスキルを網羅的に学ぶのがベストですが、独学でも一人前のエンジニアになる事は可能です。
どんな方法があるのかご紹介したいと思います。
目次
プログラミングを独学で勉強する方法
独学の最大の敵は自分の怠惰で弱い心です。
やり切る人はどうしているかと言うと「やらざるを得ない環境」を作って、自分で自分を追い込むようなことをしています。
今日は気分が乗らないなあ
仕事終わりで疲れてるんだよね
このような言い分が効かない、どうしてもやらざるを得ない環境が大事です。
仕事はやるのに、勉強になるとやらないのは何故でしょうか?
答えは外部からのプレッシャーやノルマがないからですね。やらなくても評価は下がりませんし、怒られたりもしません。
なにごとも仕事にすると上達するのって「やらざるを得ない環境に身を置いているから」ですね。
プログラミング学習も「やらざるを得ない環境作り」が大事になります。
今はスクール学習がおすすめ
事前にお伝えしておくと今ならプログラミングスクールに通ってエンジニア転職することをオススメします。
理由は転職保証付きのスクール、転職できたら全額キャッシュバックするスクールが増えてきたからです。
あとはちょっと昔と比べてスクールのサービスの質が劇的に上がっているというのも1つの理由です(競合が増えて競争原理が働いたからですね)。
転職保証ならTECH CAMPまたはDMM WEBCAMPがオススメです。短期でエンジニア転職するためのスクールです。よい感じにプレッシャーをかけてくれます。
無料でエンジニア転職したい場合は侍エンジニア塾がオススメです。転職コースは実質無料で受講できます。
本気でキャリアチェンジを考えているなら無理せずスクールを利用しましょう。
【関連記事】
-
テックキャンプとDMM WEBCAMPの比較|主な違いは3つ
テックキャンプとDMM WEBCAMPは転職保証が最大の特徴のプログラミングスクールです。 ただ、どちらも似たサービスを提供しています。 何が違うの?どちらが良いの?と疑問に思う人は少なくありません。 …
プログラミング学習をやらざるを得ない環境
友人・知人に宣言する
周りに宣言することで自分にプレッシャーをかける方法です。家族では弱いですので、友人・知人が良いでしょう。
Twitterで「毎日10ツイートします。全て学習過程をつぶやきます。」と公言するのもありですね。
仕事を辞める
「ITエンジニアを目指すため」という辞職理由で会社を辞めます。
会社に宣言することで自分にかなりのプレッシャーをかけることができますが、一人暮らしの人、貯金が無い人にはオススメしない方法です。
無償で手伝う
「Web制作や開発をしている知人がいること」が前提になりますが、もしそのような知人がいたら「無償で手伝わせてくれないか?」と打診してみるのも1つの手です。
やらざるを得ない環境に飛び込むことができます。
知人のWebサイトを作る
「プログラミングの基礎を学んだ」「簡単なWebサイトなら作れる」程度が前提になりますが、知人のホームページ制作を受託するのも「やらざるを得ない環境」に身を置くことができます。
無償で作るか、有償で作るかは知人とよく相談して決めましょう。
プログラミングを独学で学習する手順
覚えたい言語を決める
先述したように、自分がどんなエンジニアになりたいのかによって覚えるべき言語が変わってきます。
Web系なのか、SE系なのかをまず明確にしておきましょう。そして、独学でやるのであればマイナーなプログラミング言語は避けましょう。
JavaやPHPなどのインターネットで調べるだけでもかなりの情報量が手に入るものがおすすめです。学習で困ってしまった時もメジャーなプログラミング言語であれば調べて解決するのに短い時間で済むことがあります。
転職する際には「どんなプログラミング言語の経験があるか」が結果に大きく関わってきます。Javaであれば仕事が沢山ありますが、「haskellが書けます!」といっても使う現場が無ければ仕事がありません。
マイナーではなくメジャー、古いものでなく新しい技術を学びましょう。
学習サイトProgateで基礎を覚える
Progateはオンラインでプログラミング学習ができる学習サイトです。
基本的なプログラムの解説と簡単なテストを進めていくと、一つのアプリケーションの動きを確認できるようになっています。
プログラミング言語の種類もJavaやJavaScript、HTMLとCSS、jquery、PHPなど一通りのものを選ぶ事ができます。会員登録するだけ無料で学習できるようになりますが、しっかり学ぶ場合は有料会員になることをオススメします。
Progate公式サイト: https://prog-8.com/
とにかくアプリかWebサービスを作ってみる
基本を覚えたら実践してみる。
これが一番の上達方法なんじゃないかと思います。
何を作るかはお任せしますが、インターネットで調べると環境構築から実際にシステムを作るまで一連の流れが解説してあるWebサイトもあります。
最初はそんなWebサイトを参考にしながらやることをオススメします。やり方がわからないで時間だけが経過するとそのまま挫折しますからね。
話をちょっと戻します。例えばログイン画面からログインして、データの検索、登録、更新、削除を行うシステムを作ってみたとしましょう。世の中に会員登録制のシステムやアプリケーションは沢山ありますが、どれも最初はこういった基本的な機能を実装するところからスタートしています。
実際に簡単なシステムを作ってみて、上手くいった箇所といかなかった箇所を確認します。どうすればもっと効率的に出来るか、ユーザーが使いやすいかなど考えながら進めることでプログラミングの技術は向上していきますよ。
ポートフォリオになる実績を作る
ポートフォリオとは、その人の実力を評価する為の実績の事を指します。
今回でいうと、どんなアプリ・システムを作ったかを他の人に見せて「自分はこれだけプログラミングが出来ます」とアピールする事が目的です。
ポートフォリオは複数あればなお良いですが、まずは1つしっかりとしたシステムを作ってみましょう。
こだわるポイントも様々で、ユーザーが使いやすいように細かいデザインや効果にも力を入れたり、複雑な検索機能やajaxなどひと工夫した技術を取り入れたり等をして高品質なものをつくると評価されやすいですよ。
転職の際に実績を提示することで、スキルを客観的に評価してもらえます。
独学は無理?プログラミング学習を途中で挫折しないためには
プログラミング学習を独学で始めると9割の人が挫折すると言われています。
という訳で挫折しないための方法はとても大事ですね。
ここでは挫折の原因とその対策を紹介したいと思います。
参考書に書いてあることが分からない
意気込んで参考書を買ってみたものの、開いて読んでみると英語やカタカナがいっぱい。「アノテーションって何だよ、もっとわかりやすく説明しろよ。」とキレたくなります。
こんなことが続くと確実に途中で挫折してしまいますね。
対策: もっと分かりやすい教材で学習する
参考書ってしっかり正確に書かないといけない(間違いが許されない)のでどうしても難しい表記になってしまうんですよね。
間違ってはないけど分かりづらい。初心者にとっては学習しづらい教材になってしまいがちです。
そんな初心者の方にオススメする教材はProgateという学習サイトです。こちらの教材は初心者向けに体系化されていて、進行もナビゲートしてくれます。
Progateで学んでから書籍で勉強という流れが良いと思います。
エラーが解消できない
書いてある通りにやったのになぜかエラーが出る。解消を試みるも時間がかかるしエラーも解消されない。イライラが積もり積もってそのままやめてしまうパターンですね。
エラーの原因はプログラムを動かしている環境であったり、バージョンの問題であったり、ただのタイプミスであったりと様々です。
自分でログを見ながら着実に解消できればよいですが、初心者には難しい作業です。
対策: 遠慮せずに人に聞く
自分で全部やろうとしがちですが、自分だけでは限界があります。そんなときはプログラミングに詳しい友人がいたら聞いてみる。「teratail」で質問してみることをオススメします。
teratailはプログラミングに特化したQ&Aサイトです。誰でも質問と回答をすることができます。下記のヘルプが分かりやすかったのでリンクを貼っておきますね。
構文の勉強で飽きる
何か呪文のような文章を書いて実行してみる。結果をみる。こんな作業を延々と繰り返しているとイヤになってきますよね。どんな勉強でもそうですが基礎の勉強はつまらないものです。
「スマホアプリを作りたいのに何か全然違うことをしている」そんなギャップを感じることも要因じゃないでしょうか。
対策: 飽きない仕組みがある学習サイトで学ぶ
書籍で基礎の勉強をしているとだいぶ苦痛を感じてきます。なので、対策としては飽きない工夫がしてある教材を使うこと。
これだけでだいぶ変わってくると思います。
その教材は2つあって、1つ目は先ほど紹介した「Progate」です。1つの章がほどよい長さで飽きを感じません。たくさん進められたという達成感も味わえます。
もう1つが「ドットインストール」です。こちらは動画でプログラミングを解説する学習サイトです。1コマ3分なので集中力を切らさないで最後まで見ることができます。
こちらも、たくさん進められたという達成感が味わえます。
未経験からIT業界にエンジニア転職する人が知っておくべきこと
なんとなくのイメージはあるけど、実際エンジニアってどんなことをするの?など具体的な内容に関しては正直わからない人も多いと思います。
まずはエンジニアの仕事を簡単にご紹介いたします。
IT業界はWeb系と業務系に分かれる
わかりやすい区別をするとITの仕事は2種類あります。
1つ目: Web系
インターネットを利用したサービス・アプリを開発〜提供している会社です。
楽天、Yahoo!、LINEと言うとイメージが沸くんじゃないでしょうか。「広告」「小売」「課金」の3つが収益化の主な方法です。
Web業界でのエンジニアの仕事は大きく分けて2つに分かれます。
利用者が見るWeb画面またはアプリ画面の開発をするフロントエンドエンジニア。画面で入力・クリックされた内容をサーバーで処理するためのプログラムを書くバックエンドエンジニアの2つに大分されます。
フロントエンドエンジニアの方はデザイナー要素の高い仕事でもあります。
2つ目: 業務系
企業向けにシステム開発、ソフトウェアの開発〜販売をする会社です。
日本で有名なところですとTIS、ワークスアプリケーションズなどが業務系にあたります。「システム開発のための人材提供」「ソフトウェア自体の販売」「ソフトウェアのライセンス料」が収益化の主な方法です。
メーカーが出荷や納品したり、購買部門が発注をしたりする際はほとんどシステム化されている事が多く、こういった業務のシステムをイメージしていただくと良いでしょう。
他にも機械などの特定のものに対してプログラミングを行う「組み込み系」なども存在します。こちらは個人向けではなく「企業向け」のシステムが主流になります。
エンジニアの年収
転職を考えるとなると、切り離せないのが給与です。
「今の仕事よりは高い年収が条件」「最低でもこれくらいは保証してほしい」など人によって様々な条件になることでしょう。
では実際にのエンジニアの年収はどのくらいなのでしょうか?
ちょっと見てみましょう。
参考: 平均年収ランキング2019
上の数値は転職サイトDODAが調査した平均年収の結果です。
この数値だけを見るとWeb系エンジニアもSEも年収にあまり差はないですね。
となると「将来性」や「やっていることが面白いか」など、数値で測れない価値が大事になってきますね。
ここで書かれているのは全体の平均年収であって、年収は会社の規模や売上、利益率によって変わります。人数が少なくてたくさんの売上を出しているWeb系の企業だと平均年収が650万円だったりします。
逆にSES(システムエンジニアリングサービス)系の企業だと平均年収が360万円の会社もあります。
このように会社の利益率によって大きな差があることも覚えておきたいですね。
エンジニアの仕事
先程ご紹介したようにエンジニアと言っても仕事内容は様々です。
セキュリティに特化した業務もあれば、ITコンサルタントなどの仕事もあります。これらはエンジニアの中でもさらに専門的な知識・技術・経験が必要です。
基本的には最初はプログラマーからキャリアをスタートさせるのが一般的です。
プログラマーはシステムやアプリケーションの仕様書に基づきプログラムを作っていくのでパソコンに向かう時間が多くなります。
しかし打合せに出たりもしなければならないので、コミュニケーションが上手に取れるかとうか評価の1つになります。また自分が作ったプログラムのテストをしたり、バグを修正したりといった作業があります。
システムエンジニアは、プログラミングの為の要件定義書や設計書を作り、ユーザーや関係会社との打合せ、プロジェクトメンバーのスケジュール管理等を行います。
納期に間に合わないようであればプログラミング開発やテストを手伝う事もあります。
他にもオフショア開発をしていれば海外の開発拠点と連携しなければならなかったり、人材の募集をしたり状況により様々な業務を平行して行います。
プログラミング言語よって得意分野がある
プログラミング言語は様々な種類があり、WebならPHP、基幹系ならJavaなど言語によって得意な事や出来る事が違ってきます。
なので自分がどんな仕事がしたいのか、どのようなシステムを作りたいのかを、学習の前に確認しておいた方よいです。
「あれ?想像していた仕事じゃないな」という事態にならないようにしっかり調べましょう。
【関連記事】
-
SIerは将来性が無いのかSE経験者が今後の動向を調査【オワコン】
「コード書くより資料作成してる時間の方が長くない?」 「エビデンス取りめっちゃ不毛な作業に感じる」 「枯れた技術いつまで使ってるの?これじゃ成長しないよね?」 こんな風に疑問や不満を抱えている20代〜 …
-
Webエンジニア 将来性あり
Webエンジニアの将来性についてとことんまとめました。 結論から言うと、Webエンジニアの将来性はこの記事のタイトル通りです 笑 ただ、以下のような疑問を持っている方もいますよね。 「Webエンジニア …
経験を積んでいけば様々なプログラミング言語を学習していきます。
Webアプリケーションでも基幹システムでも何でも出来るようになれるかもしれませんが、最初のうちは1つの分野に特化して学習することをオススメします。
転職活動は総合力で勝負
転職活動をしている人はわかると思いますが、業界未経験や職務未経験でもOJT等を通して採用するという企業は少なくありません。
中でもIT業界は人材不足が深刻で、一人でも多くエンジニアが欲しい状況です。
なので未経験から転職する場合でも、学歴や社歴よりも今の実力が重視されます。プログラミングがどのくらいできるのかはもちろん、社会人としての常識・マナーやコミュニケーション能力があるかどうかで判断されるケースが多々あります。
例えば前職が営業などであれば、自分はこれだけ交渉能力がある、リーダーとしてチームをまとめる力がある、という点もアピールポイントになります。
また時間に余裕があれば、ポートフォリオを見直したり、作品を作り直したりなどして自分の長所を良く見せるようにしていきましょう。
独学かプログラミングスクールか
独学で学習しエンジニアになる事は不可能ではありません。
しかし、可能であれば現役エンジニアの講師に教えてもらった方が効率的に学ぶ事ができます。キャリア相談や転職サポートも受けられますので、自分で全部やるより確実に効率的です。
なので本気でエンジニアになりたい場合はプログラミングスクールの方が良いと思います。先ほど紹介した「プロエンジニア」や「GEEK JOB」などの無料スクールもあるので、条件をクリアしている方は積極的に活用してみましょう。
まとめ: まずは無料のプログラミング学習サイトをやってみよう
独学にしてもスクールに通うにしても、ちゃんと基礎を学んで実力をつけたらiTエンジニアに転職できます。
ただ、自分に合う仕事かどうかは今の段階ではわからないですよね。実際プログラミングをしてみたら苦痛でしょうがないと思うかもしれません。
なので、最初はProgateなどである程度やってみることをオススメします。
独学かスクールに通うかは、いったんちょっと学んでから考えればよいと思います。
まずは無料で学習できるところから始めてみてくださいね。
【関連記事】
-
テックキャンプとDMM WEBCAMPの比較|主な違いは3つ
テックキャンプとDMM WEBCAMPは転職保証が最大の特徴のプログラミングスクールです。 ただ、どちらも似たサービスを提供しています。 何が違うの?どちらが良いの?と疑問に思う人は少なくありません。 …