米国でベスト100の仕事を選んだ記事がありました。成長の機会だけでなく、仕事の満足感、収入、仕事の得やすさ、やりがい、ストレスの少なさなどから選んでいます。
Best Jobs in America – CNNMoney
第1位はSoftware Architectとなっています。第2位にVideo Game Designer、第8位にDatabase Developer、第9位にInfo Assurance Analystと10位までに、ソフトウェア関係の仕事が4つも入っています。
日本では、ソフトウェアエンジニアは、長時間残業、強いストレス、低賃金という環境で、決して人気のある仕事ではありません。この違いの理由を考えてみます。
ITゼネコン
日本のソフトウェアエンジニアのうち、ざっと7割はITゼネコンといわれる少数のIT企業を頂点とするピラミッド構造の中に取り込まれています。その数は、約1万5000社56万人以上と言われています。
頂点となるIT企業は、ユーザー企業から大規模な業務システムの開発を請け負います。自社の要員だけでは開発しきれないため、多数の協力会社とともに多段階のピラミッド構造のプロジェクトチームを形成します。
そのため、頂点となるIT企業では、大学でコンピュータサイエンスを学んだ優秀な学生を主にプロジェクトマネージャーとして育成します。プログラミングに携わせることはほとんどありません。
下請けのIT企業でも、上位の企業ではプロジェクトマネジメントの割合が多くなり、実際にプログラミングに従事するのは、末端に近い技術者になります。
受託開発
ユーザー業務の受託開発では、受注時の競争が厳しく、費用やスケジュールはぎりぎりに近いところで受注することになります。そのため、プロジェクトの条件も厳しいものになります。
ユーザー業務の受託開発では、仕様を決めるのはユーザー企業になります。ITベンダーはユーザー企業の決める仕様の通りに開発するため、受け身になりがちです。
仕様変更があっても、受託側の立場の弱さから、費用やスケジュールも変更してもらえるとは限りません。そのため、プロジェクトの条件はさらに厳しくなります。
こうして、受託開発プロジェクトは、長時間残業、強ストレス、低賃金の仕事となっていきます。
米国企業
米国企業では、自社の業務や製品に使うソフトウェアは、自社の要員で開発します。そのため、ソフトウェアエンジニアは、自らのアイデアにより、創意工夫したソフトウェアを開発できます。
雇用の流動性があるため、ソフトウェアエンジニアは、開発が終われば、新たな仕事を求め、企業を渡り歩くことができます。
まとめ
日本のソフトウェアエンジニアの待遇が悪いのは、ITゼネコンの受託開発に携わっているためです。
あなたがソフトウェアエンジニアを目指すならば、米国で働くなど、それ以外の分野には活路を見いだすことができます。