米Twitterエンジニア採用&TwitterJapanエンジニアが語る開発現場のリアル【独占インタビュー】
11月17日に行われたTwitter主催の開発者向けイベント『Tokyo Developer Teatime』。本社エンジニアリングチームによる最新技術の発表のほか、日本語による開発者サポートを拡充する旨が表明されるなど、会場は期待感で満たされた。
中でも編集部が注目したのは、日本での採用を強化していくという発表だ。そこで、米Twitter社でエンジニア採用を担当する上田学氏(@gakujp)と、日本での窓口役を務めるTwitter Japan山本裕介氏(@yusukey)の下を訪ねた。
「Twitterを通じて日本のエンジニアの世界進出を手助けしたい」
上田Twitter全体の中でも日本のユーザーが占める割合は多いですし、非常にアクティブ。文化的にもTwitterとマッチしている国の一つだと感じています。Twitter社としても、この相性の良さをビジネスとしてさらに発展させていきたいのですが、日本のユーザーをよく理解するエンジニアの数がまだ足りません。
今後採用していきたいのは、隣に座っている山本のように日本国内のデベロッパーさまをサポートするエンジニアと、サンフランシスコ本社でTwitterの中枢に入り込んで開発に携わるエンジニア。この両方で、日本のニーズを正しく理解できる日本のエンジニアの力を必要としています。
加えて言うと、Twitterを通じて、日本のエンジニアの世界進出を手助けしたい。そんな思いも抱きながら、採用を進めています。
上田 わたしの前職はGoogleで、『Googleマップ』の開発などに携わっていました。Twitterに転職したのは今年の6月。サンフランシスコのTwitter本社で、現在はエンジニアリング・マネジャーとして採用や組織づくりを担当しています。
山本 わたしがTwitterとかかわるようになったのは、2007年5月ぐらいからです。当時はまだ、Web APIはあってもJavaから簡単に呼び出せるライブラリがなかったので、自分で非公式ライブラリの『Twitter4J』を作って公開したんです。
ただ、その当時から今年の9月に入社するまでは、あくまでもオープンソースデベロッパーとしてのかかわりに過ぎませんでした。BEAシステムズやノルウェーの検索エンジン会社ファストサーチ&トランスファ、Red Hatといったエンタープライズ系の会社に在籍しながら、ライブラリ開発者としてTwitterのデベロッパーコミュニティを支援していたんです。
で、今年になってたまたま声をかけていただくチャンスがあり、日本法人のデベロッパーアドボケイトとしてジョインすることになりました。
「アイデアを形にする、という意味では”歌って踊れる人”ばかり」
上田 よくわたしたちは「フルスタック」と言っているんですが、Twitterのエンジニアに多いのは、いわば”歌って踊れるエンジニア”です。もちろん、特定分野のスペシャリストもいるのですが、大部分はフロントエンドの開発もできるし、必要とあればバックエンドの開発もできるというエンジニアなんです。
「一輪車に乗れ!」と言われれば乗るし、「歌え!」と言われれば喜んで歌う(笑)。まぁ、これはあくまでも比喩表現ですが、とにかく「アイデアを形にする」という点であらゆる手を尽くすことをいとわないエンジニアが多いですね。
山本 それと、エンジニアが集まって一斉に同じテーブルで開発するようなスタイルを取ることが多いので、オフィスはかなり騒がしい(笑)。個室での仕事や、分業体制に慣れた人は、想像以上に面食らうかもしれません。実はわたし自身、入社した直後は「おぉ!」と圧倒されましたから。
上田 それに、開発部門にはインフラ担当とアプリ担当という大きな括りこそあれど、そこに聖域はありません。誰でも自由に意見が言える環境なんですよ。
山本 アプリ開発に関して言えば、Twitterのエンジニア全員が、すべてのコードにアクセス可能です。誰でもバグ報告を上げたり、新しいアイデアを上げたり、その気になれば修正コードを上げることだってできる。わたしがスゴいと思ったのは、以前在籍していた会社では、サブシステムやコンポーネントごとに担当が決まっていて、担当外のことに口出しするのはタブーでしたが、Twitterでは口出しする人が仮にエンジニアでないとしても、正当な主張なら受け入れられるオープンさとフラットがあるんですね。
上田そうかもしれません(笑)。
「RailsからScalaへの移行に、開発陣のDNAが表れている」
山本 すでにTwitterには何億人ものユーザーがいるので、新しいアイデアがあっても、ユーザー全員にスケールすることが可能か、もしくはどうしたらスケールさせることができるかを考える必要が出てきます。そのため、エンジニアに望まれるのは、新しいアイデアを出しつつ、「ここは非同期処理で」、「ここは分散させて」と、エンジニアリングとして実用に堪え得る具体策を提示、開発する能力になります。
秒間数百から数千におよぶTweetを処理するために作った非同期処理コンポーネントの『Kestrel』(Scalaで書かれたオープンソースのメッセージキューサーバ)なんかが代表的ですが、そういったフレームワークやツールは整ってきているし、オープンソースとしてどんどん公開もしている。
開発しやすくなってきているとは思いますが、やはり変化のスピードが尋常じゃなく速いので、人によっては順応するのが難しい場面も出てくるでしょうね。
上田 付け加えると、たとえ同じ職種でも、今やっていることと来年やっていることがだいぶ違うかもしれない、という面も難しさかもしれません。例えばこの1、2年で、Twitterのバックエンド開発はRuby on RailsからScalaにどんどんシフトしています。このことからも分かる通り、最新技術を取り入れるスピードは、ほかのどんなBtoCサービスと比べても非常に速い。
つまり、ある技術で尖がったものを持っているエンジニアも、時にそれを捨てて、新しいものにチャレンジすることが求められる世界なんです。
ですから、常に技術トレンドをキャッチアップして自分で腕を磨いていく努力が求められる。いつまで勉強しても終わりがないので、新しいことに取り組むのが苦手な人にとっては、ちょっと難しい会社だと思います。
上田 エンジニアとして足腰が強くて、手が動く人(笑)。習得済みの技術力を誇る人よりも、新しい技術をどん欲に吸収して、自分のものにしていく力がある人ですね。
それと、一人で部屋に閉じこもって仕事をするタイプでなく、多くの人とコミュニケーションしながらモノを作れる人。Twitterでは、採用に際して8回~9回の面接を行うのですが、面接官はすべてエンジニアです。ポジションやチームは関係なく、エンジニアの視点を通して一緒に仕事ができる人かどうかを確認します。
さっきお話したように、ウチの開発部門は「カオスの渦中」ですから、そこに飲み込まれず、多くの人と関係を持ちながら自分の意見を主張できる人が理想です。
山本 オープンソース活動に熱心な人などは、親和性が高いかもしれません。コミュニティを通じて、多くの人とのかかわりの中で開発してきた経験がありますから。
極端な話、応募者がどんなスキルを持っているかは、レジュメよりもgithubのアカウントなどの方が参考になることが多いです。どんなプロジェクトにかかわってきて、どのようなポジションにいたかではなく、手を動かしてプログラムを書くことができ、かつ自分でサービスを企画・実現するまで持っていく素地があるかどうかが表れますからね。まさにこの点を重視しているんです。
上田 まとめると、技術屋としての実力が伴っていて、Twitterというサービスに世界を変える可能性を感じていている人。そして、「自分の力でTwitterをもっと良くしてやるんだ」っていう情熱がある人と働きたいですね。
取材・文/武田敏則(グレタケ) 撮影/小林 正
RELATED関連記事
RANKING人気記事ランキング
米国優位が揺らぐ?ひろゆき「CPUの進化でGPU神話って崩壊しません?」【AI研究者・今井翔太が回答】
NEW!
表面的なテクニックより「基礎基本の重要性」に気付かされた一冊【Node.js 日本ユーザーグループ代表・古川陽介】
AWS認定資格10種類を一覧で解説! 難易度や費用、おすすめの学習方法も
NEW!
正論モンスター化に要注意!ぎくしゃくしない「ミスの指摘」のコツ【澤円「コミュ力おばけ」への道】
社会で成功するゲーマーに、ひろゆきが聞く「現実世界を攻略できないゲーマーに足りないものって何すか?」
JOB BOARD編集部オススメ求人特集
タグ