この記事の連載

 アメリカのマイクロソフト社でシニアソフトウェアエンジニアとして勤務する牛尾剛さん。44歳でマイクロソフトに転職し、5年前から本場アメリカで働く牛尾さんが、同社で出会った「世界一流」のメンバーたちに学んだ仕事術をまとめた著書『世界一流エンジニアの思考法』が好評だ。世界最高峰のエンジニアの思考法に迫る。


──仕事を加速させるために必要なのが「Be Lazy(怠惰であれ)」というのは衝撃でした。日本では「できなくても一生懸命やる」人が評価されます。なぜ、「Be Lazy」がよいのですか?

 日本人は「あれもこれもやらないといけない」と思いがちですよね。でも、「世界一流」のエンジニアたちは「物量」ではなく、いかに少ない労力で高付加価値を生み出すかを重視します。「すべき」よりも「実際にできるキャパ」を考えたほうが、生産性が高いからです。

 イタリアの経済学者ヴィルフレド・パレートが提唱した「2−8の法則」という考え方があります。これは「20%の人口が富の80%を生む」という分析に基づいた法則です。

 これと同様に、100個のタスクがあったとき、本当に重要なのはそのなかの20%程度といわれています。マイクロソフトで海外チームのメンバーを見ていると、その20%のタスクを終えて80%の価値を出したら、残りの80%はやらずに、次の80%を生む新しい20%のタスクに取り組んでいます。

 こうやってタスクの20%で80%の価値を出すことを2回繰り返すと、ひとつのタスクを100%こなした場合に比べて、40%の工数で160%の価値を持つ仕事ができるからです。つまり、100%がむしゃらにやるよりも、80%を20%でこなしていったほうが、結果的に効率がいいということになるのです。

──いかに減らすかが大事なのですね。ご著書でも「あれもこれもやる」という足し算ではなく、「残業をやめる」「脳の酷使をやめる」という“引き算”が大事だと書かれていました。

 日本人は全部やらないのは悪いことのように感じてしまいますが、ソフトウェア業界においては、むしろ、たくさんの機能を実装することこそ「悪」です。

 たとえば、実際のソフトウェア機能で使われているのは100のうち40%程度です。100%を全力でつくったところで60%は使われないし、仮にバグが発生したらその都度直さなければいけないというリスクが増えることになります。しかもコードベースが多ければ多いほど、変更があったときにコードを読む量が増え、効率低下につながります。要するに「減らす」ほうが「善」なのです。

2024.01.24(水)
文=相澤洋美
撮影=三宅史郎