📘

シリコンバレーのソフトウェアエンジニアは何が違うのか(3)

2025/01/19に公開

前回のシリコンバレーのソフトウェアエンジニアは何が違うのか(2) では、「ビジネス面から見た高速開発の必要性」ということについて投稿をしました。

今回は「ソフトウェアエンジニア個人やチーム文化などがどう違うか」について触れていきたいと思います。

1. チームだけれどチームではない

これは少々偏った意見になるかもしれませんが、アメリカのソフトウェアエンジニアのチームは「チームだけれどチームではない」です。

野球を例にして説明しましょう。
日本の野球は「チーム全体の最適化と役割分担」を考えています。チームが勝利をするために「自分に与えられた役割を正確にこなし、全体を底上げする」という考え方が強いです。「バントや進塁打」など、個人のアピールよりもチームとしての得点効率を優先した戦術が重視される傾向にあります。そのため全員が「自分の役割を果たすこと」を通して、チーム全体を強くするアプローチを取ります。

アメリカ(例えばMLB)の場合、高いレベルの個人が集まり「それぞれがプロとしてのパフォーマンスを発揮する」ことが第一に考えられています。選手は常に「エース(スター)を目指す」という意識が強く、チームが勝つことも重要ですが、個人の成績や評価が契約条件に大きく影響をします。そのためチーム全体での戦略よりも「強打・強肩」といった個人の能力を最大限に発揮することを優先する戦い方が多く見られます。

どちらのが適切なのか、というのはとりあえず横に置いておきまして、そういう違いがある、というわけです。(ワールド・ベースボール・クラシックでは日本のが優勝回数が多い)

ソフトウェアエンジニアのチームでも同様の傾向があります。
日本では「チーム全体の調和や組織としての最適化を重視するのに対して、アメリカ(特にシリコンバレー)のチームは「個人の専門性や強みを最大化し、それを集めてチームを強くする」という傾向です。これは業種や企業などにも依るので、絶対にそうだ、というわけではないですが、全体の傾向として、そのように見える、という話です。

2. 「明日から来なくていいよ」

アメリカで働くと「明日から来なくていいよ」と言われるかもしれません、という釣りのサブタイトルを挟んでみました。でも実際にアメリカには「レイオフ(一時解雇)」と呼ばれる仕組みがあります。

レイオフ(一時解雇)とは、「会社の業績が悪化しているので、申し訳ないが一時的に契約を解除させてくれ。回復してきたら戻ってきてくれ」という、なんとも会社に都合が良い仕組みです。実際には「戻ってきてくれ」は殆どないんですけどね。

※あ、でもゼロではないです。私も半年くらいしてから「いくらなら戻ってきてくれる?」と言われたことがあります。ただ気分的に「もう戻るかよ」って気持ちが大きいですけど。

このレイオフが行われる理由は様々ですが、製品を開発している部署の成績が悪いと、部署全体でレイオフが発動することがあります。昨日まで一生懸命に開発をしていたのに、朝出社すると「君は今日でレイオフだ」と言われます。

部署単位で丸ごとレイオフされなくても、予算不足による人員削減のために個別にレイオフをされる可能性もあります。このとき大抵は成績の悪いソフトウェアエンジニアから順に切っていきます。(サービスを維持するのに重要な人だけを残して、代わりが利く新米は切り捨てる、というのは納得ができますよね)

つまりアメリカのソフトウェアエンジニアの場合、個人としての成果が見られないとレイオフされる可能性が高まるのです。

また半年に1回くらいのペースでレビューが行われます。ここで個人としての成果が良いと、昇給や昇進などに繋がりやすいです。

また「360°レビュー」という仕組みも特徴的です。自分以外の別の人をレビューして評価を付け、高評価の人にはボーナスがもらえる、という仕組みになっています。

他にも「ピアボーナス」という仕組みもあり、チーム内などで「あの人はチームにとって良いことをしてくれた」という場合には、このピアボーナスを送ります。このピアボーナスに応じてお金がもらえたりもします。

これらは日本では、あまり見かけない仕組みですね。ちなみに(話題の?)「デジタル庁」では360度レビューが導入されています。


https://www.digital.go.jp/policies/report-202109-202208/organization

このように「個人として頑張らないとレイオフされる危険性」と「個人として頑張れば評価してもらえる制度」が両立しているのが、アメリカのソフトウェアエンジニアなのです。

3. ジョブホッピング

このチームのマインドの違いは、雇用形態の違いが大きく関連します。アメリカの場合、レイオフに例を見るように、雇用者が従業員を解雇するのは比較的簡単です。解雇をしても外部から新しく雇えば良いだけです。むしろ定期的に人を入れ替えることで、新しい知識を取り込んでいる側面もあります。

人が入れ替わることが前提なので、チームとしても全体の最適化よりは「それぞれがプロとしてのパフォーマンスを発揮する」ということを重視するわけです。

ソフトウェアエンジニア側にもメリットがあり、転職を繰り返すことで、ジョブのレベルアップを行い、給料を上げていくことができます。もちろん同じ会社に居続けることで昇給していくことも可能ですが、会社を変えるときにジョブレベルを1つ上にすることで、大幅に年収をアップさせることができます。

このように個人として頑張ると(成績を出すと)昇給や昇進に繋がり、さらには次の会社で上位の職種に転職できる可能性も高まります。

シリコンバレーのソフトウェアエンジニアは、常にジョブホッピングを考えており、平均的には3年くらいで次の会社に行くのがよい、と言われているのです。

Greek Alphabet Software Academyでは何を教えているのか

今回の投稿では、主に「ソフトウェアエンジニア個人やチーム文化などがどう違うか」に焦点を当てました。少々長くなりすぎたので、今回はここまでにしたいと思います。

次回は「DevOpsとは何なのか」について紹介します。

Greek Alphabet Software Academyでは、主に元Googleエンジニア達を講師陣に、シリコンバレー流のプロダクト開発というのを中心に教えています。アイディアの出し方、ドキュメントの書き方、高速で開発する方法、運用する方法、など、その内容は多岐に渡ります。

この記事を読んで興味を持っていただいた方は、ぜひご連絡ください

Greek Alphabet Software Academy

Discussion