受託開発系はソフトウェア開発の上流とプロジェクト管理を担う。
受託開発系のITベンダーと自社開発系のITベンダーで働く上での大きな違いは、ソフトウェア開発のスタイルである。
受託開発系のITエンジニアは、要件定義や基本設計(外部設計)などソフトウェア開発の上流とプロジェクトや外注先の管理を担い、詳細設計(内部設計)や実際のプログラミングは社外に外注することが多い。
そのため、受託開発系で働くITエンジニアは、SE(ソフトウェアエンジニア)と呼ばれ、(外部の)プログラマを下に見る傾向もある。
SEはプログラムをまったく書かない人も珍しくない。
自社開発系のITエンジニアはソフトウェア開発のすべてを担う。
それに対して、自社開発系では、ソフトウェア開発の上流から下流(詳細設計、プログラミング)まで自社のITエンジニアが担うことが多い。
そのため、自社開発系のITエンジニアはプログラマとも呼ばれ、プログラマに対する尊敬の念がある。
当然、求められる知識のレベルやスキルの幅も受託開発系と大きく異なる。
実際、大学でコンピュータサイエンスを選考し、コンピュータの動作原理やソフトウェア工学などの体系的な知識、高いプログラミングスキルを持つITエンジニアも少なくない。
こうしたITエンジニアを多く抱えていることが外資系ITベンダーの強みである。
これが、IT分野における日米の格差を生んでいるのかもしれない。