TOUCH THE SECURITY Powered by Security Service G
IT人材が不足していると聞いて、独学でエンジニアを目指そうと考えている方も多いのではないでしょうか。しかし技術革新が速いIT業界において、独学でエンジニアになれるのか、難易度が高いのではないかと不安な方もいらっしゃるかもしれません。そこで本記事ではエンジニアを独学で目指す際、どのように学習すればよいのかを解説しています。ぜひ参考にしてください。
目次
監修:大畑 健一(おおはた けんいち)
パーソルクロステクノロジー株式会社
採用・教育統括本部 ICT採用本部 キャリア採用部 2G
メーカーや教育、キャリア系を中心にネットワークエンジニアの経験を持つ。
2020年10月にパーソルクロステクノロジー(旧パーソルテクノロジースタッフ)に入社。
2022年4月から現在の部署にて中途採用エンジニア向けの広報を担当。
エンジニアは独学でもなれる
結論から述べると、独学でエンジニアになることは可能です。その根拠は以下の3つです。
- エンジニアの需要拡大によって求人の数が増えている
- 未経験可の求人が多い
- 情報収集がしやすい
エンジニアの需要拡大によって求人の数が増えている
【参考文献】「IT人材育成の状況等について」経済産業省
現在、様々な業界で IT化が急速に進んでおり、拡大し続けているエンジニアの需要に対して人材の供給が追いついていないのが現状です。この現状を受け、多くの企業が人手不足を解決するために人材を募集しています。
未経験可の求人が多い
エンジニアの求人は実務経験が無くても良いものも存在します。必要なスキルを習得し、求職活動の対策ができればエンジニアとして働くことは十分可能です。
未経験可の求人が増えている背景としては、IT業界の市場規模拡大による人材不足があげられます。ITへの需要に応じるために、IT企業は早急に企業規模をスケールさせる必要があるのです。
独学の手段が豊富
情報伝達技術が発達した現代では、多くの情報を入手することができます。有料のものや無料のものまでさまざま存在しますが、情報の正確性に注意が必要です。具体的には動画配信サイトに投稿されているものやサイトやSNS、書籍などがあげられます。おすすめの学習サイトや本は、こちらで詳しく解説しています。
エンジニアの基礎知識
独学でエンジニアになりたいと考えている方は、具体的にエンジニアはどのような仕事をしているのか、どのような知識が必要なのかを知る必要があるでしょう。ここでは、エンジニアの基礎情報を解説します。
エンジニアとは
エンジニアは英語の「エンジニアリング」が由来で、工学をあらわします。近年では、エンジニアというと一般的にITエンジニアを指すことがほとんどですが、工学に関連する技術や能力をもつ職種全般がエンジニアです。そのためエンジニアの種類や仕事内容が幅広く、たとえばIT技術に関連した専門的な技術をもっているのは「ITエンジニア」、自動車メーカーで車の本体やパーツの研究開発を行うのは「自動車エンジニア」となります。
エンジニアのもつ専門的な技術や能力、知識は、システム構築から製品製造まで多岐にわたり必要とされます。そのため生産が必要な業種にかかわらず、エンジニアは欠かせない存在といえるでしょう。
エンジニアの仕事内容
エンジニアの仕事内容はおおまかに次のようなものがあります。これらは工程といい、要件定義に近いほど上流工程と呼ばれ、保守や運用に近いほど下流工程と呼ばれます。
- ヒアリング・要件定義
- 外部・内部設計
- コーディング
- システムテスト
- 運用・保守
どのようなエンジニアになるかによって関わる領域が違います。中には全てを担当するエンジニアもいれば、上流工程だけ、下流工程だけにしか関わらないエンジニアもいます。 工程ごとに分けることにより、効率よく質の高いシステムを開発するのに役立っているのです。
エンジニアの種類
エンジニアとして活躍するためには、企業がエンジニアをどのようなものだと捉え、どのような技術を必要としているのかを理解することが必要です。分類の方法にもさまざまありますが、一例として参考にしてください。
①開発系エンジニア
開発エンジニアは、アプリケーションやサービスのシステムを設計、開発するエンジニアです。WebサイトのCSSを記述したり、スマホアプリのプログラミングを構築したりします。特に注目すべきはIoTエンジニアで、IoT(Internet of Things)とは、あらゆるモノをインターネットやネットワークに接続する技術のことを指します。2020年から2025年における年間平均成長率は10.1%と予想されており、とても将来性のあるエンジニアです。
- フロントエンドエンジニア
- アプリケーションエンジニア
- Webエンジニア
- IoTエンジニア
- AR・VRエンジニア
②通信インフラ系エンジニア
通信インフラ系エンジニアはITサービスで共通して基盤となるシステムの設計・構築・運用を担当するエンジニアです。注目すべきはクラウドエンジニアで、従来の施設の構内に設置して運用するオンプレミス環境からクラウドを利用する企業が増えているためです。しかし、ハードウェアへの理解があるエンジニアの需要は依然として高く、両方の知識を持つエンジニアが歓迎されるかもしれません。
- ネットワークエンジニア
- クラウドエンジニア
- セキュリティエンジニア
- データベースエンジニア
- サーバーエンジニア
③Web系エンジニア
Web系エンジニアは、その名の通りWebに関わるエンジニアです。仕事内容としてはコードを書く機会が多いのが特徴です。業界のスピードが早く、工程の少ないアジャイル型開発が主流です。また、B to Cの業務が多くやりがいを感じやすいともいえるでしょう。
- フロントエンドエンジニア(マークアップエンジニア)
- バックエンドエンジニア(サーバーサイドエンジニア)
④機械系エンジニア
機械エンジニアとは、別名メカニカルエンジニアとも呼ばれています。主に工場や自動車関連に携わります。一般的なITエンジニアよりもハードウェアの知識が必要になることが特徴です。
- エンベデッドエンジニア
- サービスエンジニア
- サポートエンジニア
⑤上流工程に関わるエンジニア
これらの職種にはエンジニアという言葉がつきませんが、上流工程でシステムのプロジェクト方針を定めたり、顧客と打ち合わせたりするためエンジニアの一種と考えてよいでしょう。下流工程よりも責任が重く、給与面で優遇される傾向にあります。
- ITコンサルタント
- プロダクトマネージャー
- ITアーキテクト
- データサイエンティスト
⑥その他
他には、社内のシステムエンジニア、開発時に日本と海外の架け橋になるシステムエンジニアであるブリッジSE、営業職とエンジニア職の両面の性質を持つセールスエンジニアなどがあります。
- 社内SE
- ブリッジSE
- セールスエンジニア
エンジニアが勉強するべき言語とは?
ここでは、エンジニアとして活躍していくために各エンジニアがどのプログラミング言語が必要になっていくか解説していきます。
①開発エンジニア
開発エンジニアにとって、プログラミング言語はツールとしての重要な要素です。主要な言語には、Java、Python、JavaScript、C++などがあります。それぞれの言語には得意な領域や特性があり、開発の目的や要件に応じて適切な言語を選択することが重要です。例えば、ウェブ開発にはJavaScriptやPythonのDjangoフレームワーク、モバイルアプリ開発にはJavaやSwiftが一般的です。開発エンジニアは、複数の言語やフレームワークを習得し、柔軟に対応できる能力が求められます。
Java
Python
JavaScript
C++
②通信インフラ系エンジニア
通信インフラ系エンジニアにとって、プログラミング言語は重要なツールですが、特に重要なのはネットワーク関連の言語や技術です。PythonやPerlなどのスクリプト言語は、ネットワークデバイスの制御や自動化に広く使用されています。また、CやC++などの言語は、ネットワークプロトコルの実装や高性能なネットワークアプリケーションの開発に役立ちます。さらに、ネットワーク機器の設定や監視には、CLI(Command Line Interface)を操作するスキルが必要です。これらの言語やスキルを習得することで、通信インフラ系エンジニアはネットワークの設計、構築、運用を効率化し、高度な通信インフラの管理を行うことができます。
Python
Perl
C言語
C++
CLI(Command Line Interface)
③Web系エンジニア
Web系エンジニアは、ウェブ開発に特化したプロフェッショナルです。主要なプログラミング言語としては、JavaScriptです。JavaScriptはクライアントサイドのウェブ開発で使用され、ReactやVue.js、Angularなどのフレームワークと組み合わせて使われます。また、サーバーサイドの開発にはNode.jsが利用されることもあります。さらに、HTMLとCSSはウェブページの構造とデザインを定義するために欠かせません。これらの言語と技術を組み合わせて、ウェブアプリケーションやウェブサイトを構築します。
Java
HTML
CSS
④機械系エンジニア
機械系エンジニアは、機械や装置の設計、開発、制御に従事する専門家です。プログラミング言語は、制御システムや組み込みシステムの開発に重要です。CやC++は組み込みシステムやマイクロコントローラのプログラミングによく使用されます。Pythonはデータ処理や機械学習アルゴリズムの開発に適しています。MATLABやSimulinkはシミュレーションや制御システムの設計によく用いられます。これらの言語やツールを使用して、機械系エンジニアは様々なプロジェクトに取り組み、革新的な機械技術を生み出しています。
C言語
Python
MATLAB
Simulink
⑤上流工程に関わるエンジニア
上流工程に関わるエンジニアは、製品やシステムの設計、計画、要件定義などの段階に従事します。上流工程に関わるエンジニアにとってプログラミング言語は、解析、シミュレーション、データ処理などに利用されます。PythonやMATLABはデータ解析や数値計算に広く使用され、システムのモデリングやシミュレーションに役立ちます。RやJuliaもデータ解析や統計処理に適しています。CAD(Computer-Aided Design)ソフトウェアやCAE(Computer-Aided Engineering)ツールも重要であり、特定のプログラミング言語ではなく、CADやCAEソフトウェアのスクリプト言語が使用されます。このような言語やツールを用いて、上流工程のエンジニアは製品やシステムの設計と評価を行い、品質と効率性を向上させます。
Python
MATLAB
R言語
CAD(Computer-Aided Design)ソフトウェア
独学のエンジニアが覚えるべき知識・スキル
上記で、独学でもエンジニアとして働けると述べましたが、そのために身につけるべき知識・スキルは主に以下の5つです。
- ITの基本知識
- 設計スキル
- プログラミングスキル
- ロジカルシンキング能力
- コミュニケーション能力
ITの基礎知識
ITの基礎知識はエンジニアとして働く上での基盤になります。未経験可で募集して入社後の研修を行う企業も多いですが、教育コスト削減の観点からある程度の基礎知識やスキルを保有した方を採用したいと考えるのが企業側の本音です。
基礎知識については、常に情報収集を欠かさないようにすることで独学で身につけることが可能です。特にITの専門用語は必須です。開発現場では専門用語でのやりとりが多くなるため、これらの用語はできるだけ習得しておきましょう。
設計スキル
設計は、クライアントの要望を分析し、システムの設計を行う作業です。設計には、基本設計と詳細設計の2種類が存在します。基本設計は、要件定義の後に決定内容を実現させるためにシステムを実装する機能を具体化する工程です。基本設計は全体の流れをイメージして作る必要があるため独学で完璧に習得するのは困難です。多くのエンジニアは、経験を重ねてデータベースやネットワークの理解を深めてから徐々に基本設計に携わることになります。
一方詳細設計は、基本設計の次に、基本設計所を元に機能をどのように実装するかという設計を行うものです。詳細設計書を見ただけでプログラムを組めるように細かい部分まで落とし込んでいく工程になります。基本設計と異なり、詳細設計は独学でもある程度習得できます。詳細設定はシステムの細かい動きを設計する工程で、自分でプログラミングをしながら、徐々にコツを掴むことが可能です。
プログラミングスキル
未経験エンジニアは、現場経験が無くても、個人で開発した経験があるというのが前提となっているため、まずは自分で手を動かしてプログラミングをやってみましょう。プログラミングのスキルは、学習サイトやスクール、書籍など様々な手段で身につけることが可能です。自分のやりたい仕事とマッチするプログラミング言語を選択して学習していきましょう。
ロジカルシンキング能力
エンジニアは問題や課題を見つけ、その解決方法を考えてクライアントにわかりやすく説明するため、ロジカルシンキングは不可欠なスキルです。ロジカルシンキングは独学でも訓練を重ねることで習得することができます。書籍も多数販売されてますが、それらを読むだけでなく、普段から一つの物事に対して筋道を立てて論理を展開してみるなど、実践する機会を増やすことで習得できるのがロジカルシンキングです。
コミュニケーション能力
エンジニアは一人で黙々とプログラムを作成することがほとんどといったイメージもあります。しかし実際は、クライアントやメンバーと協力して質の良いシステムを開発するためにコミュニケーション能力は必須です。会話する人に対して関心を持つことを意識して会話が弾むようにしたり、相手が打ち解けやすい柔らかい表情を意識したりするなど、日頃から積極的にコミュニケーション能力を高める努力をしていきましょう。
エンジニアが成長するための方法とは?必要な行動、特徴、習慣、環境まで徹底紹介!
独学でエンジニアになるロードマップ
独学でエンジニアになるロードマップをステップごとに解説します。
STEP 01
エンジニアの種類を決める
まず、自分がなりたいと思うエンジニアの種類を決めましょう。
一口にエンジニアと言っても、エンジニアにはさまざまな種類があります。ここでは、大きく3つに分けてご紹介します。
開発エンジニア
ゲームやシステム、アプリを開発(プログラミング)・設計・テストする人です。使用する言語はJava・Python・PHPなどプロジェクトによって異なるため、多くの言語を使えるようになっておいた方が仕事を探す際に有利になります。
プログラマーやシステムエンジニア、Webエンジニア、AIエンジニアなどが該当します。
インフラエンジニア
システムやネットの運用に必要なサーバーとネットワークの設計・構築・運用を行うエンジニアです。BashやTTL、Rubyなどの言語を学ぶことを推奨します。
サーバーエンジニアやセキュリティエンジニア、ネットワークエンジニアなどがあります。
マネジメント系エンジニア
営業のサポートをしたり、プロジェクトの進行を担当したりするエンジニアです。
セールスエンジニアやサポートエンジニア、プロジェクトマネージャー、ブリッジSEなどがあります。
STEP 02
決めた種類に沿って環境を構築する
自分が目指したいエンジニアの種類が決まったら、それを学ぶための環境を構築しましょう。
パソコンとインターネット環境に加え、必要なツールをインストールしなければなりません。
またプログラム開発を行うためには、統合開発環境(Integrated Development Environment、IDE)も欠かせません。IDEとはコードの編集、デバッグ、ビルド、実行など、開発者がプログラムを作成するために必要なツールや機能が統合されています。IDEを使うことで、効率的にプログラムを開発することができます。
STEP 03
知識を身に付ける
学習サイトや動画、参考書を活用して知識を身に付けます。特に学習サイトでは初歩的な内容を扱っているものも多いので、まずは学習サイトを使ってみることをおすすめします。その後、書籍で応用的な内容を学ぶと良いでしょう。
STEP 04
真似してみる
エンジニアの知識がある程度身に付いたら、既に存在しているWebサイトやサービス、アプリを真似してみましょう。公開されているコードを書き写します。 学習した内容が実際にどう使われているのかがわかるので、より深く理解することができるでしょう。
STEP 05
実践する
実践として、オリジナルのアプリやサイトなどを作ってみましょう。知識を学んだとは言っても、自分で創造することはまた別の難しさがあります。試行錯誤しながら練習し、経験を積んでいってください。システム開発の経験は、転職活動や採用活動においてポートフォリオに記載することで企業にアピールできるものです。開発スキルのある方は実践して損はありません。
独学でエンジニアになるための勉強をするときのポイント
独学でエンジニアを目指す際のポイントをご紹介します。
自分に合った教材を使う
勉強するときには、自分の知識量やレベルに合った教材を使うことが重要です。教材に目安となるレベルが記載されていることもあるので、参考にすると良いでしょう。 また、学習スピードが上がるように使いやすさを意識したり、モチベーションを維持できるようにしたりすることも大切です。
手を動かしながら学ぶ
エンジニアになるためには、知識を身に付けるだけではなく自分で手を動かして練習することが重要です。手を動かすことで、なぜエラーが起こってしまうのか、エラーを解決するためにはどうしたら良いのか、を一つひとつ学んでいくことができます。そうすると、勉強しているときだけでなく、仕事に就いて業務をこなすときにも役立つでしょう。
継続して学習する
独学でエンジニアになろうとすると、自分で学習スピードを管理する必要があります。特に初心者の場合は、知識を学んでも時間をあけると忘れてしまうことも多いでしょう。そのようなことが起こらないように、勉強時間や学習頻度を決めておくことをおすすめします。
また、後に解説しますが、一般的に自己研鑽を始めたての時期は停滞期といい能力が伸びづらい場合が多いです。そのため、停滞期を乗り越えることが成長できるか否かの境界線となります。
成長曲線を意識する
成長曲線とは、努力量やかかった時間に対してどれだけの成長を達成したかを表す曲線のことです。横軸に努力量(浪費時間等)をとり、縦軸に成果・収入を取ります。エンジニアをこれから目指される方や現在エンジニアとして自己研鑽をしている方も、成長曲線を意識して、成長すべきです。理由は大きく2つあります。 1つ目は、現実(現在)と理想(目標)のギャップがわかるからです。2つ目は、モチベーションを保ち、挫折しないためです。エンジニアとして、成長曲線を意識することは、高いレベルで自己研鑽を行うために必要になるのです。
エンジニアの成長曲線とは?必要な理由と活用法を紹介!
独学でエンジニアを目指す際の限界
独学でエンジニアを目指す際は、費用の面や、自分の好きな時に学習することができるというメリットがありますが、デメリットも多く存在します。そのデメリットにより、エンジニアについての学習がストップしてしまうのが限界を感じる状況です。
エンジニアの独学で限界を感じる理由
エンジニアに独学でなろうとした人の多くはこのポイントで挫折してしまうようです。
モチベーション
まずは、モチベーションが維持できないという点です。スクールの場合は、自分と同じようにエンジニアを目指している人や講師がいるためやる気が起きやすいといえます。独学の人はそのような機会がないため、勉強している人とSNSなどをとおしてやりとりする、実際に働いている人のブログを読むなどしてモチベーション低下に気を付けましょう。
学習計画
学習計画をしっかり立てられないというのも、限界を感じる原因です。まず、何から学習すればよいのかわからない、ひとつの知識に時間をかけすぎてしまい、なかなか先に進まないということが起こりえます。
アウトプット
エンジニアを独学で目指している人は、インプットばかりの学習になりがちです。アウトプットの機会を得ること自体が独学の方にとっては難しいことですが、学習サイトを利用するなどしてアウトプットも重視しましょう。
相談相手
独学最大のデメリットともいえることが、勉強していてわからないことがあった際に周りに聞くことができない点です。答えは書籍やサイトにのっているかもしれませんが、その答えを見つけることも、人に聞くよりは多くのコストがかかるでしょう。また、自分の向き不向きなども判断してもらうことができません。
エンジニアを独学で目指す人に必要な勉強時間
一般的に、エンジニアを目指す際に必要となる勉強時間は、1000時間といわれています。エンジニアを独学で目指す人の中で、多くの人が限界を感じてしまうよう中、どのくらい勉強すればエンジニアになれるのか把握することはモチベーションの維持につながります。1000時間と聞くと長く感じるかもしれませんが、1日3時間勉強して1年ほどです。
独学でプログラミングを学び、限界を感じた時の対処法
ここでは、独学でプログラミングを学び限界を感じた時の対処方法について解説します。
- コミュニティに参加する
- メンターを見つける
- プロジェクトに参加してみる
コミュニティに参加する
プログラミング独学で限界を感じたら、コミュニティに参加してみましょう。オンラインやオフラインのコミュニティでは、他のプログラマーと交流する機会が得られます。そこでは、疑問や問題を共有し、解決策を議論することができます。また、他のメンバーからのフィードバックやアドバイスを受けることで、自身のスキル向上に役立ちます。
さらに、新しい技術やトレンドについて学ぶ機会も得ることができます。またコミュニティへの参加は、モチベーションの向上や成長の促進につながります。GitHubやStack Overflowなどのプラットフォームも活用し、プログラミングの道を共に歩む仲間を見つけましょう。
メンターを見つける
プログラミング独学で限界を感じたら、メンターを見つけることが有効です。経験豊富なプログラマーがアドバイスや指導を提供し、成長のサポートをしてくれます。メンターからは、業界のトレンド、キャリア戦略などを学ぶことができます。メンターは自分の目標に合ったアドバイスを提供し、自信を持ってスキルを向上させるための道筋を示してくれます。
メンターは業界イベント、SNS、プログラミングコミュニティなどでメンターを探すことができます。メンターを見つけることでプログラミングのスキル向上だけでなく、キャリアの発展にも大きな影響を与えます。
プロジェクトに参加してみる
プログラミング独学で限界を感じたときは、実践的なプロジェクトに参加することでスキルを向上させることが有効です。オープンソースプロジェクトに貢献するか、個人プロジェクトを立ち上げることで、学んできたことを実践に結びつけることができます。プロジェクトに参加することで、コードの品質や保守性について学ぶだけでなく、チームワークのスキルも向上させることができます。
また、実際のプロジェクトに取り組むことで、自分の知識や能力を試すことができ、新しいアイデアや解決策を見つけることができます。プロジェクトに参加することで、モチベーションを高め、自身の成長を促進することができます。さまざまなプロジェクトに参加して経験を積み、プログラミングのスキルを更に磨いていきましょう。
独学でエンジニアを目指す方向けの学習サイト・参考書
独学でエンジニアを目指す方向けの学習サイトや参考書は様々なものが存在しますが、特におすすめのものを紹介します。
progate
出典:)progate
progateはイラスト中心のスライドを使い、ビジュアルに配慮された構成の学習サイトです。最初にスライドで学習してから実際にプログラミングを実践する流れは非常に効率が良いです。
ドットインストール
出典:)ドットインストール
ドットインストールは3分の動画解説型の学習サイトです。学習できる範囲が豊富で、300個のレッスン、4000本以上の動画があります。
プログラミングをはじめよう
出典:)プログラミングを、はじめよう
「プログラミングをはじめよう」はプログラミングを勉強してみたいが、何から始めれば良いかわからないという初心者向けの本です。言語についてではなく、そもそもプログラミングについてなどの初歩的なことをわかりやすく解説しています。
独学でフリーランスエンジニアになれるのか?プログラミングの学習方法などを解説
エンジニアを独学で目指す際におすすめの資格
エンジニアになるために必須となる資格はありません。しかし、特に独学で勉強する場合は、モチベーションを維持するためにも資格取得を目指すのは一つの手です。また、就職したり仕事を受注したりするときに、資格を所有していると有利になります。
基本情報技術者試験
IPA(情報処理推進機構)が実施する国家試験です。この国家資格を取得すると、情報処理技術の基本的な知識と技術を持っていることを証明することができます。
試験の内容としては、「特定の製品やソフトウェアに関する試験ではなく、情報技術の背景として知るべき原理や基礎となる知識・技能について、幅広く総合的に評価」するものとなっています。
ITパスポート
IPAが実施する国家試験です。AIやITなどに関する知識が問われる試験内容となっています。取得すると、「ITを利活用するすべての社会人・これから社会人となる学生が備えておくべきITに関する基礎的な知識が証明できる」ようになっています。
プログラミング言語ごとの試験
JavaやRubyなど、プログラミング言語ごとに民間試験が実施されています。自分が目指すエンジニアに必要な言語に対応した試験の学習を進めることで、知識の習得が見込めます。
目指すエンジニア種類ごとの試験
ネットワークスペシャリスト試験(IPA実施の国家資格)やシステムアーキテクト試験(IPA実施の国家資格)など、分野ごとの試験もあります。 自分が目指すエンジニアに対応した試験を探してみてください。
独学エンジニアが最初の仕事(案件)を見つける方法と注意すべきポイント
独学でプログラミングスキルを習得したら、次はいよいよ実践経験を積むステップです。最初の仕事(案件)獲得は大きな一歩ですが、いくつか注意すべき点もあります。ここでは、経験を積むための方法と、仕事を探す際に押さえておきたいポイントを解説します。
1. 経験を積むためのアプローチ
はじめから正社員として理想の企業に入るのが難しい場合でも、経験を積む方法はいくつかあります。
単発・短期の案件からスタートする
まずはクラウドソーシングサイトやフリーランスエージェントを活用して、比較的小規模な案件や単発の仕事から実績を積むのがおすすめです。知人からの紹介で小さな開発を手伝うのも良いでしょう。
- クラウドソーシングサイト:Lancers, CrowdWorksなど。実績がなくても応募しやすい案件が見つかることも。
- フリーランスエージェント:ある程度スキルがあれば、エージェントが案件を紹介してくれます。
- 知人からの紹介:身近なところから信頼を得て実績を作るチャンスです。
これらの方法で得た経験や成果物は、後の就職活動で重要なポートフォリオとなります。
独学でフリーランスエンジニアになれるのか?プログラミングの学習方法などを解説
契約社員やアルバイトとして実務経験を積む
正社員登用を前提とした契約社員の募集や、IT企業でのアルバイトも実務経験を積む良い機会です。OJT(On-the-Job Training)を通じて、現場のスキルを学ぶことができます。
正社員としての就職を目指す
ある程度の実績やポートフォリオができたら、正社員としての就職活動を本格化させましょう。安定した雇用のもとで、より大規模なプロジェクトに関わるチャンスも増えます。
- 転職サイト:doda、リクナビNEXT、Greenなど。未経験者向けの求人も掲載されています。
- 転職エージェント:キャリア相談から求人紹介、面接対策までサポートしてくれます。
- 企業ホームページからの直接応募:興味のある企業があれば、直接応募も有効です。
2. 仕事を探す際の重要チェックポイントと注意点
特に独学でスキルを身につけた方が最初の仕事を探す際には、以下の点に注意して慎重に選びましょう。
「未経験歓迎」求人の実態を見極める
「未経験歓迎」という言葉だけに惹かれず、具体的な研修制度の有無や内容、入社後のキャリアパスを確認しましょう。本当に育成環境が整っているのか、それとも人手不足で誰でも良いという意味なのかを見極める必要があります。任される業務内容がスキルアップに繋がるかどうかも重要です。
SES企業を選ぶ場合の注意点
IT業界ではSES(システムエンジニアリングサービス)という契約形態で働く企業が多くあります。客先常駐が基本となり、様々なプロジェクトを経験できるメリットがある一方、必ずしも自分の希望する技術や業務内容に携われるとは限らない点に注意が必要です。企業の評判や、エンジニアのキャリアをどれだけ考えてくれるかを確認しましょう。
求人情報の詳細な読み解き
募集要項に書かれている「必須スキル」「歓迎スキル」をよく確認し、自分の現状と照らし合わせましょう。業務内容についても、どのような技術スタックで、どのような役割を担うのかを具体的にイメージできるまで情報を集めることが大切です。企業の口コミサイトやSNSでの情報も参考にしつつ、情報の信頼性を見極めましょう。
ポートフォリオの準備と面接対策
独学者は実務経験がない分、学習意欲やポテンシャル、そして作成したポートフォリオ(制作物)が非常に重要になります。どのような技術を使って何を作ったのか、そこで何を学び、どのような課題をどう解決したのかを具体的に説明できるように準備しましょう。面接では、なぜエンジニアになりたいのか、なぜその企業を選んだのかといった熱意も問われます。
労働条件・契約内容の確認
給与だけでなく、残業時間の実態、休日、福利厚生、研修制度、試用期間の条件など、雇用契約書の内容は細部までしっかり確認しましょう。入社後に「こんなはずではなかった」とならないように、不明な点は遠慮なく質問することが大切です。
焦らず慎重に企業を選ぶ
最初の就職先は、その後のエンジニアとしてのキャリア形成に大きな影響を与えます。「早くエンジニアになりたい」という気持ちも分かりますが、焦ってブラック企業やスキルアップが見込めない環境を選んでしまわないよう、慎重に企業選びを行いましょう。複数の企業を比較検討し、可能であればOB/OG訪問をするなどして、自分に合った環境を見つけることが重要です。
一方で正社員として働く場合は、責任が重い、残業がある、人間関係に苦労する場合があるなどのデメリットも存在します。自分に合った働き方を選びましょう。
まとめ
本記事では独学でエンジニアを目指す方向けに必要な知識・スキル、おすすめの学習サイトを紹介しました。エンジニアはプログラミングスキルだけでなく、ロジカルシンキングやコミュニケーション能力など幅広いスキルを求められます。今回紹介した学習サイトやその他の参考書などを活用してスキルアップのために頑張りましょう。






