上流工程志望の新人はなぜ最初にプログラミングをやらされるのか【面接官の本音】

IT業界を志望している就活生の中には、次のように考えている人も多いのではないでしょうか。

「できればプログラミングはあまりやりたくない」
「要件定義や設計など、上流工程の仕事がしたい」
「将来はITコンサルのような仕事がしたい」

特に文系出身の就活生の場合、
「プログラミングは苦手そうだから、設計やマネジメントをやりたい」
という声をよく聞きます。

しかし実際のIT企業では、多くの新人がプログラマーとしてキャリアをスタートします。

会社説明会などでもよく言われます。

「まずは開発経験を積んでもらいます」
「最初はプログラミングやテストを担当します」

この言葉を聞いて、

「上流工程はできないの?」
「ずっとプログラマーなの?」

と不安になる人もいるかもしれません。ですが、これは決してネガティブなことではありません。
むしろIT業界では

最初にプログラミングを経験することが、将来のキャリアにとって非常に重要

だと考えられています。

この記事では、IT企業の採用や現場の視点から

なぜ新人は最初にプログラミングを経験するのか
なぜいきなり上流工程を担当しないのか

について、リアルな現場感覚で解説します。


そもそも上流工程とは何か

まず最初に、IT業界の仕事の流れを整理しておきましょう。

システム開発は一般的に次のような流れで進みます。

① 要件定義
② 基本設計
③ 詳細設計
④ プログラミング
⑤ テスト
⑥ 運用・保守

それぞれの工程には役割があります。


要件定義

要件定義とは、「どんなシステムを作るのか」を決める工程です。

例えば企業が

「顧客管理システムを作りたい」

と考えた場合、

・どんな機能が必要か
・どんなデータを管理するか
・どんな業務を効率化するか

などを整理します。

この工程では、顧客と直接コミュニケーションを取りながら

システムの方向性を決めていきます。


基本設計

基本設計ではシステムの全体構造を設計します。

例えば

・画面構成
・データ構造
・機能一覧
・システム構成

などです。

ここではシステム全体の骨組みを作ります。


詳細設計

詳細設計ではプログラミングできるレベルまで仕様を具体化します。

例えば

・処理の流れ
・入力データ
・出力データ
・アルゴリズム

などです。

この設計書をもとに、プログラマーがコードを書きます。


プログラミング

ここでようやく実際のシステム開発が始まります。

設計書をもとに

・Java
・Python
・C#
・JavaScript

などのプログラミング言語を使ってシステムを作ります。


テスト

システムが完成したら正しく動くか確認します。

テストには様々な種類があります。

・単体テスト
・結合テスト
・総合テスト
・受入テスト

この工程で品質を確認します。


上流工程と下流工程

IT業界では、

①要件定義
②基本設計

上流工程と呼びます。

一方で

③詳細設計
④プログラミング
⑤テスト

などは下流工程と呼ばれることが多いです。

就活生の中には

「上流工程の方がレベルが高い仕事」
「下流工程は単純作業」

と考える人もいます。

しかし実際の現場では上流も下流もどちらも重要です。

むしろ、

下流工程を理解していない上流エンジニアは非常に困る存在

になってしまいます。


IT企業の新人はなぜプログラマーから始まるのか

ここからがこの記事の本題です。

多くのIT企業では、新人はまずプログラマーとして経験を積むことになります。

これは単なる慣習ではありません。

非常に合理的な育成方法なのです。

その理由を、現場の視点から解説します。


理由① 設計は「実装」を理解していないとできない

設計という仕事は、

単に仕様を書くことではありません。

設計とは

「実装できる形に落とし込む仕事」

です。

例えば、こんな仕様があったとします。

・検索結果を瞬時に表示
・リアルタイムでデータ更新
・複雑な条件検索

一見すると問題ない仕様に見えます。

しかしプログラマーからすると

「この仕様は実装がかなり難しい」
「処理速度が出ない」
「データベース設計を変える必要がある」

というケースはよくあります。

つまり

実装の難しさを知らないと、現実的な設計はできません。

これが、IT企業が新人にまず開発経験を積ませる理由です。


理由② 開発の大変さを知らない設計は危険

ITプロジェクトでは、設計者と開発者が密接に関わります。

しかし、もし設計者が一度もプログラミングをしたことがない場合、どうなるでしょうか。

現場ではよく次のような問題が起きます。

・仕様が曖昧
・実装工数が考慮されていない
・無理なスケジュール

例えば、

「この機能は1週間で作れると思います」

と設計者が言ったとしても、

実際には1ヶ月かかるというケースもあります。

その結果

・スケジュール遅延
・プロジェクト炎上

につながることもあります。

だからこそ多くのIT企業では設計者にも開発経験を求めるのです。


新人が上流工程をやりたがる理由

就活生の多くは、なぜか最初から上流工程を志望します。

実際に面接でもよく聞く言葉があります。

「将来は要件定義などの上流工程に携わりたいです」
「お客様と直接関わる仕事がしたいです」
「設計などの仕事に興味があります」

もちろん、これ自体は悪いことではありません。

