外資・日系トップ企業を目指す学生のための就職活動サイト「外資就活ドットコム」

【お知らせ】 現在Internet Explorerにおいて、一部機能が正常に表示されない不具合が発生しております。
ご利用中の皆様にはご迷惑をおかけしまして申し訳ございません。現在復旧に向けて対応中でございます。
※他ブラウザ、アプリにおいては正常に表示されております。

【志望者必見】ソフトウェアエンジニアの職種や職位を徹底解説

会員登録するとこのコラムを保存して、いつでも見返せます


前回の記事では、ソフトウェアエンジニアの収入例やキャリアパス、転職市場での魅力について紹介しました。まだ読んでいない方は、こちらから見ることができます。

ソフトウェアエンジニアとは何か。新卒で目指す意義やスキル、市場価値について解説

この記事では、そんなソフトウェアエンジニアリングの主要な分野である「開発領域」やエンジニアの担当箇所である「エンジニアリングトピック」、そしてその「役割」について解説します。

ソフトウェアエンジニアの「開発領域分類」

ソフトウェアエンジニアには、プロダクトの開発領域というものが存在します。開発領域には、プロダクトを利用するユーザー寄りか、開発を行うエンジニア寄りかという軸で分けるFrontendやBackend、Infrastructureなどと、サービスの提供場所(モバイルデバイスのOS)という意味での開発領域であるiOSやAndroidなどがあります。

Frontend

フロントエンドは、ユーザーと直接データのやりとりを行う場所のことを指します。WebサイトやWebアプリケーションにおいて、ユーザーから見える部分の構築やカスタマイズを行うのがフロントエンドエンジニアの役割です。

例えば、外資就活ドットコムというサービスにおいては、募集情報や記事のレイアウトなどの見え方、ユーザーが情報を入力する部分などのユーザーが触れる部分に相当します。

Backend

バックエンドエンジニアは、アプリやWebサイトの裏側で動作するサーバーサイドを担います。具体的には、プログラムの開発から、Webサーバーやデータベースの導入・構築・運用・管理まで、システム全般をカバーします。他にも、APIの開発や実装、Webサイトやアプリを運用する上での問題に応じたプログラムの改善や、セキュリティの対応なども行います。

Infrastructure

インフラエンジニアは、Webサービスやアプリケーションを実行する上で土台となる、サーバーやネットワーク全体の設計・構築・運用が主な仕事内容です。プロダクト仕様の要件定義を行ったのちに設計書を作成し、実際に構築を行います。その後は、パフォーマンスなどに問題が起きないかを監視しながら、運用・保守を担います。

Platform

プラットフォームエンジニアは、ソフトウェアやアプリケーションが実行される基盤となるプラットフォームを設計、構築、維持する役割を担います。大規模なシステムやアプリケーションが効率的に動作するために必要なやツールを管理し、開発者がアプリケーションを開発し、展開し、スケーリングするための適切な環境づくりを行います。

インフラエンジニアと似ているものの、インフラエンジニアは、基盤となるインフラストラクチャを担う一方で、プラットフォームエンジニアはシステム全体のプラットフォームが担当領域になる点で異なります。

Mobile

モバイルアプリ開発では、iOSとAndroidが主流であり、それぞれのOSで異なる開発環境が使われています。しかし、近年ではReact NativeやFlutterなどのクロスプラットフォームフレームワークが登場し、1つのコードでiOSとAndroidの両方に対応できるようになってきています。

iOS

iOSエンジニアは、Apple製品を中心としたネイティブアプリ*や、ブラウザ上で動作するWebアプリ設計や開発を行います。macOSやiOSのアプリケーション全体に関することを包括して担当するため、フロントエンドやバックエンド周りの開発も同時に担います。

Apple社はiOSアプリ開発向けに「Swift」という新しいプログラミング言語を開発しており、それを利用する場合が多いです。

*:アプリストアからデバイスにインストールするタイプのアプリ

Android

Androidエンジニアは、Android OSで動作するアプリや、Android製品向けのネイティブアプリの開発や設計を行います。現在の日本においてはiOSユーザーの数が多いですが、世界市場で見るとAndroidの普及率のほうが高い(約7割を占める)ため、今後も需要がさらに高まっていくことが予想されます。

