こんにちは、スマートニュースの Naoki です。 スマートニュースの本社は渋谷にあるのですが、現在私はサンフランシスコにある US オフィスで勤務しています。 この記事では、日本オフィスと US オフィスのメンバーがどのように共同でエンジニアリングを行っているかについてお伝えしたいと思います。
JP・USオフィス間における情報共有について
スマートニュースでは、日本、サンフランシスコ、ニューヨーク合わせると 100 名以上のスタッフが働いています。 「スマートニュースは多国籍企業である」というと若干大げさかもしれませんが、実のところ日本オフィスには中国、イギリス、アメリカ出身の社員がいますし、サンフランシスコオフィスにはアルゼンチン、イラン、フランス、台湾など世界各国出身の社員がいます(もちろん、アメリカ生まれの生粋のアメリカ人も多数います)。 日本の文化や日本語に興味を持ってくれるUSの社員は多いのですが、ビジネスレベルの日本語を話せる人はほぼ皆無です。
社員数の規模としては日本オフィスの方が US オフィスの約 8 倍以上あるため、チャットツールとして採用している Slack や社内情報共有ツールとして採用している Qiita:Team では日本語で書かれるメッセージや記事がどうしても多くなりがちです。
全社員向けのメッセージや記事は英語(もしくは英語と日本語併記)で書かれるのですが、日本の広告セールスなど国内特有の情報は日本語で書かれることが多く、USの社員にとっては単なるノイズになってしまうこともあります。
英語で書かれた記事には english
という tag をつけるなどの工夫はしてみていますが、文化の違いからか、 Qiita:Team を定期的にチェックする習慣がついていない US の社員も多く、この辺を上手く解決できないかと模索しています。
今のところサンフランシスコとニューヨークオフィスでは合わせて 20 名に満たない小規模な組織で、なおかつ日本語を母語とする社員が両オフィスに合わせて 4 人いるため、週に一度行われる US の All Hands Meeting などで情報を地道に再アナウンスしています。
「知らないことすら知らない」ほどもったいないことはありませんからね。
異なるオフィスで働いている場合、お互いがどのような仕事をしているかただでさえ分かりづらいので、 Slack のプライベートチャンネルやダイレクトメッセージ、もしくはメールなどの閉じた空間でのコミュニケーションはできる限り避け、オープンな場所でやり取りをするようにしています。 また、日本語のコミュニケーションは元来「場の空気」を読むなど、明示的に表現されていない発言から意図を汲み取ることがときたま求められますが、国や時差をまたいだやり取りで曖昧性があるとオーバーヘッドが生じるため、それを排除するために情報をできるだけ明確に言語化するようにも心がけています。
文書化された情報にも限界があるので、定期的なオンラインミーティングも欠かせません。 スマートニュースのエンジニア組織の「今」。VPoE、CorporateEngineering新設の背景にも書かれているように、リモート会議の質を少しでも高めるためにミーティング用の機材への投資も惜しまないようにしています。
JP・US共同プロジェクトの進め方
日本オフィス単体、もしくは US オフィス単体で推進されるプロジェクトもありますが、中には共同で行われるプロジェクトもあります。 私自身が関わった日米共同プロジェクトについて軽く触れたいと思います。
このプロジェクトでは US オフィスから3人のメンバー、日本オフィスから 4 人のメンバーの計 7 人でとりかかりました。 USオフィスのメンバー 3 人のうちの 1 人は日本語を母語としないアルゼンチン出身のエンジニアであったため、このプロジェクト用の Slack チャンネルや GitHub 上でのプルリクエストのやり取り、また Google Meet でのミーティングなどは全て英語で行いました。
複数のタイムゾーンにまたがるチームで仕事をする場合、上手く歯車が噛み合うとお互いのチームがバトンタッチをするように 1 日 24 時間をフルに活用でき、また on-call 対応をしやすくなるというメリットがありますが、やはり困難も伴います。 同じオフィスにいても文化の違いというものは起こりえますが、異なる国で仕事をすると顕著に表れます。 このプロジェクトで起きた具体的な例を紹介しますと、 US メンバーが(実験的な意味で)プルリクエストを作成し日本メンバーにアサインしたところ、その日本メンバーがフラストレーションを示したことがありました。 US のメンバーからしたら「プルリクエストを作成することは『こういう変更を考えている』『まだこれをすぐ merge するわけではない』」という認識だったのですが、日本のメンバーからしたら「プルリクエストを作成するということは即 merge できる状態である」という認識違いが生じていたわけです。 このようなエンジニアリングプラクティスの違いは早期に発見し、お互いの理解を深めることが重要です。
プロジェクトの立ち上げ期や各マイルストーン前の追い込み期では、 US オフィスのメンバーが日本オフィスに出張に行き日本のメンバーと一緒に仕事をする、もしくは日本オフィスのメンバーが US オフィスに来て一緒に仕事をするようにしました。 同じ空間で仕事をすると開発効率が上がるだけでなく、実際に顔を合わせて仕事をすると信頼関係を築くことができ、それぞれ元のオフィスに戻ってからも、よりうまくコミュニケーションを取ることができます。
「サテライト・オフィス」でエンジニアとして働いていて良い点、大変な点
サンフランシスコの午前中から午後 3 時くらいまでの間には日本オフィスのメンバーが就寝しているので Slack 上でのアクティビティーが大分静かになります。 集中してコードやドキュメンテーションを書いたりするには最適な時間といえます。
この裏を返せば、午後 3 時頃までは質問をしても答えが返ってこないため、質問にかかるコストが段違いに高くなります。 前述したとおり、 US オフィスの組織は日本オフィスより規模が一回り小さいのですが、これはエンジニアリング組織に限定したときも同様です。 スマートニュースのバックエンドでは数多くのサービスが稼働しており、それらの多くのプライマリーオーナーは日本オフィスのエンジニアであることが多く、ニュース記事の処理に失敗したときや非エンジニアの同僚から「管理画面のここが意図通りに動かないようだけどちょっと見てもらえない?」などと聞かれたとき、どのような仕組みでシステムが動いているかを確認するのにもそれなりのコストがかかります。 ここ最近では「この問題はあのシステムが関連していそうだ」「この処理はあのシステムで行われていそうだ」という勘が大分養われてきましたが、入社直後はそれなりに苦労しました。
おわりに
こう書いてみると「スマートニュースの US オフィスでエンジニアとして働くのは大変そうだな」という印象を持たれたかもしれませんが、「スタートアップの中のさらに小さなスタートアップ」という風に、責任とともにチャンスと自由が与えられる非常に刺激的な環境です。
スマートニュースでは今年後半から US に特に力を入れる予定で、サンフランシスコに短期・長期で滞在したいエンジニアを募集しています。私達と一緒に本気でUSで勝ちを目指しませんか?