頂いたコメントの中に「経験をつんで大人になるまでに、たいていのPGは卒業を迎えちゃうんです... 」という文があったのですが、個人的に納得しにくかったので考えて見ました。
この言葉が成立する団体が嫌いで理解できないんです。(それが嫌で飛び出した口なんですが)
Developer業界はいろんな役割/役目があります。営業・プロマネ・アナライザー・設計者・プログラマ・テスター・インストラクタその他諸々。
それらが合わさって業界が成り立っています。常々言っている事なんですが、各々は対当関係であって上下関係ではないんです。しかしソフト開発会社の何割かは上下関係としてヒエラルキーを構築していて、待遇をきめています。入社何年間はプログラマ、その後の何年間はSE、その後何年間はPM....など。
この形態を否定しているのではありません。そういう形態が適している会社/技術者も多いわけですから会社と本人に摩擦が生じなければ良いわけです。
プログラムが好きな人々の一部はその形態に不満を抱くわけですね。定着率が低い一因かもしれません。
PG=>SE=>PM =>管理職を出世街道というヒエラルキーとして構築するから PG卒業という発想が生まれると思うのです、SE卒業・PM卒業と発想は広がります。卒業したと意識するとそれまでの過程を下のレベルの仕事だと意識付けられてしまいます。引いては下位の仕事はできないという発想に繋がります。
その結果、今の実装技術がわからない人がシステム設計することになり、システムが10年前の技術水準の代物になったりします。いまだにDB設計をISAMの発想で行う人たちが居たりします。これに起因するデスマーチの多いことはご存知の通りです。今の技術には不釣合いなコーディング規則、共通規約が存在するのもこの辺りから来ていると考えています。
牽引する製品を作る側は今の実装技術を持った人が上流工程に要るので全体としてうまく機能しています。残念なことに、一部(多くかも)のシステム開発ではそうではないことがあります。
PM(システム全体を見る人)が実装技術を持っていれば、設計がもっとスッキリして車輪の再発明をしなくて済み、数分の一の工数で完成し且つ不要なバグも発生しないのに、と感じたシステムが過去に幾つもありました。
PGが好き SEが好き PMが好きな人、業務分析が好きな人など向き不向きがあるわけて、蓄積した経験と得意職種で力を発揮できる総合力体制をとるのがベターだと考えるのです。
一般業種の会社では組織の適正維持という面でヒエラルキー構造のほうが総合力を発揮できるのは理解できます。個々の能力差が数倍以内でしたら、頭数で仕事の配分をしても組織として機能すると思うのです。
プログラム開発は家内製手工業な面が強く、技術者の能力差は10倍から100倍あるとさえ言われます。頭数的に仕事の配分が出来ない面があります。なおさらソフト開発のマネージメントが難しいのでしょうね。私の経験範囲では、火を噴かずに円満に終結したプロジェクトのほうが少ないんです。\(◎o◎)/!
(誤字訂正)