アプリ開発に使われる言語は、従来から用いられてきたJavaと、2011年に登場した「Kotlin」が主流です。Google社は2019年の5月にKotlinを推奨言語に追加しており、強いサポートを受けていると言えます。

ソフトウェアエンジニアの「エンジニアトピック分類」

エンジニアトピック分類とは、エンジニアの専門領域による分類です。以下のトピックは主要なものをピックアップしていますが、会社やプロダクトごとにここにはない項目が設置されていることもあります。

Accessibility

アクセシビリティエンジニアは、WebサイトやWebアプリケーションなどのソフトウェアを、あらゆる人が利用しやすいように設計し、開発することに特化したエンジニアです。画面読み上げソフトウェアのサポートなどがわかりやすい例です。

ユーザーエクスペリエンス(UX)を向上させることを目的とし、製品の利用範囲を広げ、より多くのユーザーにアクセスを提供する役割を果たします。

Security

セキュリティエンジニアは、サーバーやサービスの保守を専門とし、セキュリティに配慮したシステム設計・運用、サイバー攻撃への対策などを行います。開発が完了した要件に対する脆弱性検証やバグの発見と改善、サイバー攻撃を防ぐための調査なども業務範囲となります。

Performance

パフォーマンスエンジニアは、WebサイトやWebアプリケーションのパフォーマンス最適化を担うエンジニアを指します。また、これらのパフォーマンスの評価や問題の特定、表示や機能の最適化戦略の策定と実装などを行います。

Site Reliability

サイトリライアビリティエンジニアは、Googleが初めて提唱した役割で、大規模なWebサービスやアプリケーションの運用を支援するためのエンジニアです。システムやサービスの信頼性、可用性、拡張性を維持し、サービスの中断や障害を最小限に抑えることに焦点を当てたエンジニアリングの分野の1つでもあります。

AI・ML

機械学習、深層学習の分野でアルゴリズムなどを用いながら人工知能に学習をさせてシステムの設計・開発を行うエンジニアを指します。PythonやR、C++などの言語を用いるのが主流です。

Quality Assurance

クオリティアシュアランスでは、ソフトウェアや製品の品質管理を担当します。製品テストなどを通してバグを見つけ、修正し、品質を向上させることが主な仕事です。また、テストスクリプトの作成や品質基準の策定なども業務範囲となります。

Data

データエンジニアは、データ基盤の設計、構築、維持を担うエンジニアです。大規模なデータ処理システムなどを構築し、データの収集から処理、そして管理やメンテナンスまで担います。また、データパイプラインの設計やデータの品質管理も担当します。

Machine Learning

機械学習技術を活用して、データからパターンを発見し、予測モデルや意思決定システムを構築するエンジニアのことを指します。具体的な業務には、データの前処理、モデルの選定・トレーニング・評価、展開などのタスクがあります。

ソフトウェアエンジニアの「ポスト」

ソフトウェアエンジニアとしてのポストは、エンジニアリングマネージャーに代表される「マネジメント系」と、CTOなどの「技術系」に大別できます。

マネジメント系の役割では、技術的なことの他に、人事・育成的な側面や経営に関する要素を期待されます。他方で、マネジメントロールを担わず、ソフトウェアエンジニアとしてのキャリアを進めることも可能です。そのような人をIC(Individual Contributor)と呼ぶこともあります。

会社によって異なりますが、階級としての名称の一例にはDistinguished Engineer、Principal Engineer、 Senior Staff Engineer、Staff Engineer、Senior Engineerなどがあります。以下に示すのは、ソフトウェアエンジニアのキャリアで目指されることの多いポストです。

EM(Engineering Manager)

エンジニアリングマネージャーは、名前の通りエンジニアのマネジメントをメインに担う職位です。エンジニアや教育や採用・配属などの人事、技術に関する意思決定など多岐にわたります。マネジメント領域の仕事が多く、エンジニア系からなる管理職的なイメージが近いでしょう。

CTO(Chief Technology Officer)

