システムエンジニアってなに?

クローバーフィールドの杉山です。

以前、「システムソフトウェアってなに?」を書いた際、次は「システムエンジニア」について深堀しようと思っていたのですが、どんどん後回しになってしまいました。

本日、天気の情報を確認しているときに気になる記事を見つけて書く気になりました。
「6月18日は「おにぎりの日」。「おにぎり」と「おむすび」の違いを知っていますか?」

なかなか問われて答えるとなると難しいですよね。
単に地域で呼び方が違うだけなのかと思っていましたが、ちゃんと違いがあるとは知りませんでした。

知っているつもりで使っている言葉の意味、定義が曖昧なものが沢山あります。

ちなみにソフトウェア開発の業界も中々用語がややこしいですよね。

その中でも社内で話題に挙がるのが「システムエンジニア」です。

私の経験上、ウォーターフォール方式の開発で上流工程と呼ばれる工程を担当する人たちを呼ぶ場合に使用されてる認識でした。

ちなみに「システムエンジニア」と言う言葉は和製英語で、欧米では通じないようです。

英語圏の「システムズ・エンジニア(systems engineer)」と言う言葉がありますが、下記のようにシステムエンジニアとは異なる意味でした。

システムズ・エンジニアリングに関わる技術職を指すものであり、日本のシステムエンジニアとは重ならない。

出典:ウィキペディア フリー辞典

システムズ・エンジニアリングは情報システムの開発ではなく、さらに様々な要素を含みます。

システムとは、ある目的を達成するために組織化された機能要素の集合であり、組織化により単なる要素和以上の特性を発揮するものと定義される。システムズエンジニアリング(以下SEと表す)は、このようなシステムの目的(ミッション要求)を実現するための工学的方法論(及び、その一連の活動)である。

出典:システムズエンジニアリングの基本的な考え方 初版
宇宙航空研究開発機構チーフエンジニアオフィス

現在はIPAにおいてもシステムズエンジニアリングを推進しています。
システムソフトウェア開発を中心に据えている弊社としては、しっかり身に付けておくべき考えかたです。

脇道にそれましたが、「システムエンジニア」とはどのような技術者なのでしょうか。

ソフトウェア開発の業界は、資格制度がありません。(IPAの情報処理試験は、知識レベルを評価するものであり、資格ではありません。)
私がソフトウェア開発の職についた約30年前からそうでした。

上司や先輩もそもそも理系出身でもなく、コンピュータやソフトウェアについて学ばずに、とりあえず職についた人が沢山いました。私もそのうちの一人です。

そして技術者を名乗る訳ですが、後付けでもしっかりした知識を持っている人が少ないように思いました。
ほとんど先輩から教えられた知識のみでシステムの構築をしていたように記憶しています。

そして、このあたりは今も変わらないようです。

勉強会なんかに参加しても、どちらかと言うと言語や新しいライブラリの知識が有り難がられているようで、システム構築に関わる要件定義や設計、運用、品質管理などの知識を深堀している感じではありません。

いったい「システムエンジニア」とはどのような技術者なのでしょうか。

文書作成や表計算のソフトウェアはようけ使ってるんやけどな。
「システムエンジニア」 = 「ドキュメントライター」かな。

ほな技術者やないし、やっぱりふんわりしすぎて、わかりませんでした。

私自身は、「仕事は何やってますか?」の問いに、「ITアーキテクトです」って答えるようにしていましたが、同じ業界の人でも大体わかってもらないことがあります。
仕方ないので最近は「情報処理安全確保支援士です」って答えるようにしたら、尚更わかってもらえませんでした。