チャレンジ!はじめてのシステム開発

SE・PGの役割は何か

IT人材の基本

人材不足が深刻化し、売り手市場と言われているPG(プログラマ)やSE(システムエンジニア)ですが、その担う役割は異なります。もちろんIT業界に携わる者として、プログラミングの知識は基本中の基本です。しかしそれだけでは不十分であり、それぞれの仕事をプロとして遂行する上で、求められる能力は単純なものではありません。

SEの役割

まずSEの役割は、システム開発全般という多岐に渡ります。まず最初にクライアントに対する丁寧なヒアリングを実施して、そのニーズや開発目的を誤りなく読み取り、最適なシステムを具体化するための計画を立てます。その計画には、プロジェクトとして必要な予算や人員や時間を見積もったり、実現すべきシステムと利用可能な技術などから、リスクを把握し、それを最小限に抑えるよう工夫します。このようにして全体像が決まれば、それを設計に落とし込みます。
この設計書に従ってPGが忠実にプログラミングを行い、システムを実装します。そしてプログラムが実際に正常に動くかどうかをテストした後、ユーザーの前で完成したシステムをテストし、問題がなければ納品します。更にその後のユーザーの運用をサポートし、保守管理を行うのも、地味ながらSEの役割です。
このようにSEは、クライアントやユーザーと直接折衝をする重要な役割を担うのであり、プレゼン能力やコミュニケーションスキルも必要ですし、またプロジェクト全体をマネジメントする能力も求められます。またもちろん実際のプログラミングはプロとしてのPGに任せるにせよ、最低限のプログラミングの知識がなければ、そもそも最適な言語を選択することもできなければ、設計書を書くこともままならず、またPGとうまく意思を疎通することも叶わないのであり、更には予測不可能な事態が生じるプロジェクトの運営において、工程管理できるはずもありません。

PGの役割

一方PGは、SEの仕様書を基に正確にプログラミングすることが求められるのであり、ソフトウェアやアプリケーションの開発にも携わります。もっともプログラム言語には様々なものがあり、C言語やJavaの他にも、Web系であればPHPやPerlなどが使われます。
これらのうちどの言語を使用するのかは、それぞれの開発環境やクライアントが提供するサービスの種類によって異なりますが、基本的には似たような考え方に立つものであり、一つを習得すればそこから更に学習を進めることが可能です。もちろんプロジェクトのメンバーとして開発に携わる場合に、一人で仕事が完結するわけではなく、チーム内における円滑なコミュニケーションは欠かせません。