「システムエンジニア(SE)とプログラマーって何が違うの?」と聞かれることが多くあります。
そこで、皆さんが知ってる建築士と大工の違いで例えて説明したいと思います。

システムエンジニアは建築士、プログラマーは大工で例えることができます。

建築士は、家の設計や工事の監視を行う人を指します。
設計するときは、お客様がどんな家にしたいか、打合せで色々と決めますよね。

リビングは、どれくらいの広さが良い?
キッチンは、アイランドキッチンにする?
2階建てにしたい?
駐車場は車何台分ほしい?
ウッドデッキはほしい?

など、決めた内容をもとに家の設計図(イメージできるもの)を作っていきます。

大工は、その設計図に基づいて家を建てる人を指します。
当然、建てるために必要な道具、材料の準備は大工で行います。

これをシステムエンジニア、プログラマーにするとこうなります。

システムエンジニア

システムの設計、プログラマーが作成したシステムの確認やテストを行います。
またシステムを使ってる中で不具合があればサポート(プログラム修正など)します。
設計するときは、建築士と同じように、お客様と打合せしてどんなシステムにしたいかを決めていきます。

どんな機能がほしい?
画面のデザイン(色、入力項目など)は、どういうのが良い?
1日のうち何時から何時まで利用する?
データはどれくらい(何年間)保存したい?  など。

プログラマー

システムエンジニアの設計書をもとにプログラムを作成する。
プログラムを作成するためのツール、パソコン環境はプログラマーが準備します。

システムエンジニアの方が幅広い知識が必要!

システムエンジニアは、プログラマーより幅広くシステムを理解しておく必要があります

建築士で言うところの「地震が起きても耐久性は大丈夫か?」、「夏の暑さや冬の寒さは大丈夫か?」
などの家を建てる中で重要な部分も考慮が必要です。

例えば、「急に停電になってサーバが落ちてもシステムは壊れないか?」、
「同時にたくさんのアクセスがきてもシステムは耐えれるか」などがあります。

心配しなくてもプロジェクトを経験していくうちに自然と力は付いていきます。

やはり、多くのプロジェクトを経験していくことが重要なので、
積極的に色んなプロジェクトに参加するようにしてくださいね。