今日はtwitterからいただいた質問にお答えしたいと思いますが、
アメリカにSIerってあるんですか?
というものですね。
これは回答から言ってしまうと、ほぼないです。
なんでかって言ったら、アメリカってほとんどが自社開発で外部に仕事投げるってことはしないんですよね。
シリコンバレーにあるIT系の大企業、GoogleにしろFacebookにしろAmazonにしろAppleにしろ、ほとんどの企業がそうだと思うんですが、エンジニアは社員として雇って自社で開発させるというふうにしています。
この理由は、当たり前なんですけれども、スピーディに開発できるということ、それからやっぱり技術を他の会社に流出させないっていうことがあると思います。
でも日本の場合は、そういう大事なところまで外注に投げてしまうので、ちょっとそれは良くないんじゃないかなと私は思ってます。
日本とアメリカの開発スピードの違い
日本だと仕様書の類でかなり分厚い資料を作る必要があって、それを作るのに1か月から2か月ぐらいかけたりするんですけど、そんなことをしている間にコードを書いちゃった方が絶対速いと思います。
Googleなんかでも、例えば大体3ページ程度こういった感じで作りますよなんていうことをGoogleドキュメントに書いたら、チームリーダーやアーキテクチャのリーダーの方が一部のクラスとかAPIでの連携みたいな部分をまず初めに簡単にコードで書いちゃうんですね。
エンジニアの方もいちいち仕様書見るよりも、その書かれたコードを見る方が早くて、それで大体何を作るか分かるんですよ。
その上でそれぞれの担当を割り振って、1週間くらいで2~3ページ程度の要件書を作ってAPIの要件決めて、あとはそれを見ながらコードと照らし合わせていって作るという感じで、もう2週目からコードの開発がスタートできるというのがアメリカでは普通のスピード感だと思います。
そして、バグがあったにしろメンテナンスにしろ、エンジニアはその場にいるので、すぐに修正もできます。
なので、やっぱり開発はすごくスピーディですよね。
また、ビジネス自体もかなり速いスピードでどんどんと切り替わっていきますので、例えば今月までこのサービスで行こうと思っていても競合他社が同様のサービスを出してきたとなったら、やっぱり自社の製品を変えないとダメですよね。
その方向転換は、外注なんかしてたらすぐにはできませんし、そのビジネスの流れに遅れずに乗っていくとしたらやっぱり自社のエンジニアに作らせる方がはるかに速いです。
こういうこともあってアメリカでは自社で開発するっていうのが当たり前なんですけど、日本の場合は未だにそれを外注で投げてるっていうのが逆にちょっと驚きですよね。
日本の大企業⇔下請け構造の弊害
日本は、上で書いたように2ヶ月とかかけて、かなり分厚い仕様書を作って外注に投げるじゃないですか。
さらに外注で仕上がったものの確認をきめ細かくして、ちょっとでも変なことがあったら修正依頼を投げて、その時に仕様書にちゃんと書かれていないと下請け企業側が「いや、これ言われた通りに作ったんですけど」となって、それに対して「いや、こっちはそういったつもりで言ったわけじゃない」みたいなことになって・・・と結構揉めたりとかすることがあって、そうすると下請けは弱い立場なので、大企業側も「じゃあそんなに不満があるんだったら次回から君のところ頼まないから」みたいなスタンスがまかり通っちゃったりもしてますよね。
一方で、そもそも大企業で仕様書を作る人たちのスキルってあんまりないことが多くて、仕様書に下請けの方が優しく指摘してあげるようなケースがあるくらい酷いものが結構あると思います。
なんでかといったら、大企業ではほとんどの方が開発経験ないからですよね。
それなのに仕様書を作っていて、例えばデータベースの設計も全然メモリの部分考えないような形で指定してきたりなんていう仕様書も結構あったりします。
その結果、今日本で何が起きているかっていうと、大企業が逆に下請けの企業にうまく騙されてお金を吸い取られるみたいなケースです。
というような感じで、外注している大企業はどんどんお金を吸い取られて段々衰退していくと思いますので、日本の企業はそろそろやり方変えないとまずいんじゃないかなと私は個人的に思っています。
日本の契約形態や肩書の特殊性
でも、アメリカでそんな話はほとんど通じないです。
アメリカに派遣会社ってほぼなくて(一部はあります)、雇った社員を普通に解雇できるので、フリーランスとか派遣社員とかあんまり関係ないんですね。
つまり社員として雇ってもいつでも解雇できるので、社員全員がフリーランスみたいな感覚と言ってもいいかもしれません。
逆に日本の場合は一度社員として雇ったら、法律とか労働組合とかあってなかなか解雇できませんよね。
そういう社会なので、その会社が本当に業績が落ち込んで大赤字になって初めてリストラが許されるということで、結局その時点ではもう手遅れなんですよね。手遅れの状態になってやっと社員を切れるという事態を避けるには、派遣社員やフリーランスの方と契約して必要なくなったら契約解除という方がいいわけです。
なので、派遣会社といったビジネスが日本だと成り立つんですよ。
それから、SE(システムエンジニア)なんていう言葉もアメリカではないです。
日本でSEを名乗ってる方に「何の仕事してるんですか」ってきくと、大企業の場合、大概が社内調整とかパワポ作りで、ミーティングで多少ITの知識を使ったりする程度なんですね。
それでシステムエンジニアって名乗るのは変じゃないのかなと私から見たら思いますね。
やっぱり日本人の特徴かもしれないですけど、英語のワードでちょっとかっこいい肩書きをつけてあげると結構満足するところがあるじゃないですか。
アメリカにSIerってあるんですか?
というものですね。
これは回答から言ってしまうと、ほぼないです。
SIerという言葉自体、アメリカで使ってもほとんど通じないと思います。
なんでかって言ったら、アメリカってほとんどが自社開発で外部に仕事投げるってことはしないんですよね。
シリコンバレーにあるIT系の大企業、GoogleにしろFacebookにしろAmazonにしろAppleにしろ、ほとんどの企業がそうだと思うんですが、エンジニアは社員として雇って自社で開発させるというふうにしています。
この理由は、当たり前なんですけれども、スピーディに開発できるということ、それからやっぱり技術を他の会社に流出させないっていうことがあると思います。
なので、シリコンバレーの大企業で、自社がメインで作っているサービスやプロダクトを他の会社に作ってもらうなんてことは絶対しないですよ。
でも日本の場合は、そういう大事なところまで外注に投げてしまうので、ちょっとそれは良くないんじゃないかなと私は思ってます。
日本とアメリカの開発スピードの違い
Googleなんかでも、例えば大体3ページ程度こういった感じで作りますよなんていうことをGoogleドキュメントに書いたら、チームリーダーやアーキテクチャのリーダーの方が一部のクラスとかAPIでの連携みたいな部分をまず初めに簡単にコードで書いちゃうんですね。
エンジニアの方もいちいち仕様書見るよりも、その書かれたコードを見る方が早くて、それで大体何を作るか分かるんですよ。
その上でそれぞれの担当を割り振って、1週間くらいで2~3ページ程度の要件書を作ってAPIの要件決めて、あとはそれを見ながらコードと照らし合わせていって作るという感じで、もう2週目からコードの開発がスタートできるというのがアメリカでは普通のスピード感だと思います。
そして、バグがあったにしろメンテナンスにしろ、エンジニアはその場にいるので、すぐに修正もできます。
なので、やっぱり開発はすごくスピーディですよね。
また、ビジネス自体もかなり速いスピードでどんどんと切り替わっていきますので、例えば今月までこのサービスで行こうと思っていても競合他社が同様のサービスを出してきたとなったら、やっぱり自社の製品を変えないとダメですよね。
その方向転換は、外注なんかしてたらすぐにはできませんし、そのビジネスの流れに遅れずに乗っていくとしたらやっぱり自社のエンジニアに作らせる方がはるかに速いです。
こういうこともあってアメリカでは自社で開発するっていうのが当たり前なんですけど、日本の場合は未だにそれを外注で投げてるっていうのが逆にちょっと驚きですよね。
日本の大企業⇔下請け構造の弊害
さらに外注で仕上がったものの確認をきめ細かくして、ちょっとでも変なことがあったら修正依頼を投げて、その時に仕様書にちゃんと書かれていないと下請け企業側が「いや、これ言われた通りに作ったんですけど」となって、それに対して「いや、こっちはそういったつもりで言ったわけじゃない」みたいなことになって・・・と結構揉めたりとかすることがあって、そうすると下請けは弱い立場なので、大企業側も「じゃあそんなに不満があるんだったら次回から君のところ頼まないから」みたいなスタンスがまかり通っちゃったりもしてますよね。
一方で、そもそも大企業で仕様書を作る人たちのスキルってあんまりないことが多くて、仕様書に下請けの方が優しく指摘してあげるようなケースがあるくらい酷いものが結構あると思います。
なんでかといったら、大企業ではほとんどの方が開発経験ないからですよね。
それなのに仕様書を作っていて、例えばデータベースの設計も全然メモリの部分考えないような形で指定してきたりなんていう仕様書も結構あったりします。
その結果、今日本で何が起きているかっていうと、大企業が逆に下請けの企業にうまく騙されてお金を吸い取られるみたいなケースです。
例えば大企業で使う社内システムなんかを外注して作ってもらうと、その社内システムを他企業の製品に切り替えるってなかなかできないですよね。それを逆手にとって、大企業側がボタン1つ追加なんて簡単な要望を出しただけで、下請けの会社は「1000万くらいかかりますね」とぼったくりのような請求をする話も聞いたことがあります。
つまり、かなり簡単に実装できることでも難しそうに言われて、それに対して普通にお金払っちゃうんですよね。
というような感じで、外注している大企業はどんどんお金を吸い取られて段々衰退していくと思いますので、日本の企業はそろそろやり方変えないとまずいんじゃないかなと私は個人的に思っています。
日本の契約形態や肩書の特殊性
それから、日本ってSES、請負契約とか委託契約とかそういった契約形態の種類が結構ありますよね。
でも、アメリカでそんな話はほとんど通じないです。
アメリカに派遣会社ってほぼなくて(一部はあります)、雇った社員を普通に解雇できるので、フリーランスとか派遣社員とかあんまり関係ないんですね。
つまり社員として雇ってもいつでも解雇できるので、社員全員がフリーランスみたいな感覚と言ってもいいかもしれません。
逆に日本の場合は一度社員として雇ったら、法律とか労働組合とかあってなかなか解雇できませんよね。
そういう社会なので、その会社が本当に業績が落ち込んで大赤字になって初めてリストラが許されるということで、結局その時点ではもう手遅れなんですよね。手遅れの状態になってやっと社員を切れるという事態を避けるには、派遣社員やフリーランスの方と契約して必要なくなったら契約解除という方がいいわけです。
なので、派遣会社といったビジネスが日本だと成り立つんですよ。
それから、SE(システムエンジニア)なんていう言葉もアメリカではないです。
日本でSEを名乗ってる方に「何の仕事してるんですか」ってきくと、大企業の場合、大概が社内調整とかパワポ作りで、ミーティングで多少ITの知識を使ったりする程度なんですね。
それでシステムエンジニアって名乗るのは変じゃないのかなと私から見たら思いますね。
やっぱり日本人の特徴かもしれないですけど、英語のワードでちょっとかっこいい肩書きをつけてあげると結構満足するところがあるじゃないですか。
日本ではそういったポジションの名前のかっこよさっていうのが大事で、例えば社内調整だけやってる人に対しても「システムエンジニア」という肩書を与えたら、結構納得して真面目に仕事したりするんですよね。
アメリカだとそういった仕事は「コーディネーター」といって給料かなり低いんですけど、日本の大企業は「システムエンジニア」という肩書で社内調整とパワポを作っているだけでそれなりに給料が上がっていったりするわけです。
でもそれでキャリアを積んだつもりになって「私SEです。アメリカで働きたいです。こんなことやってました」って言ってもほとんど通用しないですからね。
その辺りは気をつけていただければなと思います。ということで、SIとかSIerとかSESとかSEとか、請負契約、委託契約とかそういった日本ではゴチャゴチャたくさんあるものも、アメリカではほとんどなくて全然違うんだというところは覚えておいた方がいいのかなという話でした。
動画はコチラ↓
酒井潤
Twitterにて、こまめに情報を発信しております!フォロー大歓迎です。気軽にフォローしてください。
Follow @sakaijun
YouTubeも始めました。チャンネル登録よろしくお願いしまっす。
Twitterにて、こまめに情報を発信しております!フォロー大歓迎です。気軽にフォローしてください。
Follow @sakaijun
YouTubeも始めました。チャンネル登録よろしくお願いしまっす。
LINEで更新通知をお送りできます。読者登録もよろしくお願いしまっす。
コメント