ツイッタージャパンは、東京・赤坂にある同社にて4月3日、ツイッターの技術に興味のあるエンジニアを対象に“Twitter Tokyo Open House”を開催した。当日は暴風雨にもかかわらず30人ほどの開発者が参加。
鳥が集まってきそうなイメージ |
↑ツイッター東京オフィスの入口。ナチュラルな木でデザインされた壁面と木のロゴ、絨毯の模様も枯れ枝。 |
最初に、サンフランシスコ本社から来日した、エンジニアリングディレクターのロブ・ベンスンさんがツイッターを支える基幹技術について解説。1日あたり3億4000万のツイートが飛び交い、1億4000万人のアクティブユーザーが利用するツイッターの巨大インフラを支える、バックグラウンドの仕組みをつくるのがベンスンさんの担当だ。
Twitterの基幹部分を支えているのはこの人! |
↑『JavaOne Tokyo』で講演するため来日されたロブ・ベンスンさん。バックグラウンドを支える技術について説明してくれた。 |
ツイッターサービスを構成する各種仕組みを詳しく見ると、データベース部分にはMySQL(オープンソースのリレーショナルデータベース)、フロントエンドはRuby on Rails(オープンソースのウェブアプリケーションフレームワーク)、バックエンドはJavaとScala(スケーラビリティーにすぐれたオープンソースのプログラミング言語)と、オープンソースのリソースを多数利用している。
「Twitterをインフラとしてさまざまなアプリに組み込んでどんどん使ってもらいたい」と述べ、「開発者の皆さんには、具体的にどのサーバーに処理をさせるのかといったわずらわしい問題を考えないで済むようなAPIを提供すべきと考えています」と語った。
続いて、エンジニアリングの山本裕介さんが、オープンソース界における同社の貢献について説明。先のベンスンさんの話に出たように、ツイッターはさまざまなオープンソースのプログラムを利用しているが、一方、ツイッター社内で開発したプログラムの成果を、オープンソースとして公開もしている。ツイッター社が公開するオープンソースの例として、CSSフレームワークの『Bootstrap from Twitter』や、Javascriptのテンプレート『Hogan.js』などを紹介した。
オープンソース界にも貢献 |
↑オープンソースのリソースを利用するだけでなく、同社で開発した成果を多数オープンソース化している。ツイッターは“技術の会社”であることをアピールした山本さん。 |
最後にエンジニアリングの蓑輪太郎さんが、ツイッターエンジニアの一日を紹介。アメリカ本社と時差があるため、週イチの電子会議は朝8時半(サンフランシスコの午後4時半)から行なわれるんだとか。会議は30分ほどで終わるので、そのあとはすかさずメールのチェック。朝のタイミングであれば、サンフランシスコ本社にいる社員が帰宅する前に返事がもらえるかもしれないからだ。
開発機材はMacのノートPC |
↑Twitterの社員は全員マックユーザーなんだそう。互いに区別するため、ステッカーなど貼って自己主張しているらしい。 |
午後は会議などに中断されることなく、ひたすらコード書きと見直しに専念──というまさに開発者冥利につきる環境。さらに、毎週金曜日には、お酒やお茶を手にコミュニケーションを取る“Tea Time”という集まりがあるんだそう。
以前はサイボウズ・ラボ株式会社でミドルウェアの開発をしていた蓑輪さん。「ここでは、自分の書いたコードが、2人以上のレビュワーに評価されて承認されれば、早ければ次の日には一般公開されます。そのスピードが以前の仕事とはまったく違う。」と語る。
Twitterエンジニアの仕事の流れ |
↑プロダクトマネージャー(PM)と話して、どこを開発するか決め、コードができたら評価者(レビュワー)のチェックを受け、合格したら試験を経てリリース、といった順番に進めていく。 |
コード評価にはReview Boardを利用 |
↑プログラマーが書いたコードをほかの人がチェックする際は、Review Boardを使用。修正前と修正後のソースコードを並べて見られ、差が一目瞭然。 |
まわりの人たちの才能がスゴイ! |
↑社内事情を説明してくれた蓑輪さんは、入ってまだ数ヵ月だそうだ。「まわりにすごい技術者がたくさんいて、しかもフレンドリーなのでとても刺激的」とのこと。 |
ちなみに以前、レッドハットで働いていた山本さんは、オープンソースのツイッターJava用ライブラリーのコードを作成していたところ、「だったらうち来る?」とスカウトされたという。「プログラムのどのソースコードも見られるし、手を加えようと思えばできる。このオープン性とフラットさはなかなかすごいですよ」という言葉が印象的だった。
懇親会はピザとビールで乾杯 |
↑講演のあとは、立食パーティー! |
熱心な参加者たち |
↑懇親会でもベンスンさんの回りには熱心に話を聞く開発者の方々が集まっていた。ベンスンさんはホワイトボードにTwitterサービスの図をさらさらと書き込みながら説明。非常に贅沢な時間だ。 |
●Twitter社内では、こんなツールが使われている!!!!
Twitter社内で実際に使われている、ツール類の数々を教えていただきました。プログラム開発にかかわる人は、参考にしてみては?
・GitHub(ソースコードのバージョン管理システム)
・JIRA(バグトラッキングやプロジェクト管理)
・Review Board(ウェブブラウザーで動作するコード評価システム)
・Google Chat(社内チャット用)
・Jenkins(プログラム統合ツール)
・Confluence(ウェブブラウザーで動作する企業向けウィキ。ドキュメント作成用)
そのほかにも非公開の内製ツールがいろいろあるんだとか。「社外には見せられないんですけど、それもカッコいいんですよー!」と蓑輪さん。うーん、見てみたい!
(4月9日16:40追記:蓑輪さんと山本さんの職歴を間違って記載しておりました。お詫びして訂正いたします。)
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります