アメリカでInformation Systemsを専攻して卒業後一部アンティークの仕事をした以外は長年IT業界にいます。
日本のネット記事を読むと、”年収が一千万以上は普通”、”専門性が高く大学で専攻するのはCSが必須”、”外注はあまりない、基本的にアメリカは内製が主流”(ソース)と書かれているのを見ますが、こちらのIT事情も様々だと思います。
1.年収は1千万以上は普通
これは都会特にシリコンバレーやニューヨーク界隈では合ってますが、もちろんそうでない人もいます。3の外注に関することですが、外注の仕事は多く契約で仕事するエンジニアは多いです。
私も従業員よりも契約の仕事している期間が長いです。その契約過程で途中にエージェンシーが2つ入ることもあり、そうするとエンジニアの給料は1千万は超えるのは難しいかと思います。
エンジニアと言っても色々な種類があるのでマネージメントや経験が多いと違ってくるかもしれません。
専門性については確かに深く求められますが大学で専攻してなくても専門学校で勉強してこの業界で働いている人ももちろんいます。ただ、従業員として昇進していくのは確かに難しいかもしれません。
2.専門性が高い大学でCS専攻は必須
大企業で従業員として働く為には必須かもですが、全てではないです。大学の専攻が違ったり、専門学校で勉強したりでエンジニアとして仕事している人は多く見かけました。
ただ企業で昇進していくのは難しいです。昇進したい人は大抵働きながら修士を取りにいきますね。働いてるだけでも大変なのに大学で勉強するのはほんとすごいと思いますが、やはり自分のキャリア上必要と感じたら頑張れるみたいです。
会社が支援してくれることもあります。今はオンラインで大学の勉強ができるので時間のやりくりもしやすいですね。私にもう少し上昇気質があったら、修士課程取ってたでしょうが、怠け者なのでパスしてしまいました。
3.内製が主流?
今はほとんど外注だと思います。専門性の高いエンジニアは給料が高いので外注して、システム完成後は内製でメインテナンスする方が長い目で見てコスト的に安くなるという考え方です。
ベンダーのソフトウェアを導入する際も専門の知識を持つエンジニアをコントラクトで雇って進めていくことが多いと思います。
開発チームが全てインドにいることも多々あります。契約形態は、ランプサム(一括)、フィックストプライス+アルファ(早く仕上げたら3%アップとかインセンティブの金額)、タイム&マテリアル(時間給+固定フィー)等間に入るエージェントとクライアントで決められるので、色々です。
私も時間給、日給、固定月給(最低勤務時間140時間(20Days*7Hours))等様々経験しました。
日本でのエンジニア事情はあまり知らないですが、日本とのやりとりや、駐在で来ていたエンジニアと仕事してみて、まず長時間はあたりまえ、詳細スペックはExcelで書かれていてとても細かいのでエンジニアの裁量はいらない感じ。
長時間というのは朝は普通に来ますがアメリカなので夜7時くらいまでは仕事しているという感じですね。日本だったらもっと長時間なのかもしれないです。
まとめると、
アメリカで働くエンジニアは年収1千万以上ばかりではない。エンジニアと言っても色々種類、最先端の言語のプログラマーから古い言語のメインテナンスやオペレーション、テックサポートなどがあるので一概には言えないです。
専門性は必要とされるが大学専攻は企業で昇進したいのでなければ、必ずしも必要ではない。専門学校出や全く別のキャリアでエンジニアに転向した人も存在する。
内製は少なく外注が多いので契約形態のエンジニアの仕事はとても多い。種類も様々だということです。