プロジェクトを推進する手腕
システムエンジニアが手掛ける仕事は、クライアントとディスカッションをしながらソフトウェア開発のアウトライン、方向性を決定することです。プログラマーが、プログラミング自体を専属に行うのに対して、システムエンジニアは、プロジェクト全体の発足段階から関わり、監修する立場にある人間です。この仕事の行程が「上流工程」と呼ばれるゆえんでしょう。
ソフトウェア開発において、まず最初に行動するのがシステムエンジニアであり、対コンピューターの仕事だけではなく、対クライアントである交渉も重要な職務です。また、ベーシック設計の方向性を定め、実際にプログラミング可能なレベルまで煮詰めるのもシステムエンジニアの仕事といえるでしょう。いわば、システムエンジニアとは、実際のソフトウェア開発を円滑にすすめるためのプロデューサーと捉えることもできるのです。
プログラマーがプログラミングしやすいようプロジェクトを整えていくのも、システムエンジニアの仕事です。プログラマーにとっての仕事の進めやすさは、システムエンジニアの手腕にかかっていると言っても過言ではありません。プログラマーの立場から見た場合、どうのような形で仕事をシステムエンジニアから引き渡されば、仕事がやりすいのかという理想があります。そのため、プログラマーから転職したシステムエンジニアは、プログラマーが仕事をやりやすいように思考を凝らします。プログラマーへ適切な引き渡しをするスキルに長けているともいえます。従って、元プログラマーのシステムエンジニアは、システムエンジニアだけしか経験のない者よりもアドバンテージがあるのです。