Gerd AltmannによるPixabayからの画像
こんにちは。倉内です。
未経験からITエンジニアを目指す方は、ITエンジニア=開発系のエンジニアという印象が強いと思いますが、実はエンジニアといってもさまざまな職種に分かれています。
たとえば、サーバやネットワークに携わるインフラ系エンジニア、セキュリティやデータベースなど専門領域に特化したエンジニア、またはIT関連職として研究開発(R&D)や品質管理(QA)といったものもあります。
多くの選択肢を知っておくことは大切ですが、未経験からなれるのか、そもそも未経験者を募集している求人があるかなど業界未経験だと分からないことも多いですよね。
そこで今回は、どんな知識が必要になるのかということも含め、職種別の目指し方についてご紹介したいと思います。
なお、paizaが運営する「EN:TRY」では、実務経験の浅い方・未経験者向けのITエンジニア求人を公開していますので、まずは実際の求人票を見てみたいという方はごらんください。
ITエンジニア・関連職種を知ろう
まずはおもな職種と業務内容を簡単に把握しておきましょう。
以下の記事で19種類のITエンジニア・関連職種について紹介していますのでごらんください。
記事中では、ITエンジニアの職種を開発系・インフラ系・IT関連職の3つの領域に分け、以下の図のどのあたりを担当するのかも示しています。(図は基本的なもので、この中のいずれかにうまくあてはまらない職種もあります。)
本記事では、その中でも以下の職種を取り上げます。
開発系
- フロントエンドエンジニア
- バックエンドエンジニア
- システムエンジニア(SE)
- プログラマ(PG)
- 組み込み系エンジニア
インフラ系
- データベースエンジニア
- ネットワークエンジニア
- セキュリティエンジニア
- カスタマーエンジニア(CE)
IT関連職
- ITコンサルタント
- データサイエンティスト
- QAエンジニア
- 社内SE
職種別・未経験からの目指し方
開発系
フロントエンドエンジニア
比較的求人数が多く、未経験からエンジニアを目指す際のもっともメジャーな選択肢かと思います。Webエンジニアもほぼ同義です。
フロントエンドという名の通り、おもにWebサイトやサービスなどのブラウザ側、もう少し分かりやすく言うとユーザーの目に触れる部分(画面・機能)の開発を担当します。
学んでおくとよい内容:
- フロントエンドでよく使われるHTML/CSS、JavaScript
- WordPressなどCMSをカスタマイズするためのPHP
- スマ―フォトンやタブレットなどのモバイル対応のためのUI・UXに関する知識
独学でも学びやすい分野ですし、スクールなどでも教えていることが多い内容です。paizaラーニングのようにオンラインの学習サービスでもひととおり学ぶことができます。
JavaScriptについてはReactやVueなどフレームワークについても学んでおくとなおよいでしょう。
また、DjangoやLaravelなどWebアプリケーションフレームワークを使った開発についても実際に手を動かして学んでおくと武器になります。
バックエンドエンジニア
フロントエンドと逆で今度はバックエンド、つまり表に見えない部分の開発を担当します。まったく同義ではない場合もありますが、サーバサイドエンジニアもほぼ近い業務内容です。
動的処理を実現するためのサーバ側のプログラムを書いたり、データベースやファイルアクセスのためのプログラムを書いたりします。
まったくの未経験者が目指す場合、まずは基本情報処理技術者試験などでベースとなる知識を身につけることをおすすめする現役エンジニアの声も多いようです。
学んでおくとよい内容:
- コンパイラ型言語(C、C++、Javaなど)
- インタプリタ型言語(PHP、Perl、Ruby、Pythonなど)
- データベース(SQL含む)やセキュリティの基本的な知識
上記以外の主要プログラミング言語の学習講座一覧はこちら
システムによってサーバサイドで使われている言語はかなり違うので、「これを学ぼう!」というのは定めにくいのですが、もし自分が興味のある企業やサービスがあれば、どんな技術が使われているか調べてもよいかもしれません。
システムエンジニア(SE)
ここでは実際コードを書く職種と区別して、おもに受託開発の上流工程(要件定義~設計)を担当する職種をSEと呼ぶことにします。
新卒採用では、理系・文系問わず採用する企業も多いので間口は広いのですが、大手のSIerはSE職の中途採用はほとんどしていないので、転職先によって難易度が大きく変わりそうです。
ただし、20代前半であれば十分チャンスはあります。
学んでおくとよい内容:
- 基本情報処理技術者レベルの基本的なIT知識
- 要件定義~設計~開発~テスト~運用といった開発の一連の流れ
- 業務システムで採用されることが多いJava
お客さまや関連会社とのやり取りや、プロジェクトチームでの仕事を円滑に進めるため、ITの知識はこれからという場合でもコミュニケーション能力に自信がある方は活躍できる可能性が高いです。
プログラマ(PG)
広義ではコードを書く職種はすべてプログラマと呼べるかも知れませんが、ここではSEが設計したものを実装する役割を担う職種をPGと呼ぶことにします。
まずは何よりも実務経験を得ることを第一に考えて、SES(システムエンジニアリングサービス)に入ろうと考えている方はPGからのスタートになると思います。
未経験者可の求人も多く、入社後しばらくは研修期間をもうけている企業もあります。ただし、コロナ禍において案件数が減っていることから以前ほどは未経験者採用が活発ではない点は注意しておきましょう。
学んでおくとよい内容:
- 案件数が多いJavaやPHP
- ゲーム分野であればC#(Unity含む)
- スマホアプリであればJava、Kotlin
インフラ系
データベースエンジニア
現代のシステム開発案件でデータベース(DB)を利用しないということはまずないので、DB設計や構築、安定運用、また大量データを扱う際のチューニングなどを専門とするデータベースエンジニアは重要な存在と言えます。
実務経験がなくても独学である程度知識をつけることはできますが、高い専門性が求められることが多いので未経験からの転職難易度は高めです。
学んでおくとよい内容:
- メジャーなデータベース(Oracle、Microsoft SQL Server、PostgreSQLなど)の基本知識
- 上記のデータベースの構築、操作方法
- アプリケーションやサーバとの関係性、データ処理における負荷分散やチューニングなど
ネットワークエンジニア
ネットワークの設計、構築、監視・運用を専門とするエンジニアのことです。
専門性が高い分野ではありますが、CCNAと呼ばれるネットワークの資格取得が転職にはかなり有効に働くため、意欲がある方にとっては比較的目指しやすい職種のひとつかもしれません。
学んでおくとよい内容:
- ハードウェアやOSなどのコンピュータの基礎知識
- ネットワークに関する基本的な知識(WAN系・LAN系・インターネット系の特徴や違い、通信技術)
- OSI参照モデルの各層とネットワーク機器(ハブ、ブリッジ、ルーターなど)に関する知識
ネットワーク分野については、書籍も多く出ていますが独学の難易度はやや高いのでスクールなどに通って身につけるという選択肢もあります。
セキュリティエンジニア
現代においてセキュリティの考慮が不要なシステムはほとんどないため需要の高い職種です。
ただし、セキュリティのみというよりは、システム開発やインフラ構築におけるあらゆる箇所でセキュリティ要件について検討し、設計・実装・テストをする業務が多いのが現状です。
一般的には他のインフラ系エンジニア職種からキャリアアップして目指すことが多い職種のため、未経験での募集はあまりないと考えたほうがよいでしょう。
学んでおくとよい内容:
- アプリケーションやネットワークに関するセキュリティマネジメント
- 情報システムへのメジャーな攻撃手法とその対策
- 不正アクセス禁止法や個人情報保護法といった法律および関連制度の知識
paizaラーニングでは、SQLインジェクションなどを例にセキュリティについて学べる「攻撃手法から学ぶ ハッカー入門」(Webセキュリティ入門)講座を公開中です。
カスタマーエンジニア(CE)
CEはシステムの安定稼働のための保守や点検、修理を専門におこなう職種で、特にPC本体や周辺機器の設置、故障や障害時の対応などハードウェアに関することを得意としています。
監視業務や障害発生時の迅速な対応のためにシフト勤務をとることもあります。
業界未経験で目指す場合は、まずはSEとして基本的な知識を得てからのほうがスムーズかもしれません。
学んでおくとよい内容:
- 基本情報処理技術者レベルの基本的なIT知識
- ハードウェアやOSなどのコンピュータの基礎知識
- 保守点検に必要な資格(電気工事士、認定電気工事従事者、工事担当者)
クライアントと直接やり取りが発生することも多いためコミュニケーション能力も必要となります。
IT関連職
ITコンサルタント
顧客の課題についてヒアリングし、現状の調査・分析、改善案の提案といった仕事がメインとなります。顧客の課題解決のために新しい提案ができるよう、技術トレンドを把握しておくことも大切です。
未経験者の採用をおこなっているコンサルティング会社も多くあります。いかにポテンシャルを見せられるかが鍵となるでしょう。
学んでおくとよい内容:
- ロジカルシンキング、SWOT分析など戦略的に考えるための思考フレームワーク
- 基本情報処理技術者レベルの基本的なIT知識
- 財務会計領域および経営や組織開発に関する知識
上記のほか、コミュニケーション能力やプレゼンテーション能力も求められます。現職がIT業界とは異なる業界でも、プレゼンテーションをおこなう経験を積んでいれば有利に働きます。
データサイエンティスト
一時期よりは落ち着きましたが、未経験から目指したいという方が非常に多かったのがデータサイエンティストかと思います。
機械学習エンジニアと同じものとして語られることも多いのですが、データサイエンティストは「統計学や機械学習を用いてデータを分析・解析し、その結果で顧客に価値を提供する」というのが仕事です。どちらかというとコンサルタントに近い職種と言えます。
統計学などの知識が必要とされるため、理系専攻でない人が未経験から目指す場合は難易度は高めかもしれません。
学んでおくとよい内容:
- 数学(微積分など)、統計学、人工知能の知識
- ExcelやAccess等ツールの基本的な使い方・目的に合わせた活用の仕方
- 機械学習でよく採用されるプログラミング言語(Python、R言語など)
paizaラーニングではPythonで機械学習が学べる「Python×AI・機械学習入門編」講座を提供しています。機械学習が気になっている方はチェックしてみてください。
QAエンジニア
開発するシステムの品質目標を設定したり、実際にできあがったシステムをユーザー目線でテストをして品質に問題がないかをチェックする重要な役割です。
テスト工程に深く関わるため、SEを経てQAエンジニアになる人が多いですが、未経験者でも応募できる求人はあります。
学んでおくとよい内容:
- システム開発におけるテスト工程の知識
- JSTQBと呼ばれるソフトウェアテスト技術者の国際資格
担当領域が幅広いのでQAエンジニアがデバッガーの役割をしたり、テスト用の環境構築をする場合もあります。開発・インフラ両方の基本的な知識はあったほうがよいと言えます。
paizaでは、現役のQAエンジニアへのインタビュー記事を公開していますので、ぜひご参照ください。
社内SE
IT企業ではない企業のIT部門で仕事をする場合と、IT企業の社内システムに関わる仕事をする場合の2つの働き方があります。
社内SEの担当業務は幅広く、社内システム全般の開発・運用・保守からネットワークやセキュリティ、また従業員のIT教育や問い合わせ対応などもこなします。
未経験者が社内SEを目指すのは難しいと言われています。というのも社内SEは企業に在籍している人数自体が少なく、その少人数で幅広い業務を担当しなければならないため未経験者を育てる環境ではないためです。
もし「未経験可」という求人があっても、現実的には「社内SEの経験はなくてもよい」と捉えたほうがよいでしょう。
学んでおくとよい内容:
- 基本情報処理技術者レベルの基本的なIT知識
- ハードウェアやOSなどのコンピュータの基礎知識
- ネットワークに関する基礎知識
まとめ
未経験者からITエンジニアを目指す場合のなりやすさや学んでおいたほうがよい内容を職種別にご紹介してきました。
やはり職種によっては専門性が高かったり、経験が必要となったりで未経験からの転職は難しいものもあります。ただし、求人がないというわけではないので、努力しだいで実現も可能です。
新卒入社ではないので自分で学んである程度の知識を身に着けておくことがポテンシャルを感じてもらうという点でも重要になってきます。
「EN:TRY」は、paizaが運営する若手・未経験者向けのエンジニア転職サービスです。開発経験がない人・少ない人でも応募できる若手チャレンジ求人を中心に掲載しています。スキルチェック問題を解いて、スコアが一定基準を超えれば、事前の書類選考なしで複数求人へ応募できます。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら