病み上がりのチャッピーです。
面接の際に良く確認されることのひとつに、「あなたはSEですか?PGですか?」というものがあります。私自身、開発者として5年が経ちますが、自分はSEなのかPGなのか良くわかっていません。
PGとはプログラマーのことで、文字通りプログラムを書く職業の人です。これはとてもわかり易いです。私もプログラムを書くことはできるので、PGと言うことができると思います。
SEとはシステムエンジニアのことで、一般的にはプログラムだけでなく設計書を書いたり交渉を行ったりする職業の人です。私も設計書を書いたり交渉を行ったりしているので、SEと言うことができると思います。
ですが今の時代、設計書を書かないPGはいないだろうし、交渉を行わないPGも少ないはずです。SEと言ってもプログラムを書くこともあるし、テスト項目を実施することもあります。
私の場合、開発者になってすぐ、仕様書を書く仕事から始まったので、SEがスタートということになります。プログラムを書くようになってからも、そもそも設計書が既にあるような仕事はしたことがありません。設計書はまったく無いか、必要に応じてPGが作るものであった仕事の方が多かったです。
このようにSEとPGの区別は、あまりなくなってきているのが現状のようです。SE、システムエンジニアという言葉は、実は和製英語で、日本以外では通じないとも言われています。
一昔前は、SEという言葉が誕生したころは、SEとPGの区別があったようです。
当時は、コンパイルマシンが現場に一台しかないところや、デバッグ環境がひとつしかないところが多くあり、そのようなところで開発を行う場合、ノートにプログラムを書き、机上デバッグを行う仕事が中心だったそうです。そしてコンパイルマシンが空いたら、ひたすらノートに書かれたプログラムを打ち込んでいきます。このようにひたすらプログラムを打ち込む仕事をする人がプログラマーなのです。
その後、VBの登場などによりGUIが発達していきました。ノートにプログラムを書くのではなく、これらGUIのための新しいツールを使える人がSEと呼ばれたようです。当然ツールを使うSEには、ひとりに一台パソコンがあります。ノートを使っている人と比べると、SEの方が優秀に見えてしまいますね。
現在では開発者一人につきひとつの開発環境が用意され、統合環境の使い方も簡単になりました。昔のようなSEとPGの区別ははっきりできなくなりました。
にもかかわらず、一般的にSEの方がPGより給料が高いです。
これは自分をSEと名乗るかPGと名乗るかの差だと感じます。「システムエンジニアとは結局のところ良くわからない、設計書を書いたり交渉を行ったりに責任を持たされるは嫌だ。」PGと名乗ることにより暗にこのような主張をしていると取られてしまうのです。「プログラムだけ書いていたい!」とかですね。
しかしPGと名乗っても、結局SEの仕事もするのです。本当にプログラムだけ書いている開発者はほとんどいないでしょう。あまり違いが無いにもかかわらず、「やりたくない」ことを主張して、評価を下げてしまうのは損です。実際にプログラムしか書いたことの無い技術者もいらっしゃるかもしれませんが、そうでない方は既にSEであるはずです。
逆に、SEを名乗っていれば周りからの期待は大きくなり、たくさんの仕事が降って来ると思います。たくさんの仕事を、難度の高い仕事をして信頼を勝ち取れれば、近年のような大不況の中でも生き抜いていける人材となることができます。今、職を失ってしまった技術者の多くは敢えてPGを名乗ってしまっていた方が多いのではないでしょうか?
SEとPGの技術的な境が曖昧になっている近年では、仕事を背負い込む覚悟が有るか無いかが境目だといっても過言では無いかもしれません。
面接の場でも、どこの現場に行っても「あなたはSEですか?PGですか?」と聞かれたら、胸を張ってこう言いましょう。
「私はSEです!」と。。