ソフトウェア

TwitterとGoogleを渡り歩いた異色のエンジニアが「企業文化の違い」を語る


Googleに14年間勤めた後にTwitterに転職したエンジニアで漫画家でもあるマヌ・コルネット氏が、2つの企業の違いについて語っています。

From Google to Twitter (initial thoughts)
https://ma.nu/blog/from-google-to-twitter

コルネット氏はGoogleで長年にわたりGmailやAndroidの開発に携わった経歴を持つエンジニアで、Googleで働いた経験を元にした漫画シリーズの「Goomics」などのアート作品を公開している漫画家でもあります。しかし、Twitterに転職後に描いた「Twittoons」について同社の人事部から目を付けられるなどのトラブルがあったせいか、イーロン・マスク氏による買収後に真っ先にレイオフのターゲットとなってしまいました。

https://t.co/4SPYyNYmjG

On Mastodon: https://t.co/AWWy5An82X pic.twitter.com/5HoLgw3Ktq

— ma.nu (@lmanul)


コルネット氏は、GoogleとTwitterの社風の違いを以下のようにまとめました。

◆社内コミュニケーション
コルネット氏によると、Twitterでは全てのやりとりがSlackで行われるとのこと。これには、1対1のチャットからチーム内での議論、上司への質問、コードレビューの依頼、雑談までさまざまなコミュニケーションが含まれます。そのため、Twitterでは仕事関連のメールをチェックしない日が数日間続くことも珍しくないそうです。逆に、ほとんどの連絡をメールで行っているGoogleではそのようなことは有り得ません。

コルネット氏は「社内システムよりSlackを検索した方が、自分の問題に関連する情報を見つけられる可能性が高いのですが、裏を返せばSlackがダウンすると生産性やナレッジベースへのアクセスに重大な影響が出てしまいます」と述べて、どちらも一長一短だったと評価しました。

◆アウトソーシング
Googleではほとんど全てのソリューションを独自に構築することが好まれますが、Twitterは多くの物をアウトソースしています。具体的には、Googleはバグ追跡システム・メール・カレンダー・オフィススイート・コードレビューシステム・社内コミュニケーションなどのツールを自前で持っていますが、Twitterではバグ追跡とプロジェクト管理にJiraを使ったり、スケジューリングにGoogleカレンダーを使ったり、人事管理にWorkDayを使ったりと、外部のソフトやシステムが積極的に活用されていました。こうした姿勢を反映してか、Twitterでは技術的にもオープンな技術を使う傾向があるそうです。

コルネット氏はGoogleからTwitterに転職した直後のエピソードとして、「入社後に(認証システムの)Duoをスマートフォンにインストールしろと言われた時、『まさかチャットアプリのGoogle Duoじゃないだろうな』と軽く困惑してしまいました」という経験があったと話しました。

by Ivan Radic

◆使っている端末
Twitterは技術的にオープンなので、社員もLinuxなどオープンな環境で仕事をしているだろうとコルネット氏は予想していましたが、実際にはTwitter社員の99%はMacのラップトップを使っているとのこと。

一方、Googleのエンジニアは全員頑丈なラップトップを持ち歩いており、クラウド経由で強力なマシンを使い、何を動かすにもリモートということが非常に一般的だとコルネット氏は話しました。

◆ミーティング
コルネット氏の元には、たまにGoogleとTwitterではどちらがミーティングを重視するかという質問が届きますが、はっきりとした違いはないとのこと。コルネット氏の経験では、ミーティングを大切にするかどうかは会社よりも、その時所属していたチームやプロジェクトによるそうです。

◆リモートワーク
Twitterは原則としてリモートワークに積極的なので、チームは地理的に分散する傾向があります。一方、Googleも新型コロナウイルス感染症のパンデミックの影響を受けてある程度リモートワークを受け入れましたが、コルネット氏が思っていたほどではありませんでした。コルネット氏によると、Twitterは企業の規模から想像される以上に海外拠点が多く、チームが地理的に分散していることを気にしないため、この違いが出ているとのこと。


◆内職
GoogleもTwitterも社員が勤務時間に個人的なプロジェクトを行う「Side project time(副業タイム)」という制度を導入しており、特に勤務時間の20%を個人プロジェクトに充てるGoogleのスタイルは「20%プロジェクト」として有名です。

一方、Twitterも特定の週に従業員が会社に割り当てられたプロジェクトを離れて自分のプロジェクトに取り組む「Hack Week」を実施しています。コルネット氏は、本来の業務をしなくてもいい期間が同僚からも明確になるHack Weekの方が気に入っているそうです。

◆性別の多様性
これはあくまでコルネット氏の経験によるものなのでサンプルに偏りがある可能性がありますが、Twitterのエンジニアには女性が多い傾向があるとのこと。そのため、「バーチャルチャットルームに3~4人いるエンジニアの中で男性がコルネット氏1人だけ」という、これまでのキャリアで初めてのことがTwitterでは起きました。フェミニストでもあるコルネット氏は「これは絶対的に素晴らしいことです」と評しています。

◆管理職の技術力
これもコルネット氏が経験した範囲のことですが、Twitterのマネージャーはそれほど技術的な人ではないとのこと。一方Googleでは、コルネット氏がやった仕事のほぼ全てを、1週間か2週間後にはコルネット氏より迅速かつ巧みにできるようになっているような人がエンジニアたちを指揮していました。


◆リーダーたちとの距離感
以前のGoogleでは、毎週行われる全社会議(TGIF)で従業員とリーダーがかなりオープンなコミュニケーションを行っていましたが、最近ではあまりオープンではなくなったとのこと。一方、Twitterの「OneTeam」はまだかなりオープンですが、Slack上で行われる質疑応答のプロセスはかなり面倒だとコルネット氏は述べました。

◆ドキュメンテーションやコメント
客観的なデータがあるわけではありませんが、Twitterのエンジニアはコードにコメントやドキュメントを追加することにあまり積極的ではないそう。この点ではGoogleの多くのチームも似たり寄ったりですが、どちらかと言うとTwitterの方がひどいとのこと。

◆コードのオーナーシップと粒度
この場合の「オーナーシップ」とは、コードが勝手に書き換えられないように、コードを変更する際にはその所有者から承諾を得なければならないという仕組みです。Googleでは、このオーナーシップの粒度が低い、つまりソフトウェアのさまざまなセクションが別々の人によって管理されており、プロジェクトへの関与が長いほどオーナーシップのツリーが細分化されて複雑になるとのこと。これに対し、Twitterでは「オール・オア・ナッシング」方式が採用されており、あるアプリケーションのオーナーはどのコードでも変更できるようになっています。

◆コードレビュー
Twitterのコードレビュープロセスは迅速ですが、労力もかかるものでした。なぜなら、書いたコードを誰にレビューしてもらうかを自分で決めなければならず、依頼の際にもSlackなどを使ってはっきりと頼まなければならないからです。一方、Googleにはコードレビュー用の社内ツールが整備されており、コードに変更を加えるとオーナーシップや社員の出社状況などから自動的にレビュアーが提案されるようになっていました。

この記事のタイトルとURLをコピーする

・関連記事
TwitterがGoogle主導で開発されたウェブサイトを高速化する形式「AMP」のサポートを打ち切ることが判明 - GIGAZINE

Twitterでトランプ大統領のアカウントが復活した途端にAppleのフィル・シラーがTwitterアカウント閉鎖、イーロン・マスクとApple・Googleの戦いの始まりか - GIGAZINE

Googleが1万人以上の人員削減を進めるために社内の業績評価システムを厳しくしている可能性 - GIGAZINE

TwitterがGoogle Cloudプラットフォームと戦略的パートナーシップを拡大する複数年契約に署名 - GIGAZINE

in ソフトウェア, Posted by log1l_ks

You can read the machine translated English article here.