CTOは、企業における技術面の全社的なリーダーを意味します。特に技術的方向性や研究開発の監督に権限を持ち、経営層にいる技術者として技術的な側面から企業のビジネスの成功を支えます。

VPoE(Vice President of Engineering)

接頭のVice Presidentとは、日本語で表すと事業部長や統括本部長といった役割を意味し、VPoEはエンジニアリング部門の統括者を指します。製品の開発における技術戦略や方針の策定に責任を負い、エンジニアリングチーム全体のリーダーシップを取ります。

VPoT(Vice President of Technology)

VPoTは、技術部門の統括者を指します。企業の技術戦略の策定や実装に責任を負い、技術的なイノベーションや成長の推進を担当します。エンジニアリングだけでなく、ITインフラストラクチャや情報セキュリティなど、技術全般にわたる領域を掌握することが他の職位との違いです。

エンジニアリングチーム内での「役割」

会社内での職位とは別に、製品やプロジェクトごとに編成されるエンジニアリングチームやプロジェクトチーム内で用いられる役割にも呼称があります。

Tech Lead

テックリードは、プロジェクトや製品の技術的なビジョンや方向性においてリーダシップを担うポジションです。技術的課題の解決やその解決法の設計に携わり、プロジェクトの成功を主導する技術的責任者を指します。

Lead Engineer

リードエンジニアもリーダーシップを担うものの、彼らの主な責務は、プロジェクトの技術的側面を管理し、開発プロセスの効率化と品質向上を目指してチームを指導することです。チーム内での技術的な意思決定や、技術的な問い合わせへの対応、チームメンバーのスキル向上のためのサポートなどが主な業務範囲となります。

おわりに

いかがでしたでしょうか。ソフトウェアエンジニア職で用いられることの多い開発領域やトピック、それらの略称などを整理しました。この情報を元に、自分の得意な領域を検討したり、キャリアプランを考える上での一助になれば幸いです。

「外資就活ドットコム」では、先輩内定者の選考体験記や、様々なコラム記事を通じて業界理解、企業理解を深めることができます。その他にも以下のようなコンテンツがあり、外資・日系双方の選考対策に役立つ就職活動サイトです。無料で会員登録できますのでぜひご活用ください。

その他にも以下のようなコンテンツがあり、外資・日系双方の選考対策に役立つ就職活動サイトです。無料で会員登録できますのでぜひご活用ください。

・外資・日系コンサルの企業ページで企業研究を進め、毎日更新される募集情報をチェックできる(限定募集情報や特別なイベントも多数あります)
・インターンや本選考ごとに、先輩就活生のES・選考体験記を読み、最新の情報で具体的な選考対策ができる
・就活に役立つ選考情報コラムのほか、5年先・10年先のキャリアプランニングに役立つ記事など、あらゆる局面で役立つコラムを多数掲載

※先輩就活生のES・選考体験記を読むためには、以下のボタンから無料会員登録をする必要があります

新規会員登録はこちら

マッキンゼー ゴールドマン 三菱商事
P&G アクセンチュア
内定攻略 会員限定公開

トップ企業内定者が利用する外資就活ドットコム

もっと記事を読む

マッキンゼー BCG ベイン・アンド・カンパニー アクセンチュア 等の内定攻略記事会員限定に公開しています

このページを閲覧した人が見ているページ

募集情報

{{r.GsRecruitingItemType.name}} {{r.GsRecruitingItem.target_year | targetYearLabel}} {{label.short_name}}

{{r.GsRecruitingItem.name}}

{{r.GsRecruitingItem.description}}

{{s.entry_end_date}} ({{s.entry_end_day_of_week}}) {{s.entry_end_time}} {{s.apply_method_label}}

{{s.name}}

日程: {{s.event_date}}

場所: {{' ' + s.place}}


外資就活ドットコムに会員登録すると、様々な就職支援サービスをご利用いただけます。現在、会員の約7割が東大・京大・慶応・早稲田・東工大・一橋大などの上位校の学生です

新規会員登録
このページを閲覧した人が見ているコラム

会員限定コンテンツ多数!

無料会員登録はこちら