プログラマーになるには@現役プログラマーに聞く

プログラマーへのFAQ

SEとプログラマーの違いは何ですか?

役割の違い

「プログラマーとは」で述べた復習になりますが、『システム』を作る上で、大まかな流れは下記の通りです。

1)要件定義:お客様の要望を聞き出す
  ↓
2)概要設計:要望から大まかな仕様を決める
  ↓
3)詳細設計:プログラムを作るために、概要設計をもとに細かい仕様を決める
  ↓
4)開発:プログラムを作成する
  ↓
5)テスト:作成したプログラムに誤りがないかテストを行う
  ↓
6)運用保守:作成したシステムを実際にお客様に使って頂く

このうちSEは1)~6)まで全てに関わりますが、プログラマーは3)~5)と6)の一部に関わるものだと思って下さい。SEがお客様から聞き出した要求に基づき設計し、それを実際にプログラマーが形にする役割となります。

キャリアパスの違い

私の周りの方を見ているとプログラマーのキャリアパスとしては下記の3つがあるようです。
1)プログラマー→SE→プロジェクトマネージャー
2)プログラマー→開発現場管理者
3)生涯プログラマー

1)、2)に関しては、最終的にプログラマーを経て、プロジェクトのスケジュール管理や人員管理、予算管理などを行う管理職になる一般的なキャリアパスです。よって、最終的にはパワーポイントやエクセル等とにらめっこする仕事になっていきます。

3)はそういった管理の仕事を嫌う、いわば職人さんです。このタイプはフリーや独立して活躍している人が多いです。

ただし、このキャリアパスは所属する会社によって実現できるかが左右される場合があるので、自分がどういうキャリアパスを経て仕事をしたいのかによって、会社選びを考える必要があります。

SEの場合は1)が一般的で、分野を限定して専門的な知識をつけるエキスパートやコンサルを目指す人も居ます。また女性の場合は、サービスデスクと言われるお客様をサポートするキャリアに移行する方も居ます。