むしろキャリアの方向性としては、とても自然です。

ただし、多くの就活生が上流工程を志望する背景には、いくつかの誤解があります。


誤解① 上流工程の方がかっこいい

就活生の中には、「プログラマーより設計者の方がレベルが高い」と考えている人がいます。

確かにキャリアの順番としては

プログラマー

設計者

プロジェクトマネージャー

と進むことが多いです。

そのため、「上流工程=上の仕事」と感じる人も多いでしょう。

しかし実際の現場では、プログラマーも非常に高度な仕事です。

例えば

・アルゴリズム設計
・パフォーマンス改善
・バグ解析
・システム最適化

などは、高い技術力が必要になります。

つまり

上流工程が偉い
下流工程が簡単

というわけではありません。


誤解② プログラミングは単純作業

IT業界を知らない人の中には「プログラミング=単純作業」というイメージを持っている人もいます。

しかし実際はかなり頭を使う仕事です。

例えば

・どうすれば処理が速くなるか
・どうすればコードが分かりやすくなるか
・どうすればバグを減らせるか

などを常に考えながら作業します。

むしろプログラミングは論理思考の塊のような仕事です。


誤解③ 上流工程はコミュニケーション中心

「自分は文系だから、技術よりコミュニケーションが得意」

そう考えて上流工程を志望する人もいます。

しかし実際の上流工程ではかなり技術的な理解が必要です。

例えば

・システム構成
・データベース設計
・処理性能
・セキュリティ

などについて判断する必要があります。

そのため,

技術理解がない上流エンジニアは現場で苦労します。


プログラマーで止まる人の特徴

ここで少しリアルな話をします。

IT業界では

全員が上流工程に行くわけではありません。

プログラマーとしてキャリアを続ける人も多くいます。

それ自体は決して悪いことではありません。

技術を極めた

スペシャリスト型エンジニアも非常に重要です。

しかし、上流工程に進む人には共通点があります。

逆に言うと、次のようなタイプは上流工程に進みにくい傾向があり、

プログラマー止まりと呼ばれたりします。


指示待ちタイプ

上流工程では

「何を作るか」

を考える必要があります。

しかし

・指示されたことしかやらない
・言われた通りに作るだけ

というタイプは、設計の仕事には向きません。


視野が狭い

プログラマーは一つの機能に集中することが多いです。

しかし上流工程ではシステム全体を見る必要があります。

例えば

・データの流れ
・他システムとの連携
・業務プロセス

などです。

そのため、全体を見られる人が上流工程に進みやすいです。


技術に興味がない

これはかなり重要です。

「上流工程に行きたいから、技術はそこまで勉強しなくていい」

と思っている人もいます。

しかし実際は逆です。

上流工程ほど技術理解が必要

です。

例えば

・この設計は性能が出るか
・この構成でシステムは動くか
・セキュリティは大丈夫か

などを判断する必要があります。

そのため

技術に興味がない人は、上流工程でも苦労します。


上流工程に進むエンジニアの共通点

では逆に、どんな人が上流工程に進むのでしょうか。

現場でよく見る特徴を紹介します。


構造把握力が高い

優秀なエンジニアは、物事を構造で理解します。

例えば

・システム構成
・データの流れ
・機能の関係

などを整理する力です。

これは、設計で非常に重要な能力です。


なぜ?を考える

優秀なエンジニアは、常に「なぜこの仕様なのか」を考えます。

例えば

・なぜこのデータ構造なのか
・なぜこの処理が必要なのか
・なぜこの設計なのか

こうした思考が

設計力につながります。


開発だけで満足しない

優秀なエンジニアは、次のことにも興味を持ちます。

・システム全体
・業務プロセス
・顧客の課題

つまり

技術だけでなくビジネスにも興味がある

人です。

こういう人が、要件定義などの上流工程に進みます。


SIerのリアルな役割分担

IT業界、特にSIerでは、役割がある程度分かれています。

例えば次のような構造です。

顧客

元請けSIer

二次請け

三次請け

プロジェクトによっては五次請けくらいまであることもあります。

この構造の中で、上流工程は主に元請けSIerが担当します。

例えば

・NTTデータ
・NRI
・SCSK
・TIS

などです。

一方で、開発を担当するのは二次請けや三次請け企業であることも多いです。

そのため企業によって、経験できる工程が違うこともあります。

これは就活の時に

しっかり確認した方がよいポイントです。


面接で「上流工程をやりたい」と言うのはOK?

就活生の中には、面接で次のように言う人がいます。

「将来は要件定義などの上流工程に携わりたいと考えています」

この答え自体は、決して間違いではありません。

むしろキャリア志向としては、とても自然です。

ただし、ここで重要なのは伝え方です。

もし次のように聞こえると、面接官の印象はあまり良くありません。

「プログラミングはあまりやりたくない」
「設計の方が向いていると思う」
「文系なので開発より上流工程をやりたい」

なぜなら、面接官からすると

「この人は開発を避けたいのかな?」

と感じてしまうからです。

IT企業では多くの場合、最初のキャリアは開発からスタートします。

そのため、開発を軽く見ているような印象を与えてしまうと、評価は下がってしまいます。


