メソッド屋のブログ

米マイクロソフト Software Development Engineer 牛尾の日記です。ソフトウェア開発の上手なやり方を追求するのがライフワーク。本ブログは、個人の意見であり、所属会社とは関係がありません。

アメリカで、ソフトウェアエンジニアの日本人がインパクトのある仕事をする方法

アメリカに移住してもうすぐ4ヶ月ぐらいになるけど、こちらに来てから面白いほど成果が出ていない。

f:id:simplearchitect:20190327181937j:plain

最初の2ヵ月ぐらいはなんやかんやで仕事にならんやろうなと思っていたから、気にもしなかったが、そろそろ4ヵ月なので、流石に焦りを感じて来た。何一つ仕事が完了しない。日本で仕事をしていた時はこんなことは発生しなかった。こっちの方が一緒に働いている人が同じタイムゾーンだし、近いし、やりやすいはずなのに何故だろう?焦っていても何も改善しないので、直接仕事をしているクリスと、日本人エンジニアの先輩の河野さんに話を聞いてみた。自分の会社限定かもしれないけど、学んだことの記録と、もしかすると誰かの役にたつかもしれないから書いておこうと思う。

仕事が完了しない焦り

何だろう、この仕事の完了しないっぷりは。いくつか、終えたらインパクトがある仕事があるのだが、これがまた完了しない。一緒に働いているエンジニアの人はみんな超絶忙しい感じで、声をかけるのも気を使う感じ。だから、何かのブロッカーの質問があったとしたら、彼らにメールなり、メッセなり、PRのコメント欄に書いたりするのだけれど、全く反応がなかったりすることもしょっちゅうある。自分のPRのコードがイマイチだからダメなんだろうか?それとも単に忙しすぎてみる暇がない?そもそも反応がないのだからどうしようもない。

f:id:simplearchitect:20190327175641j:plain

でも、その質問がクリアされないと前に進まないしどうしたらいいんだろう?いろんなことがそんな感じで止まってしまう。勝手に先に進める?しかし、大きな手戻りが発生する可能性が高い。しかも、日本と違って、仕事は勝手に降ってこない。自分でゲットするもののようだ。誰かがインストラクションしてくれたりするわけでもない。そんなものと思ってやってたけど、ここまで成果がでないと焦って来た。

インパクトが停滞する

そんな折、私が2ヵ月ぐらい使って分析して、インプリした大きめの機能追加があって、それがマージされると結構なインパクトだし、貢献と思うのだけど、それはまだだ。というか、レビューもしてもらっていない。アポとってデモした時は、結構好評だったように感じて、次はPRレビューすると言ってたのに、しばらくしてもするそぶりがないので、何度かメールを送ったり、PRにメンションしたりするけど、反応がない。どうしたらいいんだろう。しかも別のドキュメント系の仕事も、あるアーキテクチャのディスカッションのポイントが合意できないと、書いても意味ないので、自分には時間があるのに前に進めない。先ほどのPRも何か一つでも反応があり、不満な点があれば速攻で対応する準備があるのに無反応だから何もしようもない。どうしたらええのよ。こんなの日本ではありえない状態やわ。しかし、これ以上プッシュしたら流石にうざいだろう。もうどうしたらいいのかわからない。

f:id:simplearchitect:20190327174551j:plain

とあるイケてるエンジニアのスムーズな仕事ぶり

そんな折、私よりよっぽど後にムッチャ難しい機能に着手しためっちゃイケてるエンジニアがいた。彼は、私たちの前で、初めて1週間ぐらいでさっと最初のデモを作り、毎週、更新しては、みんなに見せて来た。正直めっちゃカッコいい機能。次のリリースの目玉のような機能だ。そして、1ヵ月ちょっとぐらいで、着想からからのでっかいPRはマージされた。もの凄くスムーズだった。彼が超優秀というのもあるし、この機能だったらみんな夢中で、優先順位上がっているというのもあるけど、たった一人でめっちゃスムーズにインパクトを出した。なんて優秀な人なんやろ。

f:id:simplearchitect:20190327182212j:plain

クリスにフィードバックを聞いてみる

多分自分の仕事の仕方に問題があると思ったので、仕事をしている相手のクリスに話を聞いてみることにした。自分の仕事の仕方に問題があるからフィードバックをくれないかと言って時間をもらった。意外なことに、私の仕事の仕方には問題がないというので、私は、反応がなくて困ってて、たとえ今無理でも、何時頃に時間取れるとかそんなことだけでもわかったらええのに、それすら難しい、これ以上ピングしたら日本人的には、失礼だと思ってしまうという話もした。すると彼は、それは多分みんな忙しくて、単に時間がなくて後回しになって忘れているだけやと言ってくれた。彼のアドバイスでは、メールでダメなら、メッセでピング、それでダメならこちらから会議を設定、それでダメなら直接乗り込んで、話をすると。なんやそれ、大阪のおばちゃんのような厚かましさやんけ、、、でもそれでええらしい。ただし、相手に尊敬を持って。そんなもんらしい。日本ではあんまし相手がたまにメール見落としてるとかあるけど、もう一回ピングしたら無視されるとかは普通無いからそれは凄い違いだ。クリスは、自分が相手であってもそうしてくれたら良いよって言ってくれた。

f:id:simplearchitect:20190327180320j:plain

日本人の河野さんにも聞いてみる

たまたまクリスと同じビルに河野さんがいて、さっきちょっと話したので、「そうだ河野さんに聞いてみよう」と思い立って、少し時間をいただけませんか?とメッセをしたら程なくしたらカフェテリアのコーナーに来てくれた。私が、上記のような事に困っているというと河野さんはいくつも重要なアドバイスをくれた。河野さんはとても優秀な人で、私の会社でも製品的にも、技術的にも、チーム的にも中核の最高のチームでずっとサバイバルしている、つまりめっちゃ優秀な人なんだけど、これまためっちゃいい人で、日本でも凄くいい講演をされていて記事にもなっている。河野さんに聞いたら何かいいヒントが得られるんじゃ無いか?と思って藁にもすがる感じで聞いてみた。

logmi.jp

日本人を捨てる事

全く意外な事に、河野さんも、今ぐらいの頃私と全く同じ問題で悩んでいたらしい。当時の彼の上司のトルコ人に河野さんが相談したら、以外にもトルコの文化は日本と似ていて、控えめな文化なので、「俺が、これやりました、見てみて!」みたいな事をしないらしい。そんな彼が、USに来てから、トルコ人である事を捨てて、アメリカ人のように振る舞うようにしたらしい。日本人の自分ならきっとやらないような、「俺これやった!見てみて」「俺これやらんといけ無いから、時間作って」みたいなことをガンガンにやるようになったらしい。河野さんもそれを聞いてそういう風にするようにされたらしい。ただし、それがちゃんと出来るには3ヵ月ぐらいかかったともお話されていたので、そんなに直ぐには日本人癖は抜けないのだろう。常時大阪のおばちゃんレベルの厚かましさになることから始めよう。

f:id:simplearchitect:20190327180616j:plain

コミュニケーションとビジビリティ

河野さんに褒めてもらったのは、私が毎週プロダクトチームの定例に参加していること。これは、コミュニケーションの面でもいいことだけど、ビジビリティにも良いと教えてくれた。他の人に自分が何をやっているのかを見せないと、誰もそれに気づかない。だから、相手に自分が何をやってるのか見せるのが重要で、そしたら気づいてもらえる。スクラムのイベントとかも、ビジビリティをあげる効果があるという話もされていた。自分的にはコンサル時代から「価値を出したら、それを見える化しないと行けない」と言われていたのでその概念は直ぐに理解できたけど、純粋なソフトウェアエンジニアの世界でもそれは同じという事を教えてもらった。

f:id:simplearchitect:20190327181857j:plain

周囲と比べず、周囲の人をリソースと考える

次に教えてもらったのが、周囲の人をリソースとして考えるという考え方。周りの人は物凄く優秀な人が多い。本当にスーパーマンのよう。しかも英語とか読んで理解するのも自分より何倍も早い。だから、正直自分はガチでダメやなとしょっちゅう思っていたけど、河野さんも最初は同じだったらしい。比較したら落ち込むだけだ。だから、昨日の自分と比較して、成長しているかだけを考えて、周りの人はリソースだと思って、わからないことは質問しまくる。

仕事は降ってこない。自分で作る

次の問題として、仕事が降ってこない問題がある。日本の場合は、マネージャとかいるので(こちらにもいるが)仕事は基本的に降ってくる場合が多い。自分は能動的に動くほうだが、それでも、基本的にミッションとかあって、達成することが明確であることが多い。ところが、こちらのソフトウエアエンジニアリングでは、自分のスコープぐらいは決まっているかもしれないけど、仕事は自分で作らないと無い。ゼロ。だから自分で動いて、なんか作ってみるとか、貢献してみるとかしないと行けない。だから自分が作っていいと思ったものは、どんどん周りの人に見せていく。もし、何人かが、あまり興味なかったとしても、さらに他の人にもデモしてみたりする。リンクや動画を送っただけではダメで、目の前で時間をもらって、俺これ作ったぐらいすると、誰かが興味を持ってくれるかもしれない。  そんな事をしていて、周囲にも聞きまくっているうちに得意分野が出来てきて、だんだん忙しくなっていくという感じのようだ。

f:id:simplearchitect:20190327181740j:plain

マネージャは使うもの

日本にいるときはマネージャは管理したり、何か指示を出す人だけど、こちらでは、全くそんな事はない。河野さん曰く、すごく良い作戦としては、マネージャを使う事だと言っていた。私も感じているけど、こちらのマネージャはガチで優秀。技術もよく知っているし、困ったら本当に助けてくれる。だから、先頭にあったような、反応してくれない問題も、マネージャに相談すると、一緒に解決したり、自分がアプリを作ったらまずマネージャにデモすると、それを広めるのを助けてくれたりすると言った具合に、とても助けてくれる。だから、こちらではマネージャに「使われる」のではなく、マネージャは「使うもの」だとアドバイスをくれた

ものづくりを楽しむ

これはアドバイスではないのだが、最後に河野さんが言っていたのが、電子工作興味ありますか?楽しいですよ?と言われた。そういえば、実力をあげよう、あげようとばかり考えていて、技術を楽しんだり、自分でなんか作ったりとかそういう感覚って忘れていた。自分のツール作るの最高に楽しいし、面白いアプリ作るのも面白いな。楽しい事やってる方が人間上達するよね。そんな事を思い出しながら、河野さんに去年作ったStrikes をご紹介した。復活して継続開発しようかな!ラズパイも楽しそうだから買っててやってないので、そろそろ魂を吹き込んでみるかな。

f:id:simplearchitect:20190328012313j:plain

最後に

あの河野さんでも自分と同じような事を感じていたのかとびっくりするのと同時に、物凄く適切なアドバイスをいただけた。ガチで世界中で使われまくっている、自分の会社の中核のサービスを開発をしている本物、本当に私が目指している本物のエンジニアが時間をくれてアドバイスをもらえた。今回のブログは誰のためでもなく、自分のためなんだけど、私や河野さんが感じたような事を感じている人のためにこちらでもシェアしてみる事にした。誰かのために役に立つと幸いです。