「エンジニア」と言われると、パソコンを使ってプログラミングコードを書く仕事をイメージする人が多いでしょう。
実際は「エンジニア」と呼ばれる仕事がたくさん存在しています。
そのため、「エンジニアになりたい」と思っていた人の中には「仕事内容が思っていたのと違った」と思っている人も…
そこで転職に失敗しないためにも、エンジニアとはどんな仕事なのか、未経験からエンジニアになる方法はあるのか見ていきましょう!
エンジニアとは?意味、定義について
エンジニア(Engineer)は、技術者・技師・工学者という意味を持った単語です。
そして、「工学に関する専門的な知識・スキルを持った人材」という意味であり、日本においては工業の現場でモノづくりに携わっている人のことを指します。
そのため、自動車開発に携わっている人や土木技師、IT業界における開発職など様々です。
エンジニアはどんな仕事?業務、仕事内容
IT業界におけるエンジニアに関しても種類が色々です。
それでは、IT業界のエンジニアと呼ばれる仕事の代表格をチェックしていきましょう!
プログラマー
コンピューターは人間のように自分で考えることができず、指示された通りにしか動きません。ただ、当たり前にコンピューターは人間の言葉も理解できません。
そこで上の画像ようなコンピューターが理解できる「プログラミング言語」を用いて、アプリケーションやWebサイトを制作するのがプログラマーの仕事です。
例えばWebサイトのメニューに、
・TOP
・マイページ
・ヘルプ
・ログイン
など書かれているとします。
当たり前にわからないことがあったらヘルプボタンをクリックして確認したり、マイページで自分のアカウント情報をチェックしたりしますよね。
これは、「TOPページのボタンをクリックした際にTOPページへ移動する」「ログインされている状態ならマイページへ移動する」などプログラマーがこのようにコンピューターを動かす指示を出している故に実現できています。
そして、このたくさんの指示の集まりでできているのがWebサイトやアプリケーションです。
プログラミング言語には大きく分けるとホームページなどの見た目に関わるフロントエンド言語と、データベースとの接続などユーザーから見えない部分に関わるサーバーサイド言語の2種類が存在します。
そこでフロントエンド言語のコードを書くプログラマーをフロントエンドエンジニア、サーバーサイド言語のコードを書くプログラマーをサーバーサイドエンジニアということもあります。
デザイン寄りの仕事がしたいならフロントエンド、プログラムコードをたくさん書きたいならサーバーサイドを勉強すると良いでしょう。
システムエンジニア
システムエンジニアは「入力したデータをデータベースのどこに保存する」などといったことが書かれた設計書を作ります。
プログラミングは基本行わず、現場で働く人員の仕事の割り振りや書類の作成などマネジメントに関わる仕事がメインです。System Engineerの頭文字を取ってSEと呼ばれることもあります。
システムを設計するにあたって、プログラムの仕組みを理解している必要があることから、システムエンジニアになるにはプログラマーとして経験を積んでキャリアアップするのが一般的です。
基本的にソフトウェアの開発は下の図のような流れで進んでいきます。
ちなみにシステム開発の開発手法は1つが終わったら次、というように進んでいくことから、これを川の流れに例えて「ウォーターフローモデル」と言われています。
そして、システムエンジニアが担当する設計や企画などの業務(詳細設計まで)を上流工程、プログラマーが担当する工程(プログラミング以降)を下流工程と言います。
こちらも川と同じでウォーターフローモデルにおいて上の方に分類される仕事が上流、下の方に分類される仕事が下流と思っておくと良いでしょう。
上流工程と下流工程の違いに関しては、上流工程は下流工程の人が仕事をするための指示書などを作成するのがメインでプログラムには基本触れないこと、そして下流工程は上流工程の人の指示に従って仕事をすることが挙げられます。
それでは各工程について1つずつ詳しく見ていきましょう。
・要求分析
一番最初のフェーズである要求分析では、顧客がソフトウェア開発を委託するにあたってどんな機能が欲しいかヒアリングを行います。
・要件定義
要件定義では、要求分析でヒアリングした内容をもとに開発するソフトウェアなどにどんな機能が必要なのかまとめます。また、この段階で要件定義書や要求仕様書などといった書類も作成します。
・基本設計
要件定義で決められた内容をもとに、アプリケーションやサイトにどんな機能を搭載するか決めるのが基本設計です。
例えば入力フォームを作成する、メニューバーにどんな項目を作るなどといったことは基本設計で行われます。
この段階ではアプリケーションやサイトの使いやすさ・見やすさを考えながら設計することが重要となります。
・詳細設計
基本設計で決めた機能をどのように実現するか設計するのが詳細設計です。
例えばアプリケーションを使用した人が入力したデータをデータベースのどこの保存するかなどを決めます。
ここまでが上流工程であり、システムエンジニアの仕事となります。
・プログラミング
プログラミングから下流工程となり、プログラマーの出番です。
仕様書の指示を実現するようにプログラムコードを書いて、アプリケーションなどの制作物を形にしていきます。
・テスト
プログラマーが作った制作物をテストし、納品しても問題ないか確認するのがテスト作業です。
テストには単体テスト・結合テスト・総合(システム)テストの3つがあり、単体テストではボタンを押してもエラーが発生しないかなどといったことを行い、コードに間違いが無いかを探します。
次に結合テストでは他のシステムとの連携を行います。例えば、入力したデータなどがデータベースに格納できているかどうかも結合テストです。
そして最後に開発した制作物が問題なく動作するか確認するのが最終段階である総合テストとなります。
そして総合テストが終わったら取引先に開発したものが納品されます。
ただ、システムエンジニアが存在するのは業務用のシステム開発の現場が中心です。Web系開発の場合は設計もプログラミングもチームで取り組むのが一般的であり、システムエンジニアとプログラマーの境目がありません。
そのため、Web系開発で働くエンジニアのことはシステムエンジニアやプログラマーなどといった名称を使わずにWebエンジニアと呼ぶことも多いです。
インフラエンジニア
インフラエンジニアはインターネットが停まることなく利用できるように監視・運用を行ったり、企業内でインターネットを利用する際にネットワークを設計したりする仕事です。
私たちが24時間いつでもインターネットを使えているのは、インフラエンジニアが常にエラーが起こっていないかなど監視をしてくれているお陰です。
プログラマーなどと比べると知名度は低めの仕事ですが、縁の下の力持ちポジションの仕事と言えるでしょう。
プログラマーやシステムエンジニアとは全く仕事内容が異なり、プログラミングに関する知識も求められ無い代わりに、MacやWindowsに加えてLinuxと呼ばれるOSの操作に関する知識が必要となります。
プログラマーはどちらかと言うとひらめきが求められる仕事なのに対して、インフラエンジニアはミスを見落とさない丁寧さが求められる仕事です。
ちなみに、インフラエンジニアよりもより深く専門的な知識が求められる仕事としてサーバーエンジニアやネットワークエンジニアが挙げられます。
インフラエンジニアも上流工程と下流工程が存在しており、経験を積んで設計などの上流工程を目指すのもありですが、サーバーやネットワークなど1つの分野を極めてエキスパートを目指すという選択肢もあることを知っておきましょう。
エンジニアの平均年収
上記のようにエンジニアと言っても様々であり、求められる仕事の難易度も異なります。
また、年齢でも年収に差があり、20代は250万円程度、30代は300万円、40代は400万円~450万円程度というように上がっていくものと考えておくと良いでしょう。
やはりプログラマーや運用・監視のインフラエンジニアなど下流工程の仕事はどうしても年収が低くなることが多いです。
そのため、大半の下流工程を担当しているエンジニアは30代に入った頃からマネジメントを学んで上流工程へのキャリアアップを目指しています。
先ほど紹介した年代ごとに関しても、40代に入った途端に大幅に年収が上昇するのは上流工程の経験を積んで管理職を任されるようになる人が増えるためと言えるでしょう。
ただ、マネジメントに関して苦手意識を持っている人もいるでしょう。そんな人は技術をより深めて稼げるエンジニアを目指すのも1つの手です。
サーバーエンジニアやネットワークエンジニアは昔から年収が高い仕事であり、経験を積む必要があるので時間はかかりますが、インフラからスターとしている人はこの分野を狙ってみると良いでしょう。
また、ここ数年はクラウドやAIに関する注目度が高くなっていることから、データサイエンティストや機械学習エンジニア、データベースエンジニアも狙い目です。
年収1,000万円を超えるチャンスであり、プログラマーはシステムエンジニアだけでなくこれらの選択肢があるということも知っておきましょう。
Webエンジニアになるために必要な勉強時間
全く未経験の状態からWebエンジニアを目指すには1000時間と言われていますが、未経験からIT業界に入社することを考えればこんなに時間はかかりません。
大体3ヵ月間毎日2~3時間勉強時間を確保できればある程度知識は身に着くので、実際は200~300時間程度と思っておくと良いでしょう。
それ以上に、動画で学ぶのが向いているか、人に教えてもらうのが向いているか、それとも本を買うのが良いのか、自分に合った方法を選べるかどうかが重要です。
未経験からエンジニアになる方法
一切知識が無い状態でもIT業界を目指すことは不可能ではありません。それでは、エンジニアになるためにはどんな方法があるか見ていきましょう。
未経験OKの企業に入社する
プログラミングを学ぶにも時間がかかりますし、スクールへ通う費用も高額です。そんな時、一切IT業界で働いた経験が無い人を採用している企業を狙うという選択肢もあります。
IT業界は経験者重視の業界ではありますが、これはベンチャー企業や大企業の場合であり、人手不足で未経験者も積極的に募集している企業も存在します。
その代表例がSIer(エスアイアー)と呼ばれる企業です。SIerとはシステム開発を受注したり、企業に所属しているエンジニアを派遣したりしている企業のことを言います。
SIerは官公庁や保険会社のシステムなど大規模開発がメインであるものの、どこも人材不足が深刻です。
そこでSIerは20代の未経験者を採用して教育することで所属しているエンジニアを増やすことに力を入れている企業が多いので、知識が無くても若ければIT業界へ飛び込むことができます。
SIerへ就職するメリットとして大きいのは一切プログラミングに関する知識が無い状態で転職できるうえに、1~3ヵ月の研修期間の間も給料が出ることでしょう。
お金を貰いながら学べるので、プログラミングを学んでいる期間のお金の心配も必要ありません。
しかし、SIer自体には正社員として所属しているものの実際は特定派遣という形で雇われることとなります。
派遣社員扱いで派遣先での働きぶりがわかりにくく評価されにくい、業務用システム開発で新しい技術に触れることができる可能性が低いというデメリットはありますが、SIer経験者の需要は高く、3年ほどSIerに勤務してから転職する人は多いのであまり心配する必要はありません。
就職・転職支援付きのプログラミングスクールに通う
主に都市部には、20代であれば無料で通える就職・転職支援付きのプログラミングスクールが存在します。
プログラミングスクールと言われるとお金がかかるイメージを持っている人もいるでしょうが、無料なら安心して通えるでしょう。
無料のプログラミングスクールの紹介先企業はSIerが大半であり、スクールに通っている期間はあくまで職業訓練なのでお金が発生しないことを考えると最初からSIerに入社してお金を貰いながら学んだ方が良いですが、SIerでも転職活動が上手くいかないならスクールに通うのがおすすめです。
そこでたくさんある無料の転職支援付きプログラミングスクールの中でも特におすすめするのがGEEK JOB。
無料で即戦力として働けるだけのスキルが身に着くうえ、コロナウイルスの影響で現在なら関東で転職することという条件だけでオンライン形式でレッスンが受けられます。
わからない部分をメンターに聞いて解決するという形式なので、自分で調べる力も身について良いでしょう。
URL:https://learn.geekjob.jp/course-careerchange
知識を身に着けて自力で転職する
未経験でもSIerではなくオシャレだったり、フレックスタイム制だったり、条件が整ったベンチャー企業で働きたいと思う人もいるでしょう。
そんな場合は自分でポートフォリオと呼ばれる制作物を作ってFind Job!やGreenなどといったベンチャー企業に特化した転職サイトを使って転職サイトを利用して転職することをおすすめします。
これらのサイトの場合、実務未経験と言って、プログラミングはできるけれどもIT業界で働いた経験が無い人向けの求人も多く取り扱っており、採用基準もどちらかと言うとポテンシャル重視なので、やる気次第では未経験でもベンチャー企業を目指せます。
コメントを書く