面接官が評価する答え方

では、どのように答えればよいのでしょうか。

ポイントは

「まず開発を経験したい」という姿勢

を見せることです。

例えば次のような回答です。

「将来的には要件定義などの上流工程にも携わりたいと考えています。ただ、そのためには開発経験が重要だと考えているため、まずはプログラミングや設計をしっかり学び、技術理解を深めたいと思っています。」

この答え方だと

・上流志向
・成長意欲
・技術理解

の3つが伝わります。

面接官としても

「この人は現場を理解しようとしている」

と感じます。


上流工程に進むためのキャリア戦略

ここで少しキャリアの話をしておきます。

上流工程に進むエンジニアは、一般的に次のようなキャリアを歩みます。

1〜2年目
テスト・プログラミング

3〜5年目
詳細設計・開発

5〜10年目
基本設計・要件定義

もちろん会社によって違いはありますが、大きな流れはこのような形です。

つまり

上流工程は経験を積んだエンジニアが担当する仕事

なのです。

これは決して遠回りではありません。

むしろ

開発経験がある設計者の方が圧倒的に強い

です。


文系IT就活生へのアドバイス

文系でIT業界を志望している人は、次のような不安を持つことが多いです。

「プログラミングができるか不安」
「理系の人に負けてしまうのでは」
「技術についていけるか心配」

しかし実際には、IT業界には文系出身のエンジニアも多くいます。

特にSIerでは

文系:理系
6:4

くらいの割合になることも珍しくありません。

重要なのは

学部ではなく、思考力と学習意欲

です。

特に評価されるのは次のような力です。

・論理的思考力
・問題解決力
・構造把握力
・コミュニケーション力

こうした能力は、文系でも十分に身につけることができます。


上流工程を目指すなら意識したいこと

将来、要件定義や設計などの仕事をしたいのであれば、次のことを意識すると良いでしょう。


システム全体を見る癖をつける

優秀なエンジニアは「この機能」だけでなくシステム全体を考えます。

例えば

・データの流れ
・他システムとの連携
・ユーザーの業務

などです。

こうした視点を持つことが、設計力につながります。


技術への興味を持つ

上流工程を目指す人ほど、実は技術に詳しいです。

例えば

・クラウド
・データベース
・ネットワーク
・セキュリティ

などです。

技術を理解しているからこそ現実的な設計ができます。


顧客視点を持つ

要件定義では

「顧客が何を求めているか」

を理解する必要があります。

そのため

・業務理解
・課題整理
・コミュニケーション

も重要です。

つまり上流工程では、技術とビジネスの両方が求められます。


面接官の本音

最後に、採用担当としての本音を書いておきます。

企業が本当に欲しいのは

「上流工程をやりたい人」

ではありません。

欲しいのは

「開発を理解した上流人材」

です。

設計だけできる人よりも

開発も理解している人の方が

・仕様の精度が高い
・プロジェクトが安定する
・現場とのコミュニケーションがスムーズ

だからです。

そのため、多くのIT企業では新人にまず

開発経験を積ませる

のです。

これは決して遠回りではありません。

むしろ

将来のキャリアの土台

になります。


まとめ

・IT企業では新人はプログラマーから始まることが多い
・これは合理的な育成方法
・設計には実装理解が必要
・開発経験があるエンジニアほど上流工程で活躍できる

就活生の中には

「最初から上流工程をやりたい」

と思う人もいるかもしれません。

しかし実際には

開発経験こそがキャリアの武器

になります。

もしIT業界を志望しているのであれば、

まずは

開発を通じてシステムの仕組みを理解すること

を意識してみてください。

その経験が、将来、要件定義や設計などの上流工程で大きな力になります。

プロフィール
この記事を書いた人
パパダンゴ

はじめまして!
当ブログ「天職カツ丼ブログ」を運営しているパパダンゴです。

私は現在、IT企業の人事マネージャーとして、これまで多くの学生の面接に関わってきました。現在も年間200名以上の方に面接をしています。
面接官としての経験を活かし、「受かる答え・落ちる理由・志望動機の作り方」など、就活の本音を分かりやすく解説しています。

学生の多くは、何を準備すればいいか分からず不安を抱えています。
このブログでは、面接官目線で情報を整理し、IT業界未経験者でも挑戦しやすいように解説しています。

■ブログで発信していること
・未経験からIT業界に入る方法
・T業界の職種解説
・志望動機の作り方
・自己分析のやり方
・SPI、Web-CABなどの適性検査対策
・面接で評価されるポイント

すべて、採用現場のリアルな視点をもとにしています。

■人柄・価値観
人が安心して挑戦できる「場」を作ることが好きです。
誰かが一歩踏み出すとき、その背中を少し押せるような情報を届けたいと思っています。
MBTIは INFJ(提唱者型) で、人の成長や可能性に関わることに喜びを感じます。

就活は不安や迷いが多いものです。
このブログが少しでも、皆さんの「次の一歩」を考えるヒントになれば嬉しいです。

パパダンゴをフォローする
面接官の本音
シェアする
タイトルとURLをコピーしました