システム開発には、上流工程と呼ばれるプロセスがあります。取引先へ要望をヒアリングし、結果を踏まえて要件定義や仕様書を作成すること、システム設計の内容を社内へ伝達し開発作業を進めてもらうことなどが、上流工程での業務です。
この上流工程を担当するSEに対しては、幅広い知識や経験が求められます。例えば、コミュニケーション力はもちろん必要です。しかし、ただ単に話が上手というだけでは、実際の仕事は務まりません。
メンバー同士の関係を調整しなければならないことは日常茶飯事ですし、ときには取引先に対しても、はっきりと意見を言わなければならない場面があります。逆に、妥協できるところは妥協する大らかさもなければなりません。柔軟な対応力・調整力が要されるのです。加えて、システムやプログラミングの知識も十分に持っている必要があります。実は、上流工程のSEの中には、プログラミングの経験がない人も珍しくはありません。しかし、システムを設計したり社内メンバーへ作業内容を指示したりする際には、プログラミングの知識があった方が話は進めやすいでしょう。また、プログラミング経験がないという上流工程のSEであっても、仕事上の経験がないというだけで、実際には自分で勉強をしていることも多いものです。
このように、上流工程のSEには多方面での能力が求められており、努力を続けなければならないという点で非常に大変です。しかし、システム開発が成功したときには、取引先から感謝されることになりますし、自分でも大きな喜びを得られるでしょう。それが、上流工程SEの仕事における面白さです。