PIVOT TALK TECH
日本人と日本企業が変わるためのヒント
(253)
1.7万回視聴
2024年12月16日

日本のソフトウェア開発の問題点とは? 効率的なマネジメントとは?米マイクロソフトの現役ソフトウェアエンジニアの牛尾剛が超巨大クラウドの開発の最前線で学んだ仕事術について話を聞いた。
アメリカ式マネジメントを日本企業に取り入れる秘訣とは?
アメリカのIT企業で活躍する牛尾剛氏が語る、日本とアメリカの働き方の違いと、日本企業が変化するためのヒント。失敗に対する考え方や優先順位の決め方など、日本企業が学ぶべき点とは?
Q. どうやったら組織が変化できるようになりますか?
まず重要なのは、変化できるということを認識することです。私がMicrosoftに入社した時、日本とアメリカの仕事の進め方にはかなりの違いがありました。その違いをブログに書いていたら、それが本になりました。
変化を促すための単純だけど効果的な方法があります。それは「プレゼンする」ことです。例えば、アメリカと日本の文化の違いについて「エイトハビット」としてまとめ、チームに対してプレゼンします。上司も部下も全員参加する場で、「アメリカではこういう考え方をしている」と説明するのです。
例えば「納期なし」という考え方を一人で実践すると「あいつは納期を守らない奴だ」と誤解されます。しかし事前にプレゼンで説明しておけば、実践している人を見て「あの人はアメリカ式の考え方を試しているんだ」と理解してもらえます。それだけでも大きな違いが生まれます。
この方法を日本にいる時に何度も実践しました。みなさんも恐れずに、まずは認識を変えることから始めてみてください。上司が同じ方法を実践しなくても、「あの人はこれをやろうとしているんだから、邪魔しないでおこう」という効果が期待できます。

Q. アメリカ企業の失敗に対する考え方はどう違いますか?
アメリカと日本では失敗に対する考え方が根本的に異なります。私がアメリカで初めてデモをした時のことです。前日に何度も練習して完璧だと思っていました。しかし当日、重いソフトウェアとTeamsの接続で何も動かなくなってしまったのです。
日本なら「何をやっているんだ!準備したのか!」と叱責される場面です。しかし私の上司は「私たちは難しいことをやっているんだから、失敗は当たり前だよ。気にしなくていい」と言いました。感情を抑えているわけではなく、本当にそう考えているのです。
別の例では、あるプロジェクトで「現在のプラットフォームでは実現できない」という結論に達しました。私は落ち込みましたが、一緒に働いていた同僚は「できないことが分かった」と前向きに捉えていました。その後、実現可能な新しいプラットフォームを開発し、最終的に処理速度が40倍になるという成果を出しました。
アメリカでは失敗を重要視していません。それはフィードバックであり、「できないことが分かった」という情報にも価値があると考えます。障害が発生しても「なぜ防げなかったのか」を責めるのではなく、「どういう原因で起きたのか、再発防止のためにどうすべきか」という議論になります。

Q. アメリカではどのような人が評価されるのですか?
アメリカでは「インパクト」のある仕事をした人が評価されます。物量や開発速度ではありません。例えば「このすごく難しい問題を解決した」「他社にはない、顧客を引きつける機能を開発した」「主力機能の処理速度を40倍に向上させた」といったことです。
技術的難易度の高さだけが評価されるわけでもありません。私が2つのプロジェクトから選べる状況があった時、メンターは「技術的に面白い方ではなく、インパクトの大きい方を選びなさい」とアドバイスしてくれました。リファクタリング(コードの書き直し)は技術的に難しくても、新機能ほどのインパクトはないということです。
また、優先順位が低いタスクはどうするかと聞かれますが、答えは単純で「やらない」です。インパクトの低いものに時間を使うのはもったいないと考えるのです。
Q. 日本とアメリカのキャリアパスの違いは何ですか?
アメリカで働いていると「フェア」だと感じます。日本では部長に気に入られることが重要ですが、アメリカの企業ではレベル(ランク)システムが明確に定義されています。「レベル63の人はこれくらいのことができる」という基準があり、それを達成すれば昇格してより高い報酬が得られます。
他の人を蹴落とす必要はなく、自分との戦いです。基準に到達すれば昇格し、到達しなければ「自分にはまだ無理だ」と認識するだけです。このフェアな仕組みが重要だと思います。
サーベイ(従業員アンケート)も日本では「どうせ反映されない」と思われがちですが、アメリカでは本当に反映されます。例えば、ワークライフバランスの評価が低かった時、マネージャーは予算を獲得して人員を増やし、問題解決に取り組んでいました。本気で改善しようという姿勢が感じられます。

Q. 日本人エンジニアが成長するために何をすべきですか?
私がアメリカに行って感じたのは、10倍成長できたということです。それは私が特別優秀だからではなく、単純に挑戦できる仕事の難易度が違うからです。
日本にいると「クラウドの中身を作る」「プログラミング言語の中身を開発する」といった仕事はなかなかありません。多くの場合、既存のフレームワーク上で業務アプリを作ることが中心です。しかしアメリカでは、コンピュータサイエンスの知識を実際に活用できる機会がたくさんあります。
22歳に戻れるなら、コンピュータサイエンスのPhD(博士号)を取りたいです。本当にチャレンジングでイノベーティブなことをしたいなら、学問の力は強力です。博士号を持つ人たちのコーディング能力や思考力は違います。
日本では大学時代を「人生の夏休み」と言われていましたが、大学から専門性を積み重ね、可能なら修士や博士まで行くという文化が大事なのではないでしょうか。学問の力を活かすことで、より難しい問題にチャレンジできるようになります。

Q. アメリカで成功するために年齢は関係ありますか?
アメリカでは履歴書に年齢を書きません。年齢よりもパフォーマンスが重視されます。私は40代後半でアメリカに渡りましたが、年齢を気にしすぎる必要はないと思います。
私の今後のビジョンとしては、AIの発展でプログラマーの仕事がどう変わるか分からない面もありますが、アメリカでプログラマーとして成功したいと考えています。日本では「有名な人」が有名エンジニアになりがちですが、本当に素晴らしいエンジニアとは「何かを作った人」だと思います。Rubyを開発した松本さんやJenkinsを開発した川口さんのように、世界中の人が使うものを作った人が評価されるべきです。
せっかくアメリカで最先端のことを学ばせてもらっているので、世界中の人が使うアプリケーションを開発できるようになりたいです。そうした本物のエンジニアがもっと尊敬される社会になれば、日本も本物のエンジニアリング力を高められるでしょう。