ITエンジニアの職種として挙げられるシステムエンジニア(SE)とプログラマー(PG)。
SEとPGの違いは何でしょうか?SEはプログラミングしないものなんでしょうか?
何か永遠のテーマのような気もしますが実際どうなのか私のこれまでの経験から話したいと思います。
システムエンジニアとプログラマーの違い
ITエンジニアも一般的に大きく分けるとシステムエンジニアかプログラマーに分かれます。分かれることにしましよう。
(実際はアプリケーションエンジニアだの、何とかデベロッパーだの会社によって呼び名は違ったりしますが)
そもそもシステムエンジニアとプログラマーの違いって何?ってことですが
システムエンジニアの定義は色んな説があって難しいですがプログラマーはプログラミング(コーディング)する人でしょう。
プログラマーって言われてプログラミングしない、できないのは駄目でしょう。(笑)
となるとITエンジニアのうちプログラマーを名乗らない、名乗れない人はすべてシステムエンジニアということになります。(PMOはエンジニアとはまた別かな)
システムエンジニアというとプログラマーの上位互換みたいな印象持つ人もいるかもしれませんが必ずしもそうとは言えない訳です。
ひたすら画面を打鍵してテストするだけの人もプログラマーじゃないという理由でシステムエンジニアっちゃあシステムエンジニアです。
システムエンジニアとプログラマーを募集している案件があると単価が高いという理由でスキルが低い人材でもシステムエンジニアとして入れちゃうのはよくある話です。
システムエンジニアはプログラミングしないのか?
プログラミングする人がプログラマーならプログラミングしたらシステムエンジニアではないのか?
っていうとそんなことはないです。プログラミングしかしてなかったらそうですがそれ以外の仕事(仕様書書いたり)してればシステムエンジニアとしてプログラミングしてるだけですから。
システムエンジニアがプログラマーの役割を一時的にしている、とも言えるかもしれません
システムエンジニアだのプログラマーだのってのはあくまで便宜的な枠割であって別にその人に士農工商みたくついて回るものじゃないですから。
言葉に意味を求めすぎてはいけない
何でもそうなのかもしれませんが、特にIT業界では言葉に意味を求めすぎてはいけません。
言葉ありきで明確な定義なんて無いんですから。ほとんどバズワードなんですから。(言い過ぎか)
システム自体は1文字、1バイト、1ビット違うだけで全く動かなくなるくせにこういうのはすごい曖昧な世界だなーと常々感じますね。
システム開発においてプログラミング(コーディング)の工程の占める割合は思ってるよりも小さいです。
つまりプログラマーのままだといつまでもシステムの一部しか知らないままです。
プログラムも書けるけどそれ以外のこともできる、という風にスキルを磨いていったらいいんじゃないでしょうか。