システムエンジニア(SE)って、全然ITに詳しくない人でも言葉自体は聞いたことがあるし知っているという人がほとんどだと思います。でも、一般の人は実際どんな仕事をしている人たちなのかはぼんやりとしかイメージできないのではないでしょうか。
SE、プログラマー、プロジェクトマネージャー、プロジェクトリーダー、SIerなどなど、IT業界には様々な職業が存在します。
今回は、その中でも、システムエンジニア(SE)の説明を簡単にしていこうと思います。
今回の目次
SEの仕事内容
システムエンジニアとは、システムの開発において、主に上流工程(システムの設計、マネジメント、テストなど)を担当する職業です。これに対し、下流工程(プログラム、デバック、メンテナンス等)を担当するのがプログラマーです。
一昔前までは、プログラマーの次のステップとしての職業がシステムエンジニアであり、一般的なキャリアパスとなっていました。
しかし、最近では、両者の間に貴賤はなく、専門スキルを極めた人のことをITスペシャリスト、ITにまつわるすべての業務を一定の水準でこなすことができる人をフルスタックエンジニアなどといい、注目を集めています。
一つのシステムが開発され、それが稼動されるまでの流れを通して、システムエンジニアの仕事を簡単に説明していこうと思います。
システム開発の流れ
1、ヒアリング(要求分析)
クライアントのニーズ、願望等を何度も打ち合わせを通じてもれなく聞き出していきます。そしてどんなシステムを作ればそれらが満たされるのか考え、それを実現するために現実的にどのくらいのコスト(人件費)と時間がかかるかを計算して、クライアントに提案していきます。
そして、聞き出したクライアントの要望をまとめていきます(要件定義)。
2、基本設計
システムを構築するパーツを決めていきます。(開発言語、ネットワーク、データベース、サーバー環境などなど)
3、詳細設計
プログラマーやSEがプログラミングする上で必要な、細かい設定をします。
4、プログラミング
SEが設計した設計図をもとに、プログラマーが実際にプログラム(コーディング)していきます。SEがプログラミングすることもあります。
5、単体テスト
単一のプログラムがちゃんと動作するかチェックします。主にプログラマーの仕事になります。
6、結合テスト
2つ以上のプログラムを動かしてちゃんと動作するかチェックします。
7、システムテスト
すべてのプログラムを動かして、システム全体が正しく動作するかチェックします。
8、納入(運用テスト)
出来上がったシステムをクライアントの元に持って行き、実際に使ってもらって最終チェックを行う。この時、納品時の代金をいただくこともある。
9、本番稼動
システムが実装されます。メンテナンスは主にプログラマーが担当します。
システムエンジニアの役割
上記1〜9の仕事の中で、SEは主に1、2、3、6、7、8の仕事を担当します。この中でも特にヒアリングや基本設計などの仕事は、システム開発の根幹にかかわってくる部分です。より慎重に行い、両者の納得が得られるまで繰り返す必要があると言えるでしょう。
また、SEは、クライアントやプログラマーとの密に連絡を取り合い、それぞれ合意形成しながら仕事する必要があるので、よりコミュニケーション能力が求められます。
まとめ
システムエンジニアとは、一つのシステムが発案から実装にこぎつけるまでに必要なエンジンをような存在です。
打ち合わせなどの対人仕事があれば、ひたすらパソコンに向かって作業することもあり、仕事の幅が広く大変な仕事ですが、システムを1から作り上げる実感が湧きやすく、ユーザーやクライアントから感謝されることも多いので、辛い分、やりがいのある仕事だと言えるでしょう。