みなさんは「エンジニアの仕事」を具体的にイメージすることはできますか?
エンジニアといっても業界により仕事が異なりますが、このページでは「IT業界におけるエンジニアの種類や仕事内容」、そして「文系・未経験の方におすすめのエンジニアの種類」をわかりやすく説明していきます。
IT業界、エンジニアという仕事になんとなく興味はあるものの、いまいちイメージがつかめていない方は、まずはこのページでざっくりとしたイメージからつかんでみてください!
エンジニアとは、ものづくりにかかわる人すべてを指す
エンジニアとは、日本語で「技術者」を指します。
なので「ものづくりに関わる人はすべて技術者」として、エンジニアに分類することができます。
さて、ものづくりに関わる人がエンジニアですが、IT企業においては、「なにかのシステム」や「アプリケーション」などがつくられる「もの(商品、プロダクト)」です。ですので、これらの開発に関わる人をエンジニア(ITエンジニア)と呼んでいます。
IT業界におけるエンジニアの仕事の種類
エンジニアは、実はものすごく多くの種類があります。
「システムエンジニア(SE)」、「プログラマー」あたりはよく耳にすると思いますが、ほかにも「サポートエンジニア」、「セールスエンジニア」、「フルスタックエンジニア」など、たくさんの種類のエンジニアが存在しています。
また、企業が独自に職種を名付けている可能性もあるので、具体的な職種名、役職名を網羅することは難しいのです。
ただ、例であげたようなそれぞれのエンジニアたちが行っている仕事内容については、ざっくり分けると以下の3種類に分類することができます。
- お客様の要望のヒアリング
- 社内に蓄積したデータの分析
- 開発するプロダクトの計画
- 開発するプロダクトの設計、など
- 設計されたプロダクトの開発
- 既製品に対し別機能の組み込み、など
- 開発されたプロダクトの運用・保守
- 利用ユーザーが困っている場合のサポート
- 不具合が発生した場合の開発部門へのフィードバック
- 技術的な知識を用いたお客様への製品提案、など
主なエンジニアの種類
先ほどもお伝えした通り、エンジニアの種類と仕事内容はさまざまですが、以下に「主なエンジニアの種類と仕事内容」の紹介をさせていただきます。
システムエンジニア(SE)
お客様からの要望をヒアリングし、要望に沿うシステムの設計・運用・保守など幅広い業務を担当します。
お客様とのやりとりの中で開発するシステムを設計するため、技術的な知識が必要となり、また、コミュニケーション能力も必要になります。
お客様の要望に沿うシステムが完成した際や、お客様に直接感謝されることがやりがいの職業です。
プログラマー
作成された仕様書をもとに、プログラミング言語を用いてシステム・プロダクトの開発を行います。
お客様とのやりとりが必要となる場面は少ないため、コミュニケーションよりもプログラミングのような作業が好きな方に向いている傾向があります。
得意なプログラミングスキルを活かし、仕様書通りの動きをするプロダクトを完成させた際には、なんとも言えない達成感を感じることができる職業です。
フロントエンドエンジニア
Webアプリケーションの開発は、大きく分けると「フロントエンド」と「バックエンド」という開発工程にわかれます。
フロントエンドとは、主にユーザーに見える画面部分(UIと呼ばれます)を指しており、バックエンドとは、データベースやサーバーとのやり取りなど、ユーザーに見えない部分を指します。
フロントエンドエンジニアは、Webアプリケーションの画面部分の開発を行うエンジニアを指します。
なお、画面のデザインはデザイナーが行いますが、会社によっては、フロントエンドエンジニアがデザインまで担う場合もあります。
主に使用されるプログラミング言語は、HTMLやCSS(厳密にはそれぞれマークアップ言語、スタイルシート言語と呼ばれます)、ならびに、JavaScript(JavaScriptはバックエンドの開発も可能)の3種類になります。
また、これらは3つはプログラミング言語の中でも比較的習得しやすい言語と言われています。
自分が開発した画面がそのままユーザーに使用されるので、「自分が開発した!」ということを実感しやすい職業です。
バックエンドエンジニア
バックエンドエンジニアとは、フロントエンジニアが開発しない部分、つまり、画面以外の機能の開発を行います。
画面で入力されたテキストや数値などの値をデータベースやクラウドに保存したり、値を計算して適切なデータを返したりと、システムやプロダクトの機能そのものの開発を行います。
主に使用される言語はJava, C言語, Python, Go、、、など、たくさんの種類があります。
なお、各言語ごとに実装できる機能の違いや、得意・不得意があるので、開発するアプリケーションによって使い分けるのが一般的です。
ユーザーには直接見えない部分の開発ですが、機能そのものを開発していることに誇り高さを感じることのできる職業です。また、近年はAIを利用したシステムなど、バックエンドの開発に力をいれる企業が多いので、比較的需要の高いエンジニアになります。
ネットワークエンジニア
主にネットワークの設計・構築・運用・保守などを行います。
ネットワークに関する深い知識が求められるので、ネットワークの仕組みに興味がある方や、専門的に学んだことのある方に向いている職種です。
一般的にはプログラミングスキルは必要ありませんが、ネットワークの構築や保守に際していくつか専門的なコマンド(コンピューターに対する命令)の実行が必要になります。
ネットワークは世界を支える重要なインフラなので、この重要なインフラの知識があることは日常生活でも有利に働くことが多いです。また、ネットワークを専門で扱うため、ネットワーク技術に興味のある方にはたまらない職業です。
データベースエンジニア
主にデータベースの設計・構築・運用・保守などを行います。
データベースに関する深い知識が求められるので、データベースの仕組みに興味がある方や、専門的に学んだことのある方に向いている職種です。
一般的にはプログラミングスキルは必要ありませんが、データベースの構築や操作にあたってはデータベース言語(SQL, GraphQLなど) を使用する必要があります。
データベースは多くのユーザーデータをかかえており、システムを支える重要な仕組みの一つです。
また、複雑データをどう分類し、どう保存すれば管理の効率がいいのか、などということを考えて設計するので、整理されたデータベースベースを完成させたときは何とも言えない達成感があります。
サポートエンジニア
すでに開発されたプロダクトを利用するユーザーから技術的なお問い合わせを受け、解決に導く仕事を行います。
基本的な知識で対応できるお問い合わせからソースコード(プログラミング言語でかかれたテキスト)を解析する必要があるお問い合わせなど、幅広い難易度の問題を取り扱います。
また、”バグ” と呼ばれる製品の欠陥を発見した場合には開発部門にフィードバックして修正を依頼したりと、ユーザーだけでなく開発部門との連携が必要になることもあります。
特定の技術だけでなく幅広い技術に触れる機会が多いため、技術全般に興味のある方や、お客様を助けることが好きな方に向いている傾向があります。
お客様の問題を自分の力で解決したときや、自分のサポートに満足し、感謝の言葉を伝えてくれるお客様と出会った際、また、自分のフィードバックにより新しい機能の開発・修正がリリースされたときには、達成感を感じることのできる職業です。
文系や未経験に向いているエンジニアとは
結論からいうと、文系・未経験にかかわらず、興味のある技術や分野に関するエンジニアの種類を選ぶことをおすすめします。
例えば、自分でWebアプリを開発できるようになりたい目標があれば、フロントエンドやバックエンドエンジニアを目指したり、プログラミングはできないけどお客様のサポートや技術には興味がある、という方であれば、サポートエンジニアを目指したり、、
こういった選び方をすることで、就職後にも自分のモチベーションとのギャップが生まれにくく、前向きに働くことができます。
ただ、強いていうのであれば、「一つの分野についての専門性」が求めらえる種類、例えば、ネットワークエンジニアやデータベースエンジニアなどの職種は知識の深さを求められるので、文系や未経験の方にはハードルが高いかもしれません。
それよりも、システムエンジニアのように「知識の広さ」を求めらえるような種類や、フロントエンドエンジニアのように、「比較的に難易度の低い言語を扱う職業」を選択してみるのがいいかもしれません。
さいごに
今回は、エンジニアがどのような仕事をしているのかということや、具体的な職種についてを紹介してきました。
今回紹介しきれなかったエンジニアの種類もたくさんありますが、この中にみなさんが気になる職種はありましたでしょうか。
エンジニアは製品の開発にダイレクトにかかわることができ、仕事で身に着けた知識やスキルの汎用性が高い職種なので、ぜひ興味を持っていただけたら嬉しいです。