「仕事ができない」と悩む人が真似したい、一流エンジニアの思考法

時間に追われる、ミスが多い、成果が出ない…。「仕事ができない」と悩む人は、どうしたら辛い状況を変えられるのでしょうか。「僕も同じだからわかります。大切なのは問題を1個ずつピックアップし、作戦を立てて実行すること」と言うのは、『世界一流エンジニアの思考法』の著者であり、米マイクロソフト社で巨大クラウドの開発に携わる、エンジニアの牛尾剛さん。牛尾さんがアメリカで学んだマインドセットから、「仕事ができない自分」を変えていくヒントを伺いました。

マイクロソフトコーポレーション Azure Functionsプロダクトチーム シニアエンジニア 牛尾剛さん

三流プログラマーが夢のチームの一員になった

僕は小さい頃から、人の何倍努力しても、勉強も運動もできない「のび太くん」でした。そして今もエンジニアとしては「ガチの三流」。これは別に謙遜でも何でもありません。

子どもの頃からプログラマーに憧れていた僕は、日本の大手SIer時代にPM(プロダクトマネジャー)を務めつつ、隙を見ては自分自身でもプログラミングをしていました。しかしあまりに不器用で要領が悪く、プログラマーとして全く通用しません。

その後、ソフトウェア開発の手法である「アジャイル」のコンサルタントや、エバンジェリスト(大衆向けに自社サービスや最新のテクノロジーをわかりやすく解説し啓蒙する役割)としてキャリアを積みましたが、それら「人にやってもらう」ことは得意で、まあ才能もありました。しかし「自分で手を動かす」プログラミングになると途端に暗黒レベルで「牛尾さん、才能ないからやめた方がいいよ」と周りに言われ続けていました。

でも「本物のプログラマーになりたい」という思いは強くなるばかり。そんな時、友人に勧められて44歳でマイクロソフトを受け、エバンジェリストとして採用されました。そこでプログラミングを学びながらエバンジェリストの実績を積み、希望を出してエンジニアの試験に合格。5年前から本場アメリカで、まさに夢のようなチームの一員として働くことができています。

僕がここまで来たのは、「自分はポンコツだ」と自覚していたからこそ、どうすれば人並みにできるかを常に考えて作戦を立て、実行してきたからです。その努力と工夫の積み重ねが、マイクロソフトでどうにか生き残っている今の自分です。

8,568通り、あなたはどのタイプ?

「仕事ができる人も理解に時間がかかる」という驚き

アメリカに渡ってマイクロソフトの「Azure Functions」チームに参加した当初は、世界一流のエンジニアの能力と生産性の高さに圧倒されました。「僕とは頭脳の出来が違うのだろうな」と思いつつ、何とかやっていく方法を模索していた時のことです。

新卒の優秀な同僚に、「君たちはどうやってこの難しいシステムを把握しているの?」と尋ねてみました。チームの扱うシステムは巨大で複雑なので、サービスごとにビデオで学べるようシリーズ化されているのです。すると「あのビデオ、すごく難しくて10回くらい見たよ」「何回もリピートしたね」と口々に言うのです。全編90分もあるビデオなのに!

「自分は頭が悪いから、1回見てもわからないのは仕方がない」などと思っていた僕は、大変な衝撃を受けました。どんなに頭のいい人でも、理解には時間がかかるのです。仕事ができる人の理解力や記憶力が凄いのは、理解に惜しみなく時間をかけることで、その文脈が頭脳に蓄積されているからだったのです。これはアメリカでの最大の気づきでした。

その後も色々な人を観察しましたが、どんなに優秀でも、理解できるまでプログラムを読み込んだり、人に説明を求めたりする態度は共通でした。僕は「彼らのそういうマインドセット=思考法こそが、高い生産性を生むのだ」と気づき、それらを学んで工夫することで、今日より楽しく働けるようになったのです。

8,568通り、あなたはどのタイプ?

世界一流エンジニアから学び、工夫した「生産性UPの思考法」

僕が「仕事ができない」感を克服するために学び、実行してきたことの一部をご紹介しましょう。これらはエンジニアに限らず、多くの職種の人も実践できると思います。

自分1人で考えず「できる人」のアドバイスを仰ぐ

今は日本でも「1on1」が浸透しているようですが、僕自身アメリカでずっと継続しているのが「イケてる人」の知恵を借りることです。自分がとにかく解決したい「最悪の課題」を1つずつピックアップし、エキスパートに相談するのは大変効果的なのでおすすめです。

僕の場合は、世界一流のプログラマーであり、友人でもあるクリスに頼んで、2週間に1度のメンタリングセッションをしてもらいました。「コードをもっと速く書くにはどうしたらいい?」など、一番悩んでいる課題について毎回相談に乗ってもらいます。するとクリスは、「君の場合はね…」と状況を踏まえつつ、拍子抜けするほどシンプルで、かつ的確な答えをくれるのです。

ある日「英語のリスニングが苦手で、会議の内容が理解できないことがあるんだ」と相談したら、クリスの答えは「わからない時は止めて『僕の理解は○○だけど、合っている?』と確認すればいいよ」でした。驚いて「もっと英語の勉強をしなくていいの?」と聞いたら、「そんなの時間がかかりすぎる。弱みは回避すればいい」と言うのです。それなら僕だって今すぐ実行できます。

技術的な相談についても目からウロコが落ちまくりで、クリスからは実に多くの戦略を学びました。仕事ができる人には豊富な経験の蓄積があります。あなたも会社の中に「この人は凄い」と思う人がいたら、コーヒー1杯でも奢って、セッションをお願いしてみてはいかがでしょうか。

マイクロソフトコーポレーション Azure Functionsプロダクトチーム シニアエンジニア 牛尾剛さん

できる人から教わったことはアレンジせずに実行する

僕は、優秀な人に相談してアドバイスを受けたことは、そのまま実行しています。9割以上は正解で、大抵の問題は解決します。なぜかというと、自分で「うまくいかない」と感じることは、結局「よくわかっていない」からです。その状態で試行錯誤するのは効果的ではありません。

茶道や武道の修業段階を表す「守破離(しゅはり)」という言葉があります。守は「型を身につける」、破は「創意工夫して型を破る」、離は「独創性を発揮し型から離れる」ことですが、うまくできないことはまだ「守」です。まずは一旦自分の考えを捨てて、信頼できる人のアドバイスを愚直に実行しましょう。

日本では創意工夫が是とされるためか、最初からとかく「魔改造」をしがちですが、下手にアレンジしない方が成功率は上がります。これは若手のみならず、中堅以上のビジネスパーソンにもおすすめのマインドセットです。

アウトカムを焦らず、じっくり「理解」に投資する

「仕事ができない」と悩むときは、往々にしてアウトカム(成果)を出そうと焦ってしまいがちです。しかし、逆にそれが中長期的な生産性を下げてしまうこともあります。

エンジニアとしての実力がないことを痛感していた僕は、アメリカに来た当初「毎日必ず1つは成果を出そう」と必死に働いていました。しかし限界を感じて、メンターのクリスに「仕事して寝るだけの毎日が辛い。生産性を上げるにはどうすれば?」と相談したことがあります。

するとクリスは「生産性を上げるのは学習だよ。だから僕は定時に仕事を終えた後、課題を見つけて勉強している」と言います。確かに、成果を出そうとするだけの毎日をどれほどリピートしても、自分は何1つ進歩せず、仕事はずっとしんどいままです。そこで僕は思い切って定時で上がり、空いた時間で新しい技術を学んだり、会議で理解できなかった事柄について調べたりすることを始めました。

すると効果はすぐに表れて、プログラミングに対する理解が深まり、技術力が上がるのを実感しました。さらに頭がリフレッシュするためか、労働時間が思い切り短くなったのに、生産性が落ちるどころかむしろ上がったのです。

特にプログラマーは、学習による技術の積み重ねが重要な仕事です。しかし、他のあらゆる職種においても、扱うものの仕組みを学び、情報をキャッチアップして理解を深めていくことが大切。そのために自分の意思で時間を投資することが、最終的な生産性の向上に繋がるはずです。

「インパクトのある仕事」に集中して生産性を上げる

仕事に優先順位をつける場合、日本なら「重要なものから順にやる」イメージではないでしょうか。しかし私たちのチームでは、「最重要なものをピックアップしたら他はやらない。それ1つに集中する」という意味です。ここではそんなシチュエーションに何度も遭遇し、その度に驚いてきました。

しかし確かに、AIの実用化が進む今の時代、ビジネスで評価されるのは物量をこなすことではありません。「あれもこれも」という価値観を捨てて、実際にこなせるキャパシティの方を優先し、インパクトのある仕事に集中して最大限のバリューを出すことが求められるのです。

あるとき私は「A」と「B」という新しいプログラムを引き受けようとしました。Aは技術的に平易ですが、実行すればスループット(単位時間当たりに処理できるデータ量)が飛躍的に上がり、上層部へのデモンストレーションもあります。一方、Bは技術的に高度でやり甲斐があり、エンジニアとしてスキルアップできるプロジェクトでした。

するとクリスが「剛は両方できると思うけど、今回はAだけにした方がいい」と言うのです。なぜかと聞くと「Aの方が圧倒的にインパクトがあるから、集中するべきだ」と。僕は100%クリスを信じているので、Aに全力を注ぐことにしました。その結果クオリティーを高めることができ、「この機能と言えば牛尾」と認められるようになりました。実際のところ、不器用な僕が両方に手を出せば、負担が大きくてどちらもイマイチな出来で終わったかもしれません。

できることのキャパシティは人それぞれで限界もあります。一方で、僕のように無理のない選択をした方が、楽をして強いインパクトが出せることもあるのです。重要な仕事だけにフォーカスし、より少ない時間で価値を最大化するのは、決して悪いことではなく評価されるべきことなのです。

何でも「しんどい」と思ったらやめてしまっていい

エンジニアになった頃の僕は、自分で仕事をコントロールできず、毎日ぐったり疲れていました。しかし、一流エンジニアの思考法を学んで長時間労働をやめ、マルチタスクをやめ、会議の持ち帰りをやめ…と多くのことをやめて、仕事のスタイルを改善してきました。

今のチームで3年以上、何とか首にならずに頑張れた僕は、エンジニアとしてもっと高いレベルを目指すため、この先1,2年はより技術の習得に集中したいと考えました。そのために今回やめたのは、趣味のギターです。ギターは大好きなのですが、最近「練習しないと」と考えることが少し重荷になっていたのです。お陰でその分、時間と脳のキャパシティにゆとりができて楽になりました。

人生のプライオリティーの問題ですが、課題を解決したい、改善したいと真剣に考えるなら、負担になっていることをすっぱりやめてしまうのも一案です。もちろん一生やめる必要はありません。自分と向き合うためには、一時的にそうする選択肢もあるということです。

仕事と人生はもっと自分でコントロールできる

僕がアメリカでの学びを紹介すると「働く環境がいいからでしょう?」と思う方もいるかもしれません。でも「○○のせいで成果が出ない」「○○のために成長できない」など、自分以外の何かによって「できない」という状況は、本当は存在しないと僕は思っています。なぜかというと、それは結局自分自身が選択しているものだからです。

自分の仕事と人生のことを、誰か別の人や会社に決められてしまう、あるいはそう考えて不満を募らせるのは、つまらないと思いませんか?

今「仕事ができない」と悩んでいる方に言いたいのは、そのままでは何も変わらないことです。まず課題を明確にし、作戦を立てて実行しましょう。もし今の会社で自信を持って働くのが難しいのなら、別に義理立てなどせず、きちんと準備をして転職すればいいのです。
自分の人生はもっと自分で決められる。他人にコントロールされる必要はありません。この僕でも頑張れたのですから、みなさんはもっとできると思います。

マイクロソフトコーポレーション
Azure Functionsプロダクトチーム シニアエンジニア 牛尾 剛さん

世界一流エンジニアの思考法

1971年大阪府生まれ。シアトル在住。関西大学卒業後、大手SIerでITエンジニアとなり、2009年に独立。アジャイル、DevOpsのコンサルタントとして、数多くのコンサルティングや講演を手掛ける。2015年、米国マイクロソフトに入社。エバンジェリストとしての活躍を経て、2019年より米国本社でAzure Functionsの開発に従事する。著作に『世界一流エンジニアの思考法』(文藝春秋)『ITエンジニアのゼロから始める英語勉強法』(日経BP)がある。ソフトウェア開発の最前線での学びを伝えるnoteも人気。

撮影:平山 諭 取材・文・編集:鈴木恵美子
PC_goodpoint_banner2

Pagetop