求人情報に特化した検索サービスを世界55ヶ国以上で運営するIndeedは、リクルートによる2012年の買収後も、開発者にとって仕事がしやすい環境をとことん追求するエンジニア文化を守っています。恵比寿ガーデンプレイスに移転したばかりの東京オフィスで働く同社のソフトウェアエンジニア5人に集まってもらい、はてなチーフエンジニアの大西康裕が開発スタイルや社風などについて聞きました。Indeed独自のワークスタイルに、はてな側も興味津々。知られざるエンジニア天国の実態とは? 記事の最後には、デルの27型4Kディスプレイ「P2715Q」が当たるプレゼントのお知らせもあります。
座談会出席者(上写真、左より):はてな 大西康裕、Indeedの村下瑛さん、濱田卓さん、山口有理さん、杉原啓太さん、落合徹さん
(※この記事は、株式会社リクルートホールディングス提供によるPR記事です)
■ 開発スピードを生かす秘訣は「六角形」のデスク配置
―― まず、皆さんの自己紹介をお願いします。
村下 SEMチームに所属して、広告出稿の自動化やそのツールの開発を担当しています。新卒で入社しました。
山口 給与情報を分析するサラリーチームで、企業のページからデータを集めて給与情報を抽出したり、給料を予測するアルゴリズムを書いたりしています。前職は金融業界で、5年ほどソフトウェア開発をしていました。
濱田 企業情報を集めるカンパニーデータチームにいます。求人検索エンジンの検索結果の一部として表示される会社情報のページを作っています。新卒入社です。
杉原 山口さんと同じサラリーチームです。1年前に入社しました。バックエンドの開発をしています。
落合 カンパニーデータチームに所属しています。ここにいる全員がリクルートホールディングスに所属して、Indeedに出向しているという形です。
大西 はてなの大西です。Indeedにはアメリカのテキサス州オースティンと日本、それぞれに開発拠点がありますね。どんな形で開発を進めているのですか?
山口 基本的には、各国のチームが独立して開発できる体制です。
SEMチーム 村下瑛さん
濱田 例えば、求人情報の検索エンジンはオースティンで作っています。一方、企業情報が閲覧できるカンパニーデータページの開発者は日本にいます。日本で人数が一番多いのはカンパニーデータチームですね。企業情報をさまざまな情報源から集めてきて、どのような形でユーザーに届けるのか、という点を担当しています。
大西 各国のチームが独立している理由は何でしょう? リモートだとうまくいかないなどの事例があったんでしょうか?
山口 Indeedの特色はとにかく開発スピードが速いことです。時差などでコミュニケーションにタイムラグが生じると、特色である開発のスピードにインパクトを与えてしまいます。
落合 日本に開発拠点ができる前から、スピードを重視して、1つの小規模なチームがプロダクトに責任を持つ体制でやってきました。
大西 開発の速さが特色ということですが、コミュニケーション上の工夫はありますか?
杉原 外向きに六角形でデスクを並べて、似た仕事をしている人がまとまって使っています。チャットも使いますが、デスクでくるっと振り返れば話したい相手がそこにいるので、口頭でのコミュニケーションも活発です。
六角形に配置されたデスク。座っている人も立っている人も。思い思いのスタイルでコーディングしている。
大西 はてなでも四角形の四隅にデスクを配置して、真ん中を向くと話せるようにしています。似ていて面白いですね。
落合 面白い。ほぼ同じことをやっていますね。
大西 はてなは京都と東京の2拠点体制で、1つのチームに両オフィスのメンバーが所属することもあります。時差はないですがリモートで業務を行うこともあり、ログを参照できるようにと一時期はみんなチャットでコミュニケーションをとっていました。でもテキストだけではだんだんギスギスしてしまって(笑)。口頭でのコミュニケーションも大事にしようという揺り戻しがありました。
■ Javaがメイン、Pythonも多用。「IntelliJがあまりにも優秀」
―― 利用言語は何が多いですか。
杉原 ほぼJavaです。たまにPythonを使います。
濱田 最近Java 7になったばかりです。本当はJava 8にしたいですね。
落合 Java 8で導入されたLambdaを使ってみたいです。社内で使っているコマンドラインツールはPythonが多いですね。
大西 開発環境は何を使っていますか?
サラリーチーム 山口有理さん
一同 (一斉に)IntelliJ IDEAです。
山口 Indeedに長く在籍しているDave Griffithという人が、IntelliJのコントリビュータなんです。
濱田 Vimを何年も使っていましたが、IntelliJがあまりにも優秀なので、今はIntelliJにVimのプラグインを導入して使っています。
大西 はてなではバックエンドはほとんどPerlで、サーバ管理ツール「Mackerel」はScalaで書いています。最初はVim派が多かったんですが、最近ではIntelliJ派が優勢になってきています。社内で活用しているツールは他にありますか?
杉原 チャットならGoogleのハングアウトですね。履歴を残す場合はJIRA(アトラシアン社のプロジェクト管理ツール)を使います。
落合 ドキュメントはWikiに書きます。そんなにしっかりしたドキュメントがあるわけではないですが……あっ、サラリーチームはドキュメントがしっかりしていますね(とサラリーチームの山口さんを見る)。
山口 そうですね、私はドキュメントの鬼でして。
一同 (笑)
山口 しっかりしたドキュメントがあることは大事だと思っています。前の会社でも、既存のドキュメントを白紙に戻し、整理し直して一から書くということを3つのチームでやってきました。Indeedでもドキュメントの鬼になろうと。
杉原 コードレビューでも「まずドキュメントから」と言われます。
山口 そういうやり方にしているのは、比較的新しいチームだということも大きいです。
大西 古いやり方に縛られないのはいいですね。
■ 通常ミーティングは週に1回。他の時間はコードに集中
大西 開発スピードを重視する上で、どんな取り組みをしていますか? 例えば開発フローではスクラムを活用しているとか……。
濱田 スクラムというほどちゃんとしたやり方ではありません。
山口 1つの開発スタイルにはこだわらず、それぞれのチームでやりやすい方法にしています。朝にスタンドアップミーティングをやっているチームは多いですね。
落合 ちょっとしたコミュニケーションは会話で済むので、ミーティングらしいミーティングは週1回だけです。なるべく多くの時間をコーディングやコードレビューに当てるようにしています。
カンパニーデータチーム 濱田卓さん
杉原 会社に来てから帰るまで、とにかくひたすらコーディングできる環境です。あと、デプロイがめちゃくちゃ楽です! こんな会社は初めてです(笑)。
落合 デプロイはどんな会社よりも楽ですね。そのための環境が整っています。
大西 世界規模でサービスを展開されていますが、データセンターの規模は?
落合 データセンターは8ヶ所です。インスタンス数は正確には把握していませんが、検索エンジンのフロントエンドの数が多いですね。インデックスサービスは30台くらいあります。1つのジョブサーチでも各種APIを司るサーバ群が動きます。全体としてどれぐらいサーバがあるか、開発者は把握していないです。
大西 コンポーネントがマイクロサービスのような作りになっていて、開発者はあまりそれを意識しなくて済むんですね。ボタンをぽちぽちっとするとデプロイツールが働いて全世界にホットデプロイ、といった感じですね。ユーザーさんには特に影響なく。
落合 もちろんそうです。
大西 デプロイを楽にする専用のチームがあるんですか?
山口 DevOpsチームの一部がデリバリーチームとして開発者を支援しています。デプロイツールもDevOpsチームが作ったものです。
落合 デプロイしたプロダクトのパフォーマンスを確認するツール、開発者がログを見やすくするツールもいいですね。インスタンスが突然落ちたときのコアダンプを自動保存して、簡単にダウンロードできるようにするツールもあります。
大西 技術基盤を提供する役割に専念するチームがいるのは、正直すっごくうらやましいです!!
一同 (笑)
大西 はてなの場合、技術基盤を良くするために一定の工数を使っていいことになっていて、それぞれのチームが作ったものが良くなってきたらシェアしています。それはそれで自由度はあっていいですね。でも本業に集中したいときには困ります。息抜きに技術基盤を良くする、みたいになってきて(笑)。
落合 息抜きといえば、社内ツールのコードベースは全社で完全にシェアされています。この部分がどうしてもイケてない!と思ったら、勝手に直してもいいし、Pull Requestを送ってもいい。息抜きをする自由があります(笑)。
大西 コードレビューの体制はどんな形になっていますか。
サラリーチーム 杉原啓太さん
杉原 コミットするとき、レビュアーを誰に依頼するか指定します。その人によるレビューが済んだらデプロイしていいことになっています。チームによってやり方は違いますね。
山口 サラリーチームでは、リリースマネージャーがすべてマージしています。毎週月曜にじゃんけんでリリースマネージャーを決めます。
濱田 ここのところはずっと、(山口)有理さんがリリースしてますよね。
山口 私はじゃんけんにダントツに弱い、リリースマネージャー体質です(笑)。3ヶ月ほどリリースしていないという人もいます。リリースのやり方がシンプルで全員ができるからこそ、じゃんけんで気軽に決められます。
大西 品質を高めるための工夫やCI(継続的インテグレーション)などはありますか?
山口 CIは常に回っています。
濱田 ユニットテストは書きましょう、ということになっています。カバレッジについては何も言われません。
山口 年に2回ほど、テックドリブンな仕事に使っていい期間が2週間あります。ユニットテストのカバレッジを増やす、要らなくなったコードを消すなど、自由に使えます。まとまった時間で集中できてありがたいですね。
大西 技術的負債はだんだん溜まってきますね。他の会社でも技術的負債を解消するための期間を設けるという話を聞いたことがあります。QA(品質管理)のチームもありますか?
カンパニーデータチーム 落合徹さん
落合 QAチームはあります。それとは別に、各チームに必ずQA担当がいます。標準的なチーム構成は、プロダクトマネージャー、QAが1人ずついて、エンジニアリングのリーダー、あとは2~3人のエンジニア、という形です。
大西 チームで独立する考え方がQAにも及んでいるのですね。E2E(end to end)テストはどうしていますか? Webアプリケーションだと振る舞いが複雑になりますよね。
濱田 フロントエンドテストの自動化はやっています。
落合 各チームのQAがテストツールであるSeleniumのスクリプトを書いて、リリース前にテストします。
大西 QAの人がテストを書くんですね。
山口 テストはQAの責任です。開発者は確認しなければいけない内容を決めて、QAの担当者に伝えます。
落合 IndeedはQAにも高いスキルを求めていて、テストが書けないといけません。
大西 入社してから驚いたことはありますか?
山口 毎日が楽しいということが驚きでした。ストレスがまったくない開発環境で、卓球台もテレビもビールもあるし、同僚もとても面白い人ばかり。人生で初めて、会社に来るのが楽しい日々です(笑)。
移転したばかりのオフィスには、卓球台や各種ゲーム機が備えられている。
濱田 会社に来るのも、遊ぶのも、感覚的にまったく変わりません。押しつけられることは一切ない。自分の責任で自分の仕事をしていれば、何も言われることはありません。とても楽しいです。
杉原 12時に会社に来て6時に帰っても文句は言われません。
■ エンジニア天国の秘密は「5時からビール」!?
―― エンジニアが楽しく仕事をしながらチームが回っていく秘密がもっとありそうですね。
山口 ビールですね! 毎日5時ぐらいから、一緒にビールを飲み始めます†1(笑)。
大西 ビールの効用を言語化するとどうなりますか?(笑) 楽しさが仕事に向き合う姿勢、モチベーションにつながることはありそうですね。
バーカウンターや冷蔵庫などが備えられたオープンスペース。
濱田 チームの潤滑油ですね。
山口 ベタですけど、“飲みニケーション”は大切だと思います。一緒にビールを飲んでぶっちゃけて話をして、仲良くなって、もっといいプロダクトを作りたいという気持ちが生まれて。
杉原 飲まなくてもぶっちゃけてますよ(笑)。
山口 確かにそうですね。
落合 私たちのプロダクトマネージャーは、彼自身はビールが好きじゃないんですが、「働くなら冷蔵庫にビールのある文化がある会社がいい」と言っています。
杉原 「好きじゃない」って、あれで?(笑) ほぼ毎日飲んでますよね。
山口 いつも持ってますよね。ビールをタンブラーに入れ替えて飲んでますね。
杉原 いま既に禁断症状が出てきてます(笑)。
山口 もう5時を回ってますしね†2。でもビールを飲んで仕事をしてない、なんていう人は誰一人いないですね。
―― かなり自由な文化ですね。
山口 自分の仕事をきちんとやるなら、どんなやり方でも構わないという文化です。その半面、四半期ごとに人事評価があります。そのたびに自己評価と周囲の評価、会社からもらう評価を付き合わせる。シビアな評価があるから、自由な文化が実現できているんだと思います。
杉原 評価の時期は憂鬱になりますねー。苦手ですね……。
濱田 ピアレビューをもらってしばらくは、怖くてファイルを開けない。
落合 普段から信頼関係があって、言いたいことは言い合える間柄なので、ピアレビューでもお互いについてきちんと指摘できます。
大西 四半期ごとの人事評価は、どれぐらいの期間を設けるんですか。
山口 1週間ぐらいですね。ピアレビューを義務付けているのは年に2回かな。
■ 「オーナーシップ」を持ってプロダクトを作る
―― Indeedの組織全体の風土について教えてください。
山口 チームが、プロダクトマネージャーとほぼ対等な地位にあると思います。全員が強いオーナーシップを持っています。
落合 自分たちのプロダクトのコードに関しては、自分たちで好きにいじっていい。エンジニアが変えたいところがあれば勝手に変えることができます。
はてなチーフエンジニア 大西康裕
大西 はてなの場合は、チームごとに開発フローを任せていますね。エンジニアはどのタイミングでも発案できますが、「勝手にやる」ではないので、Indeedさんほどではないかもしれません。
落合 エンジニアフレンドリーな環境としては、社内のありとあらゆることがJIRAで済むのがとても楽です。入社時のITサポート、例えば「新しい人がくるからLinuxマシンが必要です」といった話も、JIRAだけで完結します。デザイン、SEO、ABテストの分析、全部チケットドリブンです。
杉原 “チケットドリブンカンパニー”ですね。逆にチケットにないことは誰もやらない(笑)。
落合 デザイナーがメールで画像を添付して送る……といったことは他の会社でありがちですが、Indeedではどの職種の人もJIRAのようなツールを使いこなしています。心地良い環境です。
―― Indeedにおける「オーナーシップ」という言葉はどんなものでしょう。
落合 オーナーシップという概念だけじゃなく、本当にそこにオーナーシップが存在する、実感できるというか。
山口 マネージャーがいい意味でとても放任なんです。本当にすべてを任せてくれるので、自分たちでどうにかしないと、と自然にオーナーシップが生まれてきます。
―― マネージャーの役割とはどういったものなんでしょうか?
山口 堅苦しくディレクションを押し付けてくることはないです。ガイダンスをくれるような存在。参考になるアドバイスをくれたりします。
村下 ABテストの文化があることが大きいですね。ABテストの定義をしたり、その結果を見て評価・分析したりするインフラが整備されています。新しいアイデアがあったら、まず試します。インターンシップで、オースティンにある検索のチームに3ヶ月所属していたんですが、そのときに驚いたのは、質問に近い形で「こうしたらどうですか?」とアイデアを出したら、すぐ「まだそれはやっていなかった、やってみよう」と実行されたことです。
―― 先ほど「デプロイが楽」というお話がありましたが、ABテストも楽にできる仕組みが整っているのですね。
濱田 そこは、本当にすごいです。
大西 ABテストを徹底すると、エンジニアのやりたいことをどんどん実現できるチームになっていきますよね。マネージャーが判断することが減っていったりしませんか?
濱田 マネージャーの仕事は、ABテスト実施の際にタイミングや割合を決める、ABテストの結果を解釈する、例えば結果が良かったら割合を増やす、などです。
落合 ABテストの結果を読むとき、単純なことばかりとは限りません。日本では良くて米国では駄目だったら、それはどこが違ったのか。言語なのか、そうではないのか、いろいろな切り口を考えます。大きな枠組みや次の方向性を考えるのがプロダクトマネージャーの役割です。
■ 世界水準の仕事を通じ、エンジニアとして向上していく環境
山口 Indeedでは、15~20年のキャリアを持つマネージャーを採用する際にも、プログラミングの能力を求めます。コードを書ける人がマネージャーをやっている、そこが一番すごいなと思います。
他の会社では「マネジメントをやっていてここ5年コードを書いてません」という人もよく聞きますが、Indeedの場合は突然コードレビューにマネージャーが入ってきて、ここの変数はstaticにしろ、ここの正規表現はコンパイルしろ、なんて言われるんです。
落合 採用時に一定レベルのハードルがあってそれを越えないと入ってこられない、少なくとも全員あのレベルを越えてきた、ということをみんなが分かっているから安心できます。
山口 プログラミングに関しては、キャリア18年の人も新卒の人も同じ基準で見ます。
―― 腕に覚えがある若い人にはチャンスですね。
濱田 大チャンスです! 周りのエンジニアのレベルが非常に高く、リスペクトできる人しかいない!というのがとてもいい環境です。
―― 採用はどんな感じでしたか?
杉原 最初に会ったリクルートの人から聞いた話が面白かったんです。よくあるような外資サービスの日本ローカライズは行わない。オースティンの開発本社と同じで世界55ヶ国向けのサービスを開発するんだと。日本でサービスを立ち上げることもあるし、日本から世界に発信するという考え方でした。いいなと思って面接を受けてみたら、面白かったし、楽しそうだった。プログラミングの面接が僕自身すごく好きなんです。志望動機を延々聞かれるなんてことがなかったのはすごくよかったです。
落合 Indeedでは最初に競技プログラミングのような問題をオンラインで出題し、ホワイトボードコーディングをしてもらって、プログラミングに対する勘の良さ、受け答えなどを見ていますね。
―― 実際に入社してみて、日本にいながら世界水準の仕事ができている感じはありますか?
杉原 はい、あります。
大西 エンジニアのスキルアップの仕組みはありますか?
杉原 仕組みは、特にないです。
山口 自然に学んでいく感じですね。
落合 周りに優秀な人がいるので、そこから吸収していけます。コードレビューも建設的な知識を交換し合う場になっています。いろいろな提案をもらったり。目からうろこというような指摘ももらえます。そのレベルにいられることが楽しいですね。
杉原 質問したらその3倍くらい返してくれるんですよ。メンターに分からないところを聞いたら、「この話はあの人が詳しいよ」とすぐ教えてくれて。紹介された人に聞きに行ったらものすごく丁寧に答えてくれました。「調べてから聞きに来い」という雰囲気はまったくありません。聞きやすい環境が個人のスキルアップにつながっていくと思います。
大西 質問をしやすい環境は大事ですね。はてなもSlackに質問チャンネルというのがあります。ひとりで悩むより聞いた方が速いという理由で。
村下 そうですね。うちも、社内ツール専用のStack Overflowのようなものがあって、質問するとすぐに返答があるんです。
大西 面白い文化や仕組みがもっとありそうですね。ぜひ教えてください。
山口 いろいろな国のいろいろな人がいるのがとても良いことだと思います。東京オフィスには10ヶ国以上の国籍のエンジニアが集まっていて、面白い話や良いアイデアが絶えません。
濱田 コミュニケーションは英語がメインで、年齢関係なく話せるのもいいですね。
杉原 そういえば、最近は将棋が流行ってます。
オフィスで本当に将棋を指している方々が。
英語が飛び交う、活発なオフィス。
村下 少し前は卓球が流行っていました。やっぱり中国勢がむちゃくちゃ強いんです(笑)。
濱田 そういえば、すごく気軽に自宅で仕事ができるんです。働きやすくていいですね。台風や大雪だと会社に行かずに自宅で、とか。かなり気楽です。
落合 F2F(Face to Face)は重視していますが、理由があれば「家で仕事します」でいけちゃいます。申請などは必要なく、メーリングリスト宛てに1本連絡を入れれば大丈夫です。
杉原 有給休暇も、関係者に前日に連絡を入れるくらいで気楽に取っています。取得しづらいというのは一切ないですね。
山口 私は、有休がいらないと思うぐらい仕事が楽しいです。
杉原 でも有休使い切ってるじゃないですか(笑)。
―― 「仕事が楽しい」理由を噛み砕いて説明していただけませんか?
山口 仕事を通して向上しているという実感があることです。もちろん同僚と仲良くできるとか、同僚を好きである、環境が整っているなど要因はいろいろあります。その中でも一番強いのは、仕事をしているだけでエンジニアとしての向上があるという実感、充実感、達成感です。Indeedに転職した理由もそこでした。
濱田 技術的に大きな問題について適切な粒度にブレイクダウンし、解決していくことを、自分たちエンジニアの力で成し遂げていけます。
杉原 仕事の内容も、与えられるのではなく、自分の得意なもの、興味があるものを選べます。アサインされる場合もありますが、自分でチケットを作って自分で取ることが多いですね。
山口 チャレンジングな課題に日々直面し、それについて毎日考えていけることが、自然にエンジニアとして成長することに結びついています。
大西 優秀なエンジニアに囲まれる環境は本当に気持ちが良いですよね。エンジニア文化ならではの強みが伝わってきます。本日はありがとうございました。
取材・構成:星 暁雄(ITジャーナリスト)
■ デル 27型ウルトラHD 4Kモニタ P2715Q が当たるプレゼントのお知らせ!
※キャンペーンは終了しました。たくさんのご応募、ありがとうございました。
本記事をお読みいただいた方の中から、以下の「デル 27型ウルトラHD 4Kモニタ P2715Q」を抽選で1名様にプレゼント。応募方法の詳細は、下の応募要項をご覧ください。
© 2015 Dell Inc. All Rights Reserved.
- 27型 ノングレア IPSパネル
- 4K対応 3840×2160ドット(60Hz)
- アスペクト比16:9
- 視野角178度
- sRGBカバー率99%
<デル 27型ウルトラHD 4Kモニタ P2715Q プレゼント応募要項>
- 応募期間
- 2015年3月31日(火)から2015年4月13日(月)24時まで
- 賞品と当選人数
- デル 27型ウルトラHD 4Kモニタ P2715Q:1名様
- 応募方法
- Twitter連携した上で、この記事をはてなブックマークに追加
- ※プライベートモードでご利用の方は対象となりません
- 当選発表
- 厳正なる抽選の後、本記事で、当選者様を発表させていただきます
- 賞品発送
- 当選発表後、はてなよりメールをお送りし、送付先情報(送付先住所、受取人氏名、電話番号)をお聞きします
- ※プレゼントの発送は日本国内に限らせていただきます
※当キャンペーンはデルの提供・協賛によるものではありません。
■ 2015年4月14日追記:プレゼント当選者発表!
厳正な抽選のうえ、当選された方を発表します。おめでとうございます!
デル 27型ウルトラHD 4Kモニタ P2715Q:1名様
当選者の方には、はてなに登録いただいているメールアドレス宛てに、賞品の送付先情報を確認するためのメールをお送りいたします。
- ※期日までにご返信をいただけなかった場合は、再度抽選を実施し、繰り上げ当選者へ当選権をお渡しします。
- ※繰り上げ当選が発生した場合、発表は、はてなからの当選連絡をもって代えさせていただきます。ご了承ください。
[PR]企画・制作:はてな
写真:小高 雅也