2018年は17名のエンジニアとデザイナーがシアトルのマイクロソフト、Amazon Web Services Inc.(以下 AWS)、サンフランシスコのVerizon Media、Slackの各本社を訪問し、オフィスツアーやハッカソンに参加しました。今回は、ヤフー社内で開かれた報告会の様子と、ツアーメンバーの感想を紹介します。
マイクロソフトではAzureで課題を解決するハッカソンに参加
まずは社内での報告会の様子を紹介します。海外ワークショップツアーの1日目は、シアトルの東、レドモンド市のマイクロソフト本社を訪問しました。まるで広大な公園のような500エーカー(約2000平米)のキャンパスにオフィスが点在し、その間を何台ものシャトルバスが巡回する様子に驚く間もなく、メンバーはマイクロソフトの開発文化を知るためのセッション(講義)や討論、3つのグループに分かれて行うハッカソンに臨みました。

ハッカソンでは、ヤフーの社員はそれぞれA、B、Cのグループに分かれて課題に取り組みました。共通テーマはMicrosoft Azure(以下 Azure)を使って業務課題を解決するというもの。Aグループは「音声認識技術を活用して広告バナーを自動作成する」というテーマを選びました。

「広告バナー作成はヤフーの広告部門では極めて重要な業務ですが、常にエンジニア、デザイナーのリソース確保という課題がつきまといます。バナーの作成を職種に依存しないようにするためには、誰もがアイデアを形にできるようにすることが最短の解決策です。
アイデアを思いついたら、ディスカッションの途中に、たとえば『背景を緑にして』とか『もう少し高級感のあるデザインに』などと音声で指示すると、それを動的に表示してくれるようなシステムがあれば、アイデアの創発を支援できると考えました」(浜田)
システム開発では、小規模なコードをクラウドで手軽に実行できるソリューションであるAzure Functionsを基盤としたマイクロサービス群と、フロントエンドにReactを用いたアプリケーション、その間をつなぐBFFとしてClojureを用いて構築しました。報告会ではそのデモの様子も紹介されました。

メンターとスペシャリストが目の前で白熱の議論
Bグループのテーマは、「機械学習を用いた画像解析によるサービス横断型のレコメンドエンジンの開発」です。Yahoo! JAPANには100以上のサービスがありますが、クロスユースがいま大きな課題になっています。
例えば、ユーザーがYahoo!ショッピングで商品を検索するとき、ヤフオク!に出品されている類似商品の画像が表示されれば、ユーザーの関心はより高まるかもしれません。

初めに、ハッカソンでのメンターとなったマイクロソフトの技術者に、「Yahoo!ショッピングが扱う商品数ってどのぐらいなの?」と質問をされました。約2.9億点(2018年10月末時点)と伝えると、だったらこれが使えるかもと紹介されたのが、マイクロソフトの検索エンジンであるBingのイメージ検索技術とAzureのCustom Visual Search と呼ばれるAPIでした。

「メンター自身は、Custom Visual Searchの専門外だったため、それを開発しているエンジニアをわざわざその場に呼んでくださいました。二人は興味のある技術のことになると、すぐに会話が白熱する。マイクロソフトのエンジニアの方々の強い好奇心や、技術をハッカソンにとどめることなく、将来の実装についても検討する姿勢に驚きました」(加藤)
AzureのVideo Indexerで会話を記録し、テキスト転換
Cグループのテーマについては、荒井謙が報告しました。
「フリーアドレスが導入されているヤフーのオフィスでは、偶然そこで出会ったエンジニア同士の何気ない会話から面白いアイデアが生まれることも少なくありません。ただ、残念なことにその会話がログとして残らない。
会話した当人たちの記憶には残っても、それをほかの人が参照する術がないのです。そこで、会話を動画で撮っておいて、その内容をテキストに起こしたり、キーワードを抽出したりできるような技術があれば面白いなと思いました」(荒井)

こうしたシステムを構築するのには、AzureのVideo Indexerという技術が使えそうです。会話を記録したビデオをアップロードすると、人工知能(AI)が会話内容をテキストに変換したり、話者を特定したり、その表情から感情を推測したり、さらには会話の中のキーワードを抽出してくれます。
チームではそれを使って、会話内容のテキストやキーワードをSlackに投稿できるシステムを短時間で設計することができました。

「アドバイザーと一緒にホワイトボードを囲んで、夜がふけるまで議論しました。とても良い刺激になりました」(荒井)

AWSに根づくDay Oneという企業文化
1日半足らずのハッカソンで、それぞれ成果物を残した一行は、ツアーの2日目はAWS本社を訪ねます。
Aグループの田中優之はAWSエンジニアへのインタビューを通して印象に残ったことを次のように語っています。
「AWS社内でよく使われる言葉に『Day One』という言葉があります。これは、常にスタートアップのような気持ちで日々の仕事に取り組み、絶えず新しいことに挑戦しようという姿勢を表しています。
2枚のピザを分け合うような少人数でチームを構成する『Two-Pizza Teams』理論や、全員がリーダーとして行動することを求める『リーダーシップ・プリンシプル』などについてもお話をうかがいました。
これらはAmazonに関する記事や本を読んだことのある人は聞いたことがあるかもしれませんが、それが単なるお題目ではなく、全社員に浸透し、習慣として根づいていることを実感しました」(田中)

Aグループでは、2018年1月にシアトル市内にオープンした「Amazon GO」の店舗を訪れ、レジに人がいない無人コンビニエンスストアでの買い物も体験しました。
「店舗設計といい、顧客の体験設計といい、Amazonが本気になって作っていることがよくわかりました」(田中)

Yahoo(現Verizon Media)の訪問で見た力強いコミュニケーション能力とチームワーク
3日目、一行はサンフランシスコへ移動。Yahoo(現Verizon Media)本社に訪問しました。ここではセッション、ライトニングトーク、オフィスツアーなどに参加しました。
Verizon Mediaの最初のセッションで語られたのは事業戦略。
「同社の映像スタジオを見た後、5Gとマルチスクリーンの時代を見据えながら、メディア企業としてますます成長し続けていくという会社の熱意に感銘を受けました」(真壁)

Verizon Mediaのエンジニアとのグループディスカッションでは、彼らの強固なコミュニケ―ション力と連携に感銘を受けました。

失敗から成功を生み出す西海岸企業の底力と技術愛
ツアーの最終日は同じくサンフランシスコにあるSlackの本社を訪ねました。Slackの製品技術の背景には「失敗から成功を生み出してきた歴史文化があるのではないか」と考察するのは、Cグループの栗克(リ コク)です。

Slackの創業者たちは、最初はオンラインゲームを手がけますが失敗。しかしその失敗から写真共有サービスの「Flickr」を生み出し、その後それをYahoo! Inc.に売却します。再び取り組んだ次のゲーム「Glitch」でも挫折。しかしその開発の際に、内部のコミュニケーションツールとして作った「Slack」が多くのユーザーに受け入れられ、現在の地位を築きます。

Slackは最初、モノリシックなPHPで書かれた小さなアプリでしたが、それがどんどん大きくなるにつれて、開発者のなかで誰も全体を把握できていない状況になりました。
そこで機能を分割して、マイクロサービスに移行。現在は各チームが責任をもって定期的なアップデートを繰り返しています。そうした開発スタイルの背景にあるのが、「Discover,Define,Develop,Deliver」の4つの「D」からなるSlackの開発文化です。
「一つの問題を掘り下げ、関連するほかの問題を洗い出したうえで問題群をつくる。そしてその問題群のなかから最も重要なものを抽出し、ベストの方法で解決、実装し、顧客に提供する。Slackでは、このサイクルを大切にしています」(栗克)
オフィスツアーではバリスタが淹れてくれるコーヒースタンドや、楽器を自由に演奏できる音楽室が印象に残ったそう。社内全体にみなぎるような「プロダクトへの熱い愛」を実感したと、栗はまとめました。

マイクロソフト、AWS、Verizon Media、Slackを訪問した感想は?
最後に、4人のクリエイターに、YGCPの感想を語ってもらいました。

米国企業のエンジニアとマネージャーの関係に注目
まずは、Yahoo!ショッピングにおける検索エンジンの機能開発チームのリーダーで、入社3年目の社本秀之に聞きました。

「開発チームの一人が昨年のYGCPに参加しており、僕も興味はありました。マイクロソフトでのハッカソン・プログラムは、渡航の1カ月ほど前に告知され、面白い取り組みだなと思いました。
ただ、当時Azureを業務で使っている人は多くなかったので、各グループとも事前準備に苦労したと思います。
ハッカソンでは、実際にコードを書いていたのは3~4時間程度。もっと時間があればなとは思いますが、どんなハッカソンでも時間が十分にあるということはまれなので、これもありだと思います
マイクロソフトのハッカソンは既存のプロダクトに機能を追加するため、というように実践的であるのに対して、ヤフーの社内ハッカソンはむしろ斬新なアイデアを競うという要素が強く、そのスタイルの違いは感じました。プロダクトの機能開発に関する差異に興味があったのですが、その一面を知ることができました」

「Slackは若い企業ですが、経営者たちはそれまでに何度も失敗を重ねて今日に至っている。年齢は若いけれど、その経験値は“老練”と言えるほど豊富で、そこにすごみを感じました。
各社ともエンジニアとマネージャーの関係や、エンジニアを活躍させるための制度の話が聞けたのは最大の収穫です。具体的には、マイクロソフトのシニアエンジニアの方にお話をうかがうことができたのですが、マネージャーとエンジニアの役割の違いが社内に浸透しているという部分に差を感じました。
そのなかで、両面の技術を備えた人がシニアエンジニアというポジションについているという話を聞いて、ヤフーでもそのようにポジションを明確にしていくのも良いと思いました」
愛犬との同伴出勤に文化の違いを感じた
続いて語ってくれたのは、Yahoo! JAPANのスタートページのコーディングおよびデザインを担当する荒井謙。ツアー参加者のなかで唯一のデザイナー職で新卒入社3年目です。

「社内でYGCPの話が出たとき、あまり深く考えずに行くことを決めました。デザイナーは今回私一人だったのですが、エンジニアだけでなくデザイナーにとっても得るものが多い機会なので、今後はデザイナー職の参加も増えていくと良いと思います。
マイクロソフトのハッカソンに向けて、事前に各エンジニアがパーツをある程度作成し、それを現地で統合しました。全員時差ボケが治らないまま(笑)、ハッカソンに突入するという慌ただしさはありましたが、得がたい体験になりました。
ハッカソンでは6人のグループのうち4人がバックエンドを担当。私を含む2人がフロントエンドを担当しました。その意味ではデザイナーとしてのスキルはデザインそのものというより、ページのコーディングのところで発揮できたと思います。
私は西海岸の企業を訪問するのは初めてのこと。マイクロソフトの広大なキャンパスにはびっくりしました。日本ではなかなか難しいスケール。AWSでは愛犬と一緒に通勤する人が予想以上に多いのでこれも驚き。ペット同伴の生活は当たり前のように定着しているんです」

「シアトルではグループごとに観光もしました。パイク・プレース・マーケットやスターバックスコーヒーの1号店、スペースニードルなどの定番の観光スポットでは途中で別のグループにばったり遭遇するということもありました(笑)。
Verizon Mediaでアプリ『Yahoo Play』のデモを見ましたが、デザイン的観点ではアプリデザインのトレンドは世界共通だと実感できました。どういうコンテンツをどんなUIで提供するのかという基本の考えには共通のものがあり、デザイナーとして考えることは、日米そう違わないということを再認識しました」
なぜ、これほどの敷地が必要なのか
3番目は、ウェブコンテンツを効率的に配信する仕組みCDNの開発を担当する新卒入社3年目の五水井柾人(ゴスイ マサト)です。

「マイクロソフトの敷地の広大さはよく話に聞いていましたが想像以上でした。自然のなかでよりクリエティブなアイデアが出てくることを目的としたツリーハウスなどもいくつもあって、そこで会議をすることもあるという話を聞いてあ然。つい、『なぜこんな広い敷地が必要なのか』と質問してしまったんですが、その答えに納得しました。
優秀なエンジニアを集め、かつ彼らに長く働き続けてもらうには、オフィス環境、福利厚生すべてにわたって積極的に投資しなければならないというのです。エンジニアの争奪戦が日本以上に激しいアメリカ西海岸ならではの話だと思いました。
4社とも皆余裕のある働き方をしているなということを実感しました。エンジニア一人ひとりが時間管理、健康管理など自己管理を徹底しており、そのうえで効率的な働き方を目指している。『エンジニアにさまざまな余裕を与えた方がアウトプットの質は向上する』という話には強く共感しました」

「国立公園のような広さは難しいとしても、働き方という意味では、けっして日本企業が実現できない話ではないと思います。ヤフーではさまざまな制度や環境が用意されていますが、今後それをどうブラッシュアップしていくのか、これから考えていけると良いと思いました。
たしかに日本企業の組織文化が壁になることはありますが、たとえば、エンジニアとマネージャーの職能分離を明確にすることが改善の糸口になるのではないかと感じました。
今回のツアーでは各社の技術の詳細まで深くディスカッションすることはなかったのですが、ざっと話をお聞きした限りでは、新しいインターネット技術への理解という意味では、ヤフーのエンジニアたちはけっして負けてはいないはず。ただ、それをプロダクトに反映させるためにどうするか、自分の課題として考えていきたいと思います」
エンジニアのプロダクト権限はどうあるべきか
最後に語ってくれたのは、不正行為(アビューズ)を技術的に防止するシステムの開発チームのリーダーで入社7年目の加藤直哉です。

「マイクロソフトではAzureの機能ごとにリリース権限を含む責任を担うエンジニアがいるというお話をうかがいました。個々のプロダクトにおけるエンジニアの権限の強さと責任の重さは、日本ではあまり見られないもの。現場のエンジニアに与えられている裁量が大きいため、ユーザーからのフィードバックをスピーディーにプロダクトに反映できるそうです。
そのあたり、ヤフーは風通しの良い会社といえますが、いわゆる一般的な日系企業は『スタンプラリー』と揶揄される稟議制度が壁になってしまうことが少なくないと思います。でもそうではいけない。エンジニアの権限のあり方については、これからヤフーでも議論を深めていきたいと思いました。
ハッカソンで私たちのグループは『画像解析によるサービス横断型のレコメンドエンジン』をテーマにしました。報告会でも述べたように、マイクロソフトの新しいAPIをめぐって先方のメンターとエンジニアの議論が白熱したこともあり、コーディングの時間が足りなくなってしまったのですが(笑)、彼らの技術への真摯な姿勢を垣間見ることができたという意味で貴重な経験でした。普段の実務に近いテーマだったこともあってか、3チームのなかでは、幸いにも最優秀の評価をいただきました」

「インターネット技術者にとって英語は必須要件で、私自身、読み書きはもちろんのこと、一般的な英会話の勉強は積んできたつもりです。YGCPメンバーの選出条件にも、通訳を介さずにある程度の会話ができるスキルが挙げられています。
セッションではほぼ問題なく彼らの言うことは理解できました。ただ、実際のコーディングの現場で、どういう言い方をすれば的確なコードレビューができるのかということに少し苦心しました。もし、実務でかかわることになれば、技術的なことでもより緻密なコミュニケーションをとれなければならないので、そのあたりももっと強化したいと思いました。
海外企業の実例を自分の目で見て確かめることの大切さをあらためて感じました。極端に言えば事前準備は要らない。ひたすらその場の空気を感じ、新鮮な情報をインプットすることができれば、それは私たちクリエイターにとって大きな糧となるはずです」
※社員の所属は取材当時(2019年1月)のものです。