システムエンジニアとは
「システムエンジニア(SE)」とは、クライアントが抱えている問題点を確認した上で、ITの技術によってどのように解決へと導くか「提案」し、そして問題を解決するシステムの「設計」を行うエンジニアのことを指します。
プログラマーとの違い
顧客と直接行う話し合いにて、求められている「システムの設計書を作る」というのが、SEの仕事になります。
一方、プログラマーは、あらかじめ用意された設計書に従って、プログラミング言語を用いてシステムを構成する職業です。
一般的にSEとプログラマーはどちらも“プログラミングを主な仕事としている”と勘違いされていますが、求められるスキルは大きく異なると考えておきましょう。
SEの主な4つの仕事内容
SEがシステムの設計書を作成するためには、
- 要求分析
- 要件定義
- 基本設計
- 詳細設計
という大きく分けて4つの仕事を遂行しなくてはいけません。
これらの工程は、川の流れに例えて「上流工程」と呼ばれています。
① 要求分析
SEの仕事で最も初期工程にあたる「要求分析」は、クライアントが抱えている問題を聞き出し、解決するためにどのようなシステムを求めているか考案します。
要求分析は、システムをなぜ作るのかという理由になる最も重要なパートです。
② 要件定義
「要件定義」では、要求分析で聞き出した“クライアントからの要望をまとめる”段階になります。
要件定義がしっかりと定まっていないと、実装するシステムに揺らぎが生まれてしまう関係上、プロジェクト成功のための鍵となる工程です。
③ 基本設計
「基本設計」でようやくシステムの中身の話が動き出します。
この段階ではシステムが要望を答えるような働きをするためにどのような設計にするべきか、包括的かつ具体的に考えることになります。
顧客も含めて、システムの全貌を全員で確認できる最終的で重要な場面になるでしょう。
④ 詳細設計
「詳細設計」は、顧客からの要望と、それに準じた設計をプログラマーに橋渡しするために詳細を詰める“中継ぎ”の工程になります。
この段階でクライアントからは切り離されてしまうので、開発とクライアントの要望が切り離されない“適切な設計”が行われる必要があり、気が抜けない段階になります。
必要な能力は「コミュ力」
これまでの流れでご理解いただけるように、知識や技術があっても「意思疎通」が上手に行えないと、クライアントの求めるシステムを提供できません。
よって“ITに興味がある”や“技術のトレンドに敏感である”といったことはもちろん、「コミュニケーション能力が高い」ことがSEに最も適性があると言えるでしょう。
SEの需要はこれからも高くなる
現在、IT業界の人手不足は顕著なもので、特に“IoTやAI”といった先端IT分野におけるSEの不足は著しいと言われています。
技術の最先端を取り扱うSEは非常に将来性が高いです。
これから目指すエンジニアとしては、魅力的な職業なのではないでしょうか。