ITやコンピューターの仕事と言うと、システムエンジニア(SE)やプログラマー(PG)を思い浮かべる方も多いのではないでしょうか?
システムエンジニアとプログラマーの違いはあまり認識されておらず、同じ職業と思われることも多い職業ですが、実際はシステムエンジニアとプログラマーの仕事には明確な違いがあります。
ここではこの2つの職業の違いをご説明します。
システムエンジニア(SE)の仕事
まずはシステムエンジニアの仕事についてご紹介します。
要件定義
システムエンジニアはシステム開発にかかわるすべての業務を行います。
具体的には、クライアント(取引先の企業など)にどんなものを作りたいのかヒアリングし、そこから浮かび上がった要望などをもとに設計書を作成します。
この工程を「要件定義」と言います。
基本設計
要件定義ができたら、システムの機能や仕組みを決定します。この工程は「基本設計」と呼ばれます。
基本設計が出来たら「仕様書」と呼ばれるシステムの設計図を作ります。
実際にプログラムを書くといった作業をするのはプログラマーなので、システムエンジニアはプログラマーへの細かな指示をしたり、設計書通りになっているかといった最終チェックを行ったりします。
プログラマー(PG)の仕事
続いて、プログラマーの仕事をご紹介します。
製造・プログラミング
プログラマーはシステムエンジニアが作成した仕様書をもとに、プログラミングを行います。
システムエンジニアは直接クライアントからヒアリングをして要件定義を行いますが、プログラマーがクライアントと顔を合わせることはほとんどありません。
プログラマーはシステムエンジニアが作成した仕様書を基にプログラミングをすることが主な業務になります。
使用するプログラミング言語は、Java、JavaScript、Perl、PHP、Objective-Cなどがあり、勤める企業やかかわるプロジェクト、担当する業務によって、必要になる言語も変わってきます。
テスト
プログラマーの仕事はプログラムを書いて終わりではありません。作成したシステムが仕様書通りに動作するのかテストを行い、エラーやバグがあれば修正を行います。
システムエンジニア・プログラマーに求められるスキル
ここまでシステムエンジニアとプログラマーの仕事内容の違いをご紹介しました。
では、システムエンジニア・プログラマーを目指すには、どんなスキルが求められるのでしょうか?
システムエンジニアとプログラマーは同じITの仕事であっても、業務内容に大きな違いがあるため、求められるスキルも異なります。
システムエンジニア(SE)に求められるスキル
システムエンジニアはクライアントの要望を正しく理解し、システム全体の設計図を書き、プログラマーに指示を出す必要があります。
そのため、ITに関する知識・技術はもちろん、コミュニケーション力やマネジメント力といった社会人スキルも求められます。
コミュニケーション力・ヒアリング力
システムエンジニアの仕事はクライアントへのヒアリングから始まります。
クライアントの要望を正しく理解し、形にしていくためには、クライアントの話す内容を正確に聞き取る必要があります。
また、聞き取った内容を基にクライアントが満足するシステムを提案し、プレゼンするスキルも必要となります。
マネジメント力
システムエンジニアはシステム開発にかかわるすべての業務を行います。
全体の動きを把握しながら、プログラマーへの指示を出したり、業務の振り分けを行うなど、プロジェクト全体をマネジメントするスキルが求められます。
プログラミング知識
実際にプログラミングを行うのはプログラマーですが、要件定義や基本設計を行う上でプログラミングの知識があることが前提となります。
またクライアントからヒアリングをする際にも、そのシステムが実現できるのかどうかの判断をその場で求められることもあり、プログラミングの知識は必須のスキルと言えるでしょう。
プログラマー(PG)に求められるスキル
プログラマーはシステムエンジニアが作成した仕様書をもとにプログラミングを行います。
プログラミングスキル
プログラマーはシステムやソフトウェアを作成するのが主な仕事です。
同じシステムであってもプログラマーによってどんなプログラムを書くのかは異なります。プログラマーのプログラミングスキルが低いと、動作が重いシステムになってしまったり、エラーが発生しやすいシステムになってしまう可能性があります。
一方で、プログラマーのプログラミングスキルが高いと、単にシステムエンジニアが設計したシステムをそのまま再現するのではなく、使いやすくエラーの少ないプログラムを作ることができます。
コミュニケーション力
前述した通り、プログラマーはクライアントと直接話をする機会はほぼありません。
しかし、大きなプロジェクトでは数十人から100人以上のエンジニアやプログラマーが協力し合って仕事をします。システムエンジニアが設計した仕様書の意図を汲み取り、同じプロジェクトのメンバーと協力しながら仕事をするためのコミュニケーション能力は欠かすことができません。
まとめ
ここまで、システムエンジニアとプログラマーの違いについて解説を行いました。
システムエンジニアとプログラマーの違いは理解できても、自分にはどちらが向いているのかは、学んでみなければ分からないかもしれません。
さいたまIT・WEB専門学校の高度専門士情報技術科(4年制)は、1年次は専攻分けはなく全員がシステムエンジニアとプログラマーの知識・技術を幅広く学びます。
そして、1年間学んだ上で、自分のやりたいことに合わせて2年次に「システムエンジニア専攻」「プログラマー専攻」を選択します。2年次に専攻は分かれますが、希望する方は自分が選択した専攻以外の科目もすべて履修することができるので、システムエンジニアもプログラマーも両方しっかり学びたい方は、自分らしく時間割を組み立てることが可能です。
システムエンジニアとプログラマーでは業務内容も求められるスキルも異なりますが、企業やプロジェクトの規模によっては、システムエンジニアがプログラマーの業務も兼任することもあります。
また、プログラマーがシステムの設計のことを正しく理解しておくことも、円滑にプロジェクトを進めるためには欠かせません。
これからIT業界でコンピューター技術者を目指す方は、システムエンジニア・プログラマー、両方の知識・技術を持っていることで、将来の仕事の幅を広げ、自分らしく働くことができるのではないでしょうか。