エンジニアとは
- maro00
- 2021年12月18日
- 読了時間: 15分
更新日:2021年12月21日
エンジニアを目指される方必見!
エンジニアについてまとめてみました。
そもそもエンジニアとは何か。
エンジニアとは技術者という意味で、工学をあらわす英語の「エンジニアリング」が由来となっています。 近年では、エンジニアというと一般的にITエンジニアを指すことが多いですが、工学に関連する専門的な技術や能力をもつ職種を表します。
エンジニアと言っても色々あります。
今回はそれらを簡単にまとめてみました。 Webエンジニアの主な仕事内容 Webエンジニアの主な仕事は、Web上で利用されるシステム・アプリケーションなどの設計や開発、プログラミングで、これらは大きく2つに分類されます。

1つ目は「フロントエンドエンジニア」と呼ばれる職種で、ユーザーから見えるブラウザ部分の開発を行います。Webデザイナーが制作した画面レイアウトや配色に合わせ、UI/UXの質をできるだけ高められるよう実装していきます。 もう1つは「バックエンドエンジニア」と呼ばれる職種です。OSやサーバー、データベースの情報を管理するシステムなど、ユーザーから直接見えにくい部分の開発を行います。特に専門性が高い分野で、その多くはサーバーエンジニアやネットワークエンジニアが担うことになります。 採用シーンでは、Web系のプログラミング言語(PHP、Python、Java、JavaScriptなど)を使ったプログラミングやシステム開発の実務経験が重視されます。スキルや資格に関するWebエンジニアの具体的な定義はないものの、2~3年の実務経験が一つの目安となり、JavaScriptやデータベースを操作する際に必要なSQLなどを実際の業務で使用した経験があると、応募できる求人の幅も広がるでしょう。 今後、あらゆる分野でITを活用した非対面型のサービスの導入が進むと見込まれています。これまでIT化に後れをとっていた業界でも急速にキャッチアップが進んでいますので、需要はさらに高まるでしょう。
IT/通信系エンジニア Webエンジニア ITシステムの職種の中でもWebの知識・スキルを活かして働くエンジニアです。汎用機をメインとしていた従来のITシステムに比べると、Webシステムやサービスは規模も予算もコンパクトという特徴があります。プロジェクトのスタートから完成、ローンチまでが非常に短期間で、いくつものプロジェクトを並行して進めることも多くあります。 また、システムの企画から、設計、サーバー選定、デザイン、コーディング、テスト、SEO対策、サイト誘導、Webマーケティングなどの領域を幅広く理解する必要があり、中にはすべてを一人で担っているエンジニアもいます。事業会社の商材や社内システムがWeb化しているという大きな流れの中で活躍している職種です。
バックエンドエンジニア
WebサイトやWebアプリケーション開発において、ユーザーの操作によって異なるアプリケーションの動的処理やデータベースの要件定義、設計・開発、保守運用など、ユーザーの目に触れない裏側の部分を担当するエンジニアです。
インフラエンジニア
IT関連業務におけるインフラストラクチャを設計、構築、運用し、さらにはメンテナンスから保守までを行う人のことです。 ITシステムやWebサービス運用でのインフラ業務のほか、サーバーやネットワークなど物理機器の構築をおこなう技術者もインフラエンジニアに含まれます。
ネットワークエンジニアとサーバーエンジニア ネットワークエンジニアとサーバーエンジニアを合わせてインフラエンジニアと呼ばれることもあります。 サーバーは構築しただけでは不十分で、実際に利用するためにはインターネットに公開する必要があるため、最低限はネットワークの知識がなければなりません。逆に、サーバーエンジニアの技術として有名なLinuxの技術は、ネットワーク機器にも通じる部分があります。 ネットワークエンジニアとサーバーエンジニアは、言葉こそ分かれてはいますが、インフラ部分を担うエンジニアという意味では同じであり、仕事内容にもよりますが、明確に分担をされていないというのが実際のところです。
【ネットワークエンジニア】 コンピュータやサーバを、ルーターやスイッチなどのネットワーク機器で接続し、データを正常に受け渡すネットワーク(回線)の業務を担うエンジニアのことを、ネットワークエンジニアと呼んでいます。
【サーバーエンジニア】 インターネット上には、メールを送受信するためのメールサーバ、Webサイトを表示させるために必要なWebサーバ、必要な情報が蓄積されているデータベースサーバーなど、私たちのリクエスト(要求)に合わせてデータを返す(応答)役割を果たす「サーバー」が存在します。 サーバーエンジニアとは、文字通りこれらのサーバーの業務を担うエンジニアのことを指しています。 インフラエンジニアの業務はITインフラの設計、構築、運用、保守、監視 インフラエンジニアは、ITインフラを設計・構築し、それらが問題なく動くための運用・保守を行います。 快適なIT環境を提供するための業務ですが、詳しく分類すると以下の通りとなります。 ・要件定義 お客様の希望をヒアリングして、どのようなITインフラを作成するかを決定する。 ・設計 どの機器を用いて、どのような構成および設定値にするかなどを決定する。 稼働した後にどのような取り決めで運用していくかも合わせて検討する。 ・構築 機器を調達して実際に接続などの構築を行う。 ・テスト 設計書通りに問題なく動作するかのチェックを行う。 ・運用保守 正常に動作しているかを監視し、障害が発生した場合にはトラブルシューティングを行う。
インフラエンジニアが扱う機器 インフラエンジニアが実際に扱う主な機器としては、以下のようなものがあります。 ・ルータ ネットワーク同士を接続する機器。 データの最適な転送経路を決定(ルーティング)し、データの転送を行う。 ・スイッチ 各機器の集約装置。 スイッチに直接接続された特定の機器に対してのみ通信を行う。 ・サーバー Webサーバー、DBサーバーなどユーザーに対してサービスを提供する機器。 ・ロードバランサー 2台以上のサーバーに対して、通信を分散させる負荷分散機器。 ・ファイアウォール 社内および、社外ネットワークの間などに設置し、特定のデータを通したり破棄するなどのアクセス制御をするシステム。 ・ストレージ ハードディスクなどのデータの保存場所。
インフラエンジニアに必要なスキル インフラエンジニアに必要なスキルは、ネットワークとサーバーの幅広い知識と、コミュニケーションスキルが挙げられます。
・ネットワークとサーバーのスキル ITインフラの設計、構築、運用保守といった、ITインフラ全般の業務を行うためには、ネットワークとサーバーの深いスキルが必要です。 様々な機器を相互接続してITインフラを構築するため、機器の機能やスペックの他、サーバーのOSや、Apacheなどのミドルウェアのインストールと設定方法、サブネットマスクやIPアドレス、サーバーのセキュリティ、冗長化や負荷分散を考慮した設計など、インフラ技術に幅広く精通する必要があります。
・コミュニケーションスキル
要件定義では顧客のニーズを的確に聞き取る必要がありますし、保守においては障害状況を端的に顧客へ伝える必要があります。
また、インフラ業務はチーム作業となることが一般的ため、チームメンバー間での適切なコミュニケーションも必須となります。
インフラエンジニアのキャリアパス
インフラエンジニアは、異業種からの転職例も多く、IT業界が未経験の方でもチャレンジできる可能性のある職種です。
具体的な求人としては、まずインフラの運用保守の案件からスタートし、設計構築などの業務へと段階を踏むことでキャリアアップしていくのが一般的となっています。
キャリアパスも様々で、サーバーエンジニアからネットワークエンジニアへの転職や、プロジェクトマネージャー、管理職を目指す、もしくは技術者としてスペシャリストを目指す、経験を積んでコンサルタントを目指すなど、企業によってもキャリアパスは多岐にわたっています。
インフラ、開発の違い 就職、転職において、開発系に進むかインフラ系に進むか、どちらにするかを迷う声がよく聞かれます。 開発の業務は、基幹系システム、パッケージソフトなど、実際にユーザーが利用するためのアプリケーションの設計から実装、リリースに至るまでを主な業務としています。 それに対してインフラの業務は、アプリケーションそのものをデプロイするためのサーバーや、複数の拠点間でサービスを利用するためのネットワークを構築するなどと言った、開発された基幹系システムやアプリケーションを入れるための「箱」を設計構築、運用する業務となります。 両者は求人として初めから分かれている場合もあれば、ITエンジニアとして入社した後、キャリアチェンジしてインフラ業務、もしくは開発へとシフトしていく場合などもあります。
インフラエンジニアが取得しておきたい資格
インフラエンジニアが取得しておきたい有名な資格としては、
ネットワークエンジニア向け:CCNA、CCNP、CCIE
サーバーエンジニア向け:LinuCレベル1~3
などが挙げられます。
インフラエンジニアもプログラミングスキルが必要になっている シェルスクリプト インフラエンジニアが構築するサーバーのOSとしてはLinuxが有名です。 Linuxには処理を実行するための核となる「カーネル」がありますが、カーネルは0と1からなるコンピュータの言語しか理解できません。 ユーザーとカーネルの間で翻訳者としての役割を果たし、ユーザーからの指示をカーネルに伝えるためのプログラムとして「シェル」が存在します。 シェルは、ユーザからのコマンドを受け付けてカーネルに処理をさせ、結果を表示するためのプログラムです。 シェルスクリプトとは、シェルが理解できるコマンドを列挙したものとなります。 連番をふったフォルダを複数作成したい場合や、ファイル名を一括でリネームしたい場合など、従来のインフラエンジニアにおいては、シェルスクリプトによるプログラミングが一般的でした。 軽量プログラミング言語(LL言語)とインフラ構成管理ツール しかし、クラウドの発展に伴い、インフラエンジニアの業務にも変化が表れています。 従来のオンプレミスと比べると、サーバーを構築・運用する手作業の部分が減り、今後はリリースまでのスピードが重視され、インフラエンジニアの需要もこの変化に合わせてこれからますます増加するものと思われます。 この流れでインフラエンジニアは、従来のシェルスクリプトだけではなく、他の軽量プログラミング言語(LL言語)の知識も必要になってきています。 軽量プログラミング言語とはLightweight Languageの略で、学習が比較的易しいと言われている言語のことで、Perl、Ruby、Python、PHPなどが挙げられます。 現在のインフラエンジニアの業務では、サーバーのセットアップなど手動で行っていた作業を、プログラミング言語でコード化して自動で実行する仕組みが導入され始めており、インフラの運用や構築を自動化するためのインフラ構成管理ツールが注目されています。 インフラ構成管理ツールとは、 ①OSインストールなどを自動で行うもの ②OSやミドルウェアなどの定義ファイルを自動で作成するもの ③複数サーバの管理を自動化するもの の3つに分類されます。
種類主なツール1OSの起動を自動化する(Bootstrapping)Vagrant2OSやミドルウェアの設定を自動化する(Configuration)Chef、Ansible3複数サーバの管理を自動化する(Orchestration)Capistrano ChefにはRubyが使われており、AnsibleはPythonで実装されています。 これまで手動で設定していた機器の設定値などを、Rubyなどの軽量プログラミング言語によってコードで記述する必要が出てきており、今後はインフラエンジニアにおいても、このようなプログラミング言語の知識も必要となってきています。

Webアプリケーションエンジニアとは
Webアプリケーションエンジニアとは、顧客の経営課題に対しWeb技術を用いて解決に導くWebのエキスパートです。企業が抱えている課題を正確に把握し解決に適したWebアプリケーションを設計・開発する中で、技術面だけでなくマーケティングや営業面でのサポートも同時に行います。 アプリケーションエンジニアは多くの業種で活躍している職業で、その種類は電子部品や半導体メーカーのセールス部門で多く活躍しているFAE(フィールド・アプリケーション・エンジニア)やCAD関連企業でセールスとマーケティング両方の領域で活躍しているCAE(コーポレート・アプリケーション・エンジニア)などさまざまです。 近年Webサービスが目覚ましく進歩する中で、このWebアプリケーションエンジニアへ転身を希望するアプリケーションエンジニアが増加傾向にあります。Web領域が未経験というFAEやCAEがチャレンジしやすいと言われる要因は、業種が違っても担う役割は技術と営業面での活躍という点において同一であることが挙げられます。 よりスムーズに転身を進めるために、顧客折衝のためのコミュニケーションスキルやUNIX・データベースの知識・開発言語のスキルを身につけておくとよいでしょう。 IT業界の技術進歩がさらに加速する中で、技術力と併せて企業の経営課題を見すえた折衝や提案を行うことができるWebアプリケーションエンジニアは将来的に市場価値が高まる職業だと言えます。
正社員になるには。
正社員になるには「正社員として長く働いてもらいたい」と思ってもらえるのが重要です。 企業によっては明確に「〇〇の資格を取る/部下のマネジメントができる」など基準を設けている所もあります。 良く挙げられる一般的な特徴には、以下のような例があります。 正社員の場合は、長期雇用を前提に会社の利益を生むことを目的として採用されるため、責任のある立場で幅広い業務を任されるのが一般的です。
正社員のメリット
正社員のメリットは、主に以下があります。
解雇されにくい/失業しにくい
収入が安定する/生涯賃金が高くなる
福利厚生の充実
社会的信用が高い
教育研修制度がある
年金支給額が多い
非正規雇用との決定的な違いは、安定した雇用と収入です。たとえば同じ週5日フルタイムという条件で働いたとしても、正規雇用と非正規雇用では、トータルで受け取れるお金(総収入や老後の年金)は大きく変わってきます。
福利厚生による企業独自の手当や補助金・制度の利用、キャリアアップに役立つ研修などを受講できる点も魅力です。また、ローンを組んだり、カード・物件を借りるときの審査などが通りやすいという面もあります。
このほかに、社会保険に加入できる、退職金がもらえる、という点もあります。ただし、非正規雇用も条件を満たしていれば社会保険に加入できるほか、そもそも退職金制度がない企業も一定数あるため、これらに関しては、正規雇用が必ず得られるメリットとまではいえないでしょう。
正社員のデメリット
正社員のデメリットとしては、主に以下があります。
転勤や部署異動の可能性がある
休日出勤や残業を課せられることがある
責任が増える
一定規模以上の企業の場合、定期的に異動があることはめずらしくありません。自分の意に沿わない部署や苦手な業務の担当になったから行かない・やらないという選択は、難しいといえます。職種によっては、地方への転勤もあり得ます。
仕事の進捗状況や繁忙期などによっては、残業や休日出勤などが発生することもあります。企業によっては、給料に数十時間分の残業代が含まれた「みなし残業」扱いになっていることもあります。一方で非正規雇用の場合、時間外の業務が発生することはほぼありません。
また、業績や数値、成果などが上がらなければ改善するよう言われたり、職種によっては、クレームやイレギュラーな事態などにも対応することがあります。何か起きてもクビや減給になることはまずないものの、ある程度責任が重くなる点は避けられないでしょう。
正社員になりたいのになれない人の特徴
主体性・前向きさがない
正社員は、会社にとっての戦力となることを求められます。そのため「言われた仕事しかしなさそう」「自分から仕事を見つけていったり改善したりする気がなさそう」などと受け身の印象を持たれてしまうと、大きなマイナス評価になります。
また、自己肯定感の低い人も悪い印象を持たれがちですので、注意しましょう。多少の謙虚さはよいことですが「どうせ自分なんて」「私は大した人間ではありません」というオーラが伝わる人をあえて正社員採用したい企業は少ないということは知っておくべきです。
一緒に働きたいと思えない
人事担当や面接官が「一緒に働きたいと思えない」と感じる人は、当然、正社員としても採用されづらくなります。面接官も人間ですから、印象のよくない人をわざわざ採用して、一緒に仕事をしたいとは考えません。
よくある失敗例として、特別なスキルや知識があるわけではないのに自己主張が強い印象を与えてしまい「一緒に働いたら面倒くさそう」と思われて不採用になるパターンがあります。
面接対策として「初対面の相手に好感を持ってもらうこと」も大切だと押さえておきましょう。
スキルや経験値が足りない
スキルや経験値が足りず正社員採用を見送られてしまうことは、未経験の業界で正社員雇用を望む際に起こりがちです。正社員として採用するにあたっては、能力やスキルも重要な判断ポイントになります。
よくある失敗例として「御社で働くことは、〇〇の勉強になる」という点ばかりをアピールしてしまう人は注意が必要です。新卒採用やポテンシャル採用は別として、会社側はできることなら、即戦力となってくれる人を採用したいと考えているので、求めるスキルをこれから教育しなければならない人は採用されづらい傾向にあります。
自己分析が足りていない
面接で自己分析の度合いを測られる質問は、以下のようなものがあります。
自己PRをお願いします
あなたの長所と短所を教えてください
これまでで最も熱中したことは何ですか?
5年後、どうなっていたいですか?
尊敬できる人は誰ですか?
これらはすべて回答だけでなくその理由も答えることになるため、あなたの価値観が相手によく伝わる質問になります。面接でよく聞かれる質問については、スムーズに答えられるようにしておく必要があります。
企業分析が足りていない
企業分析が十分にできていないと、企業としては「なぜうちを選んだのか」がわからず、熱意に欠ける印象を与えてしまいがちです。また、採用されてから企業でやりたいことや応募職種などに関する質問をされたとき、言葉に詰まってしまう可能性があります。
なぜその業界を志望するのか
中でも御社を志望する理由は何か
これらを、明確に伝えられるようにしておきましょう。
以上エンジニアや正社員についてまとめてみました。
ご興味のある方は一度詳細をご覧ください。
Comments