システムエンジニアという業種はしばしばプログラマーと混同されることがあるが、その業務内容には大きな違いがある。
システムエンジニアとはクライアントが要求するシステムいかに構築するかが主な業務であり、実際にそのシステムを記述するのがプログラマーである。つまり、エンジニアが全体の枠組みを作るのに対して、プログラマーはその全体のうちの一つ一つのプログラムをつくる。マクロの視点でシステムを考えるのがエンジニアで、ミクロな視点でシステムを考えるのがプログラマーである。
エンジニアの本質はシステム全体をいかにして分解するか、そしてその各機能をどう有機的に結びつけるかにある。システムは一般に複数のプログラムからなる。そして、そのプログラムが有機的につながりあって全体のシステムが構成されている。
それゆえ、一つのプログラムが違うだけでシステム全体としての働きが変わってくるので、クライアントの要件を満たすために必要なプログラムは何かを正確に定義する必要がある。ここが1つ目の本質の分解にあたる。もうひとつの本質はそれらのプログラムの組み合わせ方にある。
使用するプログラムが同じでもプログラムの順序を変えるだけで情報の流れが変化するため、システム全体としての機能も変化するのは当然である。優れたエンジニアはプログラム数を必要最小限に最適化し、情報の流れももれなくダブりなく組みたてる。この業種の本質はここにある。
自身で考えるシステムエンジニアの存在と、周りから見た違いはあるのだろうか。>>>世間はこう見る!システムエンジニアの業種とは?