見出し画像

SEとプログラマー 上流と下流工程

こんにちは。

私は今就活でIT系を見ているのですが、
ひとつの壁にぶつかっています。

それは、SE職の中で上流工程にいくか下流工程にいくかということです。

そもそも上流工程と下流工程とは…


上流工程とは、システム開発・設計において最初に行う初期の段階のことです。

いくつかの要件に分けることができ、主に含まれるのは「要件定義」「機能定義」「構成管理」「計画立案」などの工程です。要件定義では、クライアントが求めているシステムの内容をヒアリングし、要件としてまとめます。機能定義で要件を具体的な機能として決定し、構成管理では定義した機能を提供できるシステム構成や構造を管理します。計画立案は、制作物のスケジュールの全行程を計画する工程です。

システム設計までが上流工程、プログラム開発以降を下流工程とするのが一般的です。


下流工程は、上流工程で決められた仕様や機能、プログラミング言語を活用してシステム開発や実際の製造を行う段階です。名称の由来は、ソフトウェア開発モデルの一つである「ウォーターフォールモデル」から来ており、その名の通り、滝の如く上流から下流へ流れるように一直線にシステム開発が進んでいくことを表現しています。

下流工程に含まれる主な要件には、「実装(コーディング)」「テスト」「導入」などがあります。実装(コーディング)では、定められた機能・プログラミング言語通りに開発を行い、テストでは完成した機能が想定通りに実際に動いてレスポンスを返すかどうかを確認します。導入は、最終的に本番環境へリリースし、クライアントの環境で実際に動作するのかを確認する工程です。


ということらしいのです。

大まかに言ってしまうとシステム設計までが上流工程で
プログラム開発以降が下流工程です。


上流工程はクライアントと話したり要望を聞き出したりコンサルティングの要素や計画要素が含まれています。

一方で下流工程はIT土方と言われることもあるそうで、ひたすらプログラムを作る。

まるで土方の仕事だということで、あまり良い噂を聞きません😢


ちなみに私は下流工程を志望しています。

なぜなら生粋のプログラマーのほうが私に合っていると思うからです。

しかし、入りたいと思う会社は上流工程だけの会社が多いのです。。

上流工程はコミュニケーション力やリーダーシップなどを重視する仕事が多く、

私にとっては大変そうだなぁと思います。

下流工程ならコツコツとプログラムに特化して行うことができるので魅力的なのですが、

立場としては弱くなりがちです。

なぜなら会社として下請けになればなるほど利益が小さくなってしまうというピラミッド型の法則があるからです。

下にいるほど仕事の自由度が減ってしまう可能性が高く、給与も低くなると…

そこで私は無理してでも上流工程で働いたほうがいいのかな…と悩んでいます。

本心はただただプログラムに特化した仕事がしたかったのですが、
それだけでは駄目なのかと思いました。

どんな業界でも対人の仕事は避けて通れないのだなぁ…

どうしよう😵と迷い中です。

とりあえず下流工程のIT会社の最終面接を来週受けるので、その点を詳しく聞いてみようと思います🤔




この記事が気に入ったらサポートをしてみませんか?