未経験でエンジニアになりたいと思ったとき、どうやって勉強したらいいかは悩むものです。
この記事では未経験者が独学でエンジニアになるための勉強方法について紹介をしていきます。
この記事の内容
- どんな勉強法があるの?
- どんな手順で勉強すればいい?
- おすすめの勉強法や書籍は?
効率よく実力を身につけるための内容をまとめていますので、ぜひご参考ください。
初心者からエンジニアを目指すための独学勉強法4つ
独学でエンジニアの知識やスキルを身に付けようとした際、勉強方法や教材選びで迷ったことがある人は多いでしょう。
- 「どうやって勉強したら良いの?」
- 「どんな教材を使えばいいの?」
ここでは、そんな疑問に答えながら独学でエンジニアを目指す際の勉強法を紹介していきます。
- テキスト本を見ながら構築
- 学習サイトやアプリを使う
- 学習動画で学ぶ
- 勉強会に参加する
順に解説していきます。
勉強法1:テキスト本を見ながら構築してみる
テキスト本を購入して、そこで学んだことを実際に自宅PCで構築してみる方法です。
難易度は少し高く感じられますが、自分自身で考えて作業をするため、とても効果の高い方法です。
また、書籍と次に紹介する学習サイトを組み合わせて勉強するという方法もあります。
勉強法2:学習サイトやアプリを使う
「移動時間や待ち時間のような隙間時間を有効活用したい」「テキストを持ち歩くのは大変」という人も多いことでしょう。
実際、IT系のテキストは分厚く重いものが多く、持ち歩くのはとても大変です。
そこでおすすめな方法は、「学習サイト」や「スマホアプリ」を使う方法です。学習サイトでは、「Progate(プロゲート)」や「Udemy」といった学習サイトの利用がおすすめです。
「Progate」は超基礎レベルを習得したい人、「Udemy」は習得したいプログラミング言語が決まっていて、実践で使えるレベルを身につけたい人におすすめです。
学習サイト | 説明 |
---|---|
Progate |
・スライド形式のイラストでマイペースに進められる ・イラストが可愛く、ゲーム感覚で勉強できる ・有料版と無料版がある →無料版は17レッスン視聴可能 →有料版は月額980円で79レッスン視聴可能 ・スマホアプリにも対応 |
Udemy |
・10万以上の動画から選んで学習できる ・開発、ビジネススキル、IT・ソフトウェア、デザインなど 幅広い学習に使える ・無料のものもあり。有料はセールで大幅割引される場合も ・すべてのコースに30日間返金保証つき ・スマホアプリ |
「Progate」も「Udemy」も、どちらもスマホアプリ(iPhone、Android)に対応しているので隙間時間に学習を進めることができます。
在職中の人は、なかなか勉強時間を確保することが難しいかもしれませんが、こうしたツールを活用することで隙間時間に知識を身に付けることは可能です。
勉強法3:学習動画で学ぶ
テキストやWebサイト解説を読みながら知識を身に付けたり、実際にプログラムを書いてみたりする勉強方法は定番です。
しかし、中には「文字だけだと分かりにくい」「どうなるのが正解なの?」という人もいることでしょう。
そんな人におすすめなのが、動画コンテンツを用いた勉強方法です。
実際の動作を動画で見ながら勉強をすることができるので、文字だけで勉強するよりも圧倒的に分かりやすいのです。
ここでは、おすすめの動画を2つ紹介します。
◆しまぶーのIT大学
登録者数7万人を超える「しまぶーのIT大学」では、元Yahoo!のフロントエンドエンジニアであるしまぶーさんが、JavaScriptや業界について教えてくれます。
僕も一番初めに学んだ動画であり、プログラミング初心者や、フロントエンドエンジニアになりたい方におすすめのコンテンツです。
◆Akichonプログラミング講座
プログラミング完全初心者でもわかりやすいようにスライドや画面を用いて解説している「Akichonプログラミング講座」もおすすめです。 シューティングゲームやテトリスなどを実際に作りながら学べるので、楽しく勉強できます。
プログラミングの動画で勉強する際のコツはYoutube動画を見ながら、コードを書いてみることです。
動画を一時停止したり、理解できなかった箇所は繰り返し再生するなど、学習動画のメリットを最大限に活かしながら勉強をしていきましょう。
勉強法4:勉強会に参加する
「勉強会」と聞くと有料のイメージがありますが、企業が開催する無料の勉強会があります。
無料の勉強会なので自身が学びたい講義があるとは限りませんが、参加することで「エンジニアはどのように勉強しているのか」その方法を学ぶこともできます。
これらを学ぶことで、今後の勉強方法に活かすことができるので、機会があれば積極的に参加をしてみましょう。
勉強会が探せるサイトもありますので、これから興味がある人は以下を参考にしてみてください。
サイト | 特徴 |
---|---|
TECH PLAY | ・キーワード、地域、日付で絞込検索ができるので探しやすい ・勉強会参加者のレポートを見ることができる |
DoorKeeper | ・コミュニティが作りやすい ・GoogleカレンダーやiCalなどと同期可能 connpass |
connpass | ・エンジニア同士の繋がりができる ・Facebook・Twitterと連携可能 ・ジャンルごとの検索が可能 |
Peatix | ・様々なイベント情報が掲載されている ・エンジニアの交流会もある ・大手企業のイベントも豊富 |
勉強会の不安を解消!
Q.なぜ無料?
→企業の採用・広報活動の一環で、外部の人材を招待することで自社へ転職を促しているためです
Q.受講したら勧誘されるのでは?
→参加理由や転職の有無のみで受講できることがほとんどなので、身構える必要はありません。
エンジニアになるための学習4ステップ
エンジニアになるための学習をする際「何から手を付けたら良いの?」と疑問に思われることも多いでしょう。
ここでは、どのようなステップで学習をしていくのかについて解説をしていきます。
これから勉強を開始する人は、ぜひ参考にしてみてください。
- 現在のレベルを把握する
- ITの基礎知識を身に付ける
- 目指すエンジニアの種類を決める
- 実際に手を動かして構築してみる
ステップ①:現在のレベルを把握する
学習を開始する前に、現在のレベルを把握しましょう。
ITスキルのレベル分け
レベル1.ITの基礎知識が全くなく、用語もよく分からないレベル
レベル2.ITの基礎知識はあるが、プログラミングは未経験レベル
レベル3.ITの基礎知識があり、簡単なプログラムを構築したことがあるレベル
自分自身のレベルを正しく把握することで、適切で効率よく学習をすることができます。
基礎がない状態で、いきなりプログラミングから学習しようとすると難易度が上がるため、挫折の原因にもなります。そうした事態に陥らないためにも、見栄を張らず客観的に把握するようにしましょう。
ステップ②:ITの基礎知識を身に付ける
ITの基礎知識がない人は、まず用語やPCの操作など基本的な学習から始めるようにしましょう。
基礎を学ぶ方法には、ITパスポートや基本情報技術者試験のテキストや、Progateのような学習サイトの利用がおすすめです。
必ずしも基礎から学ばなければいけないという決まりはありませんが、基礎が無い状態でプログラミングやネットワークの構築を行うのは非常に難易度が高いからです。
テキストも、基礎を理解していることを前提に書かれていることが多く、プログラミング言語と基礎知識を並行して学ぶことになります。
「早くプログラミングで動くものを作りたい!」気持ちはわかりますが、急がば回れという言葉があるように、まずは基礎から学んで下地を作るようにしましょう。
ステップ③:目指すエンジニアの種類を決める
土台となる基礎知識を身に付けたら、目指すエンジニアの種類を決めましょう。
エンジニアは「開発系」「Web系」「インフラ系」と3つの種類に分けることができ、各種類によって学ぶべき内容が異なります。
たとえば、エンジニアを目指し始めたきっかけが「ゲームを作りたい」といったように、作りたいものがわかっていればスムーズに勉強する内容が決まります。
「手に職を付けたい」「ITなら将来性も高そう」という漠然とした理由で選び始めると、どのエンジニアを目指すべきか迷うので、作りたいものを具体的にイメージして決めるようにしましょう。
ステップ④:実際に手を動かして構築してみる
必要な知識を身に付けたら、実際に手を動かしてみましょう。
テキストを読んで知識を身に付けると「できるようになった」気分になってしまいますが、実際にプログラミングしようとするとなかなか上手くいかないものです。
「なぜ上手くできないのか?」と原因を考え分析をすることは重要で、これはエンジニアとして働き始めてからも非常に役立ちます。
実際に手を動かして構築を行う際には、先に紹介した学習サイトや動画の真似から始める方法もありますが、自身が作りたいものを設計から行うことも勉強になるのでおすすめです。
各工程について学んでおくと、エンジニアになってからのキャリアの選択肢も増えますので、ぜひ覚えておきましょう。
【種類別】エンジニアの勉強方法
ここでは、エンジニアの種類別に勉強内容と方法について紹介をしていきます。
- 開発系
- Web系
- インフラ系
- 開発系
開発系
開発系は、その名の通り「システムを開発」するのが主な仕事で、「プログラマー」や「SE」などがあります。
ここでは、開発系の勉強内容や方法について紹介をしていきます。
- プログラマー
- システムエンジニア(SE)
- 組み込みエンジニア
プログラマー
エンジニアという職業を聞いて、多くの人がイメージするのがプログラマーです。
プログラマーは、文字通りプログラミング技術を駆使してシステムや商品を開発することが主な仕事です。
開発したいシステムによって取り扱うプログラミング言語が異なります。
具体的に開発したいシステムが思い付かないという人は、JavaやC言語といった汎用性の高いプログラミング言語から勉強を始めると良いでしょう。
プログラミングを行うための環境構築もエンジニアとして働き始めてから役立ちます。
しかし「とりあえずコードを書いてみたい」「開発環境の準備が大変」という人は「paiza.IO」のような、Web上でコードが書けるサイトを活用する方法もあります。
「ちょっと動作を試したい」という時にも使えて便利ですので、状況に合わせて上手く活用していきましょう。
システムエンジニア(SE)
プログラマーと同一視されていることが多いシステムエンジニアですが、本来の仕事はクライアントの要望や要求に基づいて、要件定義やシステムを設計することが主な仕事です。
そのため、自社のシステムで何ができるのかを理解し、そのうえでクライアントが求めている機能を提案するスキルが必要になります。
「システムで何ができるのかを理解する」ということは、所属企業の商品理解や商品を構成しているプログラミング言語について理解する必要があります。
学習手順としては、JavaやC言語からプログラミングの基礎について勉強をしていくのがおすすめです。
JavaやC言語を理解しているとプログラミングで「何ができるのか」を理解することができ、プログラマーとの意思疎通もスムーズになるのです。
組み込みエンジニア
組み込みエンジニアの仕事は、家電製品をイメージするとわかりやすいです。
私たちが普段から使っている家電製品は非常にハイテクで、プログラミングによる機械的な制御が行われています。たとえば、洗濯機で「ここまで水が入ったら止める」。エアコンで「設定された温度に達したら冷やすのを止める」といった制御も、組み込みエンジニアが作ったソフトウェアによって行われているのです。
現在では、C、C++、Javaが主流となっているので、これらのプログラミング言語を学ぶところからスタートすると良いでしょう。
プログラミングは、書籍を読むだけではスキルを身に付けるのが難しいため、開発環境を構築して、実際に手を動かしながら覚えるようにしましょう。
また、組み込み系エンジニアは設計する力も必要なので、プログラミング言語を学ぶ際には、実際に「こんなシステム(簡単なシステムでOK)を作る」といった設計から意識して行うとより身に付くのでおすすめです。
Web系
Web系エンジニアは、私たちが日常的に利用しているWebサイトや、Webサービスの提供に必要となるアプリケーションを開発するエンジニアです。
スキルが高ければ高単価で仕事を獲得できることから、最近ではでは企業に就職せずフリーランスとして働く人や、副業で働く人も増えてきました。
そんなWebエンジニアですが、開発系と同様に「フロントエンドエンジニア」や「サーバーサイドエンジニア」といった種類があります。
ここでは、それぞれの勉強方法について解説をしていきます。
- フロントエンドエンジニア
- サーバーサイドエンジニア
フロントエンドエンジニア
フロントエンドエンジニアは、私たちが普段から利用しているWebサイトやサービスの「表側」の部分を設計構築するのが主な仕事です。
Webサイトを構築するうえで、最も基本となるプログラミング言語はHTMLやCSSです。
どちらも特別な環境を用意せず、手軽に始めることができるので未経験者でも学びやすいと言えます。
たとえば、HTMLファイルはPCのメモ帳にコードを書き、保存した後にに拡張子を「.html」に書き換えるだけで作成することができます。
本格的に勉強を進めていく際には、メモ帳ではなく補助機能があるHTMLエディタを使うと、より効率良く進めることもできます。
下記におすすめのエディタを紹介するので、エディタ選びで迷った際の参考にしてください。
- Visual Studio Code(ヴィジュアルスタジオコード)
- Sublime text3(サブライムテキスト)
- Atom(アトム)
- Brackets(ブラケッツ)
フロントエンジニアの勉強方法は「こんなWebページを作ってみよう」と、実際にWebサイトを構築していくのがおすすめです。
インターネット上に公開せず、自身のPC内で完結することもできるので、人の目を気にする必要もありません。
サーバーサイドエンジニア
フロントエンジニアが「表側」であるなばら、サーバーサイドエンジニアはWeb系の「裏側」を主な仕事としています。
サーバやデータベースを取り扱うのでインフラ系の知識やスキルも必要となります。
また、言語としてはRubyやPHP、Kotlinを扱うことが多いので、未経験者はこれらのプログラミング言語を学ぶところからはじめてみましょう。
インフラ系
インフラ系エンジニアは「インフラ=土台・基盤」といった意味があるように、ネットワークの基盤となる通信やサーバーの構築をするエンジニアで、未経験からでも目指しやすいのが特徴です。
開発系やWeb系のエンジニアとは少し毛並みが違い、プログラミング言語を駆使して構築するというより、OSやスイッチなどの機器を操作して構築していきます。
ここでは、インフラ系の勉強方法について解説をしていきます。
- サーバエンジニア
- ネットワークエンジニア
- クラウドエンジニア
- セキュリティエンジニア
- サーバエンジニア
サーバの構築を行うことを主な仕事としてるサーバエンジニアは、ネットワークエンジニアと並び、インフラ系のエンジニアのなかでも未経験者でも転職しやすい種類です。
インフラエンジニアを目指す人の勉強方法は、自宅PCにてWindowsサーバやLinuxサーバを実際に構築していく方法がおすすめです。
構築していくなかで「分からない単語」「なぜか動かない」などつまずきますが、それらを自身で調べて理解を深めながら作業をすることで、知識とスキルを身に付けることができます。
ネットワークエンジニア
通信関連の仕事をするネットワークエンジニアは、未経験者が目指しやすいエンジニアの種類です。
実際に「通信ができる環境を構築していく」方法が最も知識とスキルが身に付きます。
「いきなりそれはハードルが高い…」と感じる人は、まずCCNAでネットワークの基本的な知識を身に付けるところから始めると良いでしょう。
クラウドエンジニア
数多くのクラウドサービスが提供されている昨今、クラウドエンジニアを目指したいと考えている人も多いことでしょう。
しかし、未経験者がいきなりクラウドエンジニアを目指すのは難易度が高いです。なぜなら、インフラエンジニアとしての知識やスキル、実務経験が必要になってくるケースがほとんどだからです。
たとえば、クラウドサーバーや接続するためのネットワークの仕組みなどを構築する際に、サーバーやネットワークの知識が必要となります。
こうしたスキルを身に付けるために、ネットワークエンジニアやサーバエンジニアを経験してから転職するケースが多いのです。
インフラの基礎知識を身に付けた後、実際にクラウドを構築して知識とスキルを身に付けていくことでクラウドエンジニアを目指すことができます。
実際にクラウドを構築する際には、クラウド業界のなかでも圧倒的なシェア率を誇るAmazon AWSを期間限定の無料期間で利用するといった方法もおすすめです。
クラウドエンジニアは、クラウドだけではなく、サーバーやネットワークといったインフラの基礎知識が必要となるので時間がかかりますが、根気よく勉強してきましょう。
セキュリティエンジニア
セキュリティエンジニアになる多くの人は、ネットワークやサーバ、データベースといった他のエンジニアとしての実務経験を積んでから転職するケースがほとんどです。
目指す場合は、先に紹介した、サーバエンジニアやネットワークエンジニアの基礎を理解し、そのうえでセキュリティエンジニアに必要な知識を身に付けていきましょう。
また、知識を身に付ける際には、情報処理安全確保支援士試験(SC)といったセキュリティ関連の資格の勉強を行うのも効果的です。
エンジニアの勉強で大切なこと
前章まで、各エンジニアの勉強方法について紹介をしてきました。
ここでは、エンジニアになるための勉強をする際に大切なことを紹介していきます。
ポイントを押さえることで効率良く学習することができるので、ぜひ参考にしてみてください。
- どのレベルまで目指すか決めておく
- 基礎を飛ばさない
- 実際に手を動かす
どのレベルまで目指すか決めておく
エンジニアに転職して働き始める前までに、以下のように目指すレベルを決めておきましょう。
- 基本的な用語を理解し、指示通りに作業ができるレベル
- 仕様書を見て、自分自身で考えて作業ができるレベル
- クライアントの要件を読み取り、提案、設計、構築ができるレベル
上記はあくまで例ですが、目指すレベルが上がれば学習の難易度も上がるので、勉強に必要な時間も増えます。
転職する際には、時期やタイミングも考慮しなければなりません。
今から転職するまでにどれくらいの時間があるのか、転職したい企業はどれくらいのレベルを求めているのかきちんと把握し、計画を立てて勉強をしていきましょう。
基礎を飛ばさない
いきなりプログラミング言語を学び始めようとする人も大勢いますが、IT未経験者は基礎知識から身に付けることをおすすめします。
たとえば、「IPアドレス」の基礎知識がない状態でインフラ系の学習を始めたらどうなるでしょうか。
二進法から十進法への計算方法や、ブロードキャストやサブネットの意味などを調べながらの学習することになり、一向に先へ進めません。
また、基礎知識はIT業界で働くうえで「分かっていて当然」とされています。
エンジニアになったら誰かが教えてくれるわけでもなければ「未経験だから仕方がない」わけでもありません。
ITの基礎知識に自信がない人は、まずは「ITパスポート」や「基本情報技術者試験」といった資格取得を目指すと良いでしょう。
実際に手を動かす
知識を身に付けることも重要ですが、エンジニアになるためには実際に作業ができなければなりません。
テキストやWebサイトで得た知識をもとに、自宅PCに開発環境を構築して実際に作業をしてみましょう。
「開発環境を整えるのが大変…」という場合は、HTML(Webの基本的プログラミング)やVBA(Excel)がおすすめです。
- HTML:PCにメモ帳があればHTMLファイルを作ることができる
- VBA:PCにExcelがあれば使える
上記のように、HTMLやVBAは有料のサーバーをレンタルする必要もなければ、難しいセットアップも不要なので、未経験者でも簡単にプログラミング経験ができるからです。
手を動かすことでプログラミング経験や操作に慣れるだけではなく、考える力を養うことができます。
下記のように、エンジニア「トライ&エラー」を繰り返してシステムを構築していきます。
- プログラムが正しく動かない
- 原因を分析する
- 分析した結果をもとに修正を行う
- 動作を確認する
上手く動かなかった際には「なぜ動かないのか」と原因を分析する力が必要となるのです。
テキストを読んでいるだけでは、こうした力は身に付けることができません。
エンジニアが評価を受ける際に「実務経験」が重要視されるのは、このような背景があるのです。
自宅環境でも作れるシステムやツール、Webページはありますので、ぜひ手を動かして作業をするようにしましょう。
エンジニアの勉強でよくある疑問
ここからは、エンジニアの勉強時によくある疑問について解説をしていきます。
- どれくらい勉強をしたらエンジニアになれるの?
- 勉強時のモチベーションを保つ方法は?
- 未経験者におすすめの資格は?
Q:どれくらい勉強をしたらエンジニアになれるの?
A:目指すエンジニアの種類やレベルによって異なります。
元々、基礎が身に付いている人とそうではない人がいるように、エンジニアになるために必要な勉強時間は人によって異なります。
また、目指すエンジニアの種類やレベルによっても、必要な知識やスキルが異なるため一概に「〇〇時間でエンジニアになれる」とは言えないのです。
Q:勉強のモチベーションを保つ方法は?
A:SNSやWebサイトのコミュニティに参加し仲間を作るのがおすすめです。
SNSやWebサイトのコミュニティに参加し勉強する仲間を作ると、次のようなメリットがあります。
- 周囲が頑張っていることを知ることでモチベーションを保てる
- 理解が追い付かない時に気軽に聞くことができる
独学で勉強をしていると、モチベーションが下がりやすいものです。
コミュニティに参加することで、共通の仲間を作ることで周囲の頑張りが見えるようになるので、自身のモチベーションを保つのに一役買ってくれます。
また、良い学習方法や教材を共有することもできるので学習の質も上がるのです。
「独学だけど一人で頑張り続けるのは辛い」という人は、こうしたSNSを利用してみると良いでしょう。
コミュニティ | 特徴 |
---|---|
Qiita | 知識を記録・共有するためのサービス。 発信や評価すると自分に合う記事が届く |
teratail | Q&A方式で情報交換ができる |
Debelopersjp | 情報交換や議論、勉強する仲間を作ることができる |
Forkwell | ポートフォリオを提示し評価してもらうことができる |
Q:未経験者におすすめの資格は?
A:未経験者におすすめの資格は次の通りです。
資格 | 内容 |
---|---|
ITパスポート | IT系の基礎知識を学ぶことができる |
基本情報技術者試験 | IT系の基礎知識を網羅的に学ぶことができる |
CCNA | ネットワークに特化して学ぶことができる |
OCJP | Javaについて学ぶことができる |
MOS | Microsoft Officeについて学ぶことができる |
IT系共通の基礎知識を身に付けたい人は「ITパスポート」や「基本情報技術者試験」がおすすめです。
目指すエンジニアの種類が決まっている人は「CCNA」や「OCJP」といった、分野に特化した資格を取得をすると良いでしょう。
また、ExcelやWordといったMicrosoft Officeは、多くの企業で使用されています。
PCスキルに自信がない人はMOSから取得するのも良いでしょう。
独学に限界を感じたらプログラミングスクールも検討しよう
もし独学は難しそうと感じたり、少しやってみたけれど挫折してしまったという場合は、プログラミングスクールの利用も検討してみましょう。
プログラミングスクールは通学できるところもありますが、時間がないならオンラインで学ぶスクールがおすすめです。
「費用が気になるから独学している」という20代の方なら、「GEEK JOB」のスピード転職コースなら無料で学べて転職支援も受けられるのでおすすめです。
1〜3ヶ月でプログラミングを学ぶことができ、未経験向けの求人も紹介してもらえます。
ただし、注意点として20代限定であること、途中で学習を中断したり紹介された求人を断ったりすると違約金が発生することがあるので、内容を確認した上で申し込みましょう。
もし迷ったら、オンラインで参加できる無料カウンセリングを実施しているので、ぜひ参加してみてください。
オンラインカウンセリングは毎週月〜土曜日の11時〜20時に開催されており、大体40〜50分くらいで行われます。
まとめ
未経験者が、独学でエンジニアになるための勉強をする際のポイントは次の通りです。
- IT知識に自信がない人は基礎知識を身に付けるところから始める
- エンジニアの種類によって必要な知識やスキルが異なる
- テキストだけではなく学習サイトや学習動画を利用する
- 実際に手を動かして勉強することが重要
エンジニアの勉強をする際には、まずITの基礎知識を身に付けるところから始めましょう。I基礎知識を身に付けておくことで、将来的にエンジニアのキャリアチェンジをする場合や、新しい技術の習得をする際にも役立ちます。
また、エンジニアの勉強をする際には実際に手を動かすことも重要です。
手を動かすことで、テキストだけでは学べないことも学べるほか、未経験者でもエンジニアの仕事を理解することにもつながります。
このように、順序立てて勉強していくことで、未経験からでも活躍できるエンジニアになれます。
「独学で頑張ったけど、限界を感じた」「仕事をしながらの勉強なので、時間が取れない」という方は、プログラミングスクールの受講をおすすめします。
「GEEK JOB」なら、オンラインで現役エンジニアから教えてもらえるので、効率よく実力をつける事ができます。