システムエンジニアとプログラマの違い

f:id:yyama1556:20160618114223j:plain

「ものすごくあいまい」の一言に尽きます。

明確な定義はありませんし、会社によって基準はぜんぜん異なります。ただ一般的に言われている「システムエンジニア」や「プログラマー」について知りたい人向けに書いてみたいと思います。

ここでの話は、受託開発をするSIer(エスアイヤー)の話です。自社サービスの開発を行うエンジニアとは異なります。

プログラマー

f:id:yyama1556:20160618113741j:plain

プログラムを書いてテストをします。

設計はしない?

プログラミングも設計といえば設計なのですが、そこは置いておいて、一般的にいう「詳細設計書」は書きます。ただ、詳細設計をどこまで細かく書くかはプロジェクトの方針によりますが、複雑な処理を行う箇所は書いたほうがいいでしょう。一般的な処理であれば不要だと思います。設計を詳細にしていくと、それはプログラムそのものだからですね。

複雑な処理を机上で整理し、考え方に間違いがないか確かめるのが詳細設計です。決してプログラム 1ステップ 1ステップを日本語に翻訳したものではありませんので注意してください。

あと、基本設計書を読む必要があります。基本設計書には矛盾や不足している内容などが潜んでいます。そこに早く気づいて指摘する必要があります。

自分のスケジュールを管理します。

システムエンジニア

f:id:yyama1556:20160618113914j:plain

顧客と折衝しながら、要件定義や概要設計、基本設計をメインにこなします。

全体のスケジュールや進捗に注意を払い、納期に間に合うようにプロジェクトを推進します。

プログラマーが作ったプログラムをレビューできれば更にいいのですが、残念ながらプログラムをかけない人も結構います。

まとめ

どんな肩書きであれ、お客様の要件を明確にし、システムで効率よく実現するという目標があります。自分の能力を最大限に用いてプロジェクトに「積極的」に貢献していくということがだいじです。

一般的には業界経験が浅い若手を「プログラマー」と呼び、ある程度の経験者を「システムエンジニア」と読んでいます。繰り返しますが、ものすごく曖昧なので、あまり意識する必要もないのですが、どちらを名乗るかで単価が変わってきますので面倒くさいです。

最近は「システムエンジニア」を数年経験すると「コンサルタント」になる会社もあるようです。あほらしいですが。

結論、おもに経験年数。