2015/03/21

システムエンジニアは英語で何ていうの? system / software engineer の違い


(プログラマだったビルゲイツ。今でもプログラマかな!?)

英会話交流に行くと、よくシステムエンジニアと名乗る方に会います。ですが、システムエンジニア自体そんなに多いのでしょうか?気になった私は調査に乗り出しました。(笑)

私の解釈では
システムエンジニア=プログラミングをする人(ソフトウェアエンジニア)などをまとめる人、つまりその工程をすべて熟知している人
ソフトウェアエンジニア=いわゆる家やビルを建てることで例えるのなら、建設作業員のような人たち。

ということで、経済産業省のデータ(IT人材を取り巻く現状)の15ページをご覧いただくとお分かりになると思いますが、ITエンジニアのほとんどがソフトウェアエンジニアだということがわかります。
ですが、インターネットで検索しても、システムエンジニアの方がヒット数が多い。実にソフトウェアエンジニアの二倍くらいヒット数があります。

一方、IT用語であるシステムエンジニアとソフトウェアエンジニアというのは多くの点で共通していると思います。英語では、system engineer / software engineer と二つ言い方があるのに対して、日本語では、誰もが私はシステムエンジニアと言ったりします。それに私は違和感を覚えます。

なぜでしょうか?それは上にも書いたように私にとってシステムエンジニアという肩書はシステム全体を設計して指示するような人に思えるからです。実際に日本で、”私はシステムエンジニアだ!”と名乗っている人のほとんどがソフトウェアエンジニアだと言われています。(英語で言った場合)

おそらく、彼らはソフトウェアエンジニアというと聞こえが悪いので、誰もが聞いて響きの良いシステムエンジニアという肩書を名乗っているという事だと思います。それが一般化し、日本ではシステムエンジニアなどがいろいろな意味を持つようになったのではないか?と思っています。

英語圏のサイト、日本語でも検索した結果、大方両者での意見は同じでした。
(For your reference)

システムエンジニアはハードウェア、ソフトウェアを含めたシステム構成にかかるコンセプト設計をする人と言えるそうです。

(写真はITではないですが...。イメージ的にはすべてを管理するようなイメージ)

一方、
ソフトウェアエンジニアとは、システムエンジニアが設計したりしたものを作っていく人、つまり作業していく人という意味で使われますが、これはいわゆるプログラマとほとんど変わりません。上にも書いたような建設作業員のような人たち。ですが、プログラマと言った場合、プログラミングをする人なので、ただ建設作業員というようなイメージとはちょっと違うという風にも思える。これが言葉の定義で難しいところ。私の勉強不足かな!?

ソフトウェアエンジニアは中小企業に多く、大企業に常駐したりして働くスタイルが多いように思います。(私が知る限り)ちなみに、日本ではたとえば大手企業であるソニーや富士通などがあったとしたら、その会社で働くソフトウェアエンジニアの多くがほかのソフトウェア会社の社員が行います。もはやその人たちなしでは大手企業もやっていけません。。。。

ソフトウェアエンジニアはソフトウェアを作ることに携わる人たち。またプログラマといえば、システムエンジニアも含めたプログラミングができる人ともいえると思います。


(言われたことを作業するような感じもありますが、ソフトウェアエンジニアの良し悪しで製品の質が変わってしまう)

これは、その本人が自分の肩書をどのように伝えるか、その人の考え方がわかってしまいますね・・・。こんなとき、ソフトウェアエンジニアじゃなくて?と突っ込んでみると、ビックリされるかもしれませんね。ちなみに私は突っ込んだことを2回くらいあります…。

本人はシステムエンジニアって自分のことを紹介していた時は自信満々な顔だったのに、私がソフトウェアエンジニアじゃなくて?と言ったら、ちょっと苦笑いしていました( ´艸`)

いずれにせよ、せっかく英会話交流に来ているのだから、自分の職業くらい説明できる力が欲しいものですね。ということで、このように細かい違いが実はあるということを皆様にシェアいたしました!

この記事をフェイスブックに掲載したあと、IT業界に詳しい方からフェイスブックでこのようなアドバイスをいただきました。

システム、ソフトウェア、プログラムという用語の使い方は確かにより正確にした方がいいと思います。AIやIoTではシステムという総合的なことより、優れた個体を想像することも大切なような気がしています。ロボットへの組み込みソフトも結局はプログラムの優劣で差が付きます。プログラミングは結構奥が深い世界かと思っています。いかに効率的に、いかに環境変化に強く、いかに柔軟性をもたすかなどを考えて作り上げています。構造化プログラミングが基本だと思います。JAVAやC言語でもその考え方は普遍性をもっていると思います。プログラマーは作業員というのはプログラマーの方々の一つの側面に過ぎないのではないかと思っています。

この記事では建設作業員をソフトウェアエンジニアのように書きましたが、やはりちょっと違うのかな?という風に思い始めています。(といっても私はこの分野にとても詳しいとは言えないので…。)

またあの大富豪であるビルゲイツが「自分はシステムエンジニアではなく、プログラマである」と発言したこともあるそう。奥が深いですね。

以下、ウィキペディアでの解説ではこのように書かれていました。

1990年代に突入すると、あらゆる分野にコンピュータが進出するようになる。また、プログラマであるビル・ゲイツが1993年にフォーブス誌の世界長者番付一位となるとプログラマという職業が完全に社会的認知を受けるようになってくる。それまで、商用ソフトウェアを一人のプログラマが設計していた事例も見受けられていたが、ソフトウェア開発の巨大化に伴い、一人もしくは少数のプログラマによる開発が難しくなり、より大人数、組織化した開発プロジェクトが標準化してくるようになる。それに伴い、それまでプログラマの役割も分科されるようになり、ソースコードを記述するプログラマと、その設計および指示を行うシステムエンジニアに分かれてくるようになる。

これでスッキリ!

こんな記事もオススメです。
accountant / bookkeeper 会計士と経理の違い」

こんな記事もオススメです。
「多言語話者、マルチリンガルになるための勉強法とは?」



0 件のコメント: