エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン

海外プログラマーとのリモート開発で成長するGinzamarkets「在宅チームで開発をうまくやる方法」

公開

 

米Googleから米Yahoo!に移籍し、CEOに就任したマリッサ・メイヤーが今年2月に出した「在宅勤務禁止」通達。以来、日本でも在宅勤務やリモートワークについて多くの議論が飛び交っている。

各種報道によると、メイヤーCEOは同社において在宅勤務者のVPNアクセスが少ないという実態を知り、就労意欲やチーム意識の減退を危惧。「人は1人でいる方が生産性は上がるが、集団になった方がイノベーティブになる」と語ったとされている。

「シリコンバレーのスタートアップ界隈でも、多くのVCは『ビジョンを共有するためにもできるだけチームは一緒に働くべきだ』と言いますよ。わたしたちも創業時は似たような助言をたくさんもらいました。リモートはよくない、顔を付き合わせて働く方がベターだと」

そう語るのは、米サンフランシスコに拠点を置くGinzamarketsの創業者、レイ・グリセルフーバー氏。だが、同社は現在、この“助言”に反してポーランドやイタリアに住むエンジニアたち数名とリモートでサービス開発を行っている。

Mr Ray Grieselhuber

大学時代から日本に来日し、日本でのエンジニア経験もあるグリセルフーバー氏

Ginzamarketsが海外エンジニアとのリモート開発を選んだ理由は人材採用の難しさにあった。ベイエリアはエンジニアの給料が高く、人材獲得競争も激しいため、「良いエンジニアを探すために世界に目を向けた」(グリセルフーバー氏)結果が現在の体制だ。

そんなGinzamarketsでの経験則をもとに、グリセルフーバー氏に「リモート開発をうまく回していくためのコツ」を聞いてみた。

場所に縛られず、生産的かつイノベーティブな開発チームを作るにはどうすればいいのか?

重要なのはエンジニアの質。GitHubのPull Requestを見れば分かる?

Ginzametrics-image

日本でも、千趣会やゴルフダイジェストオンラインをはじめ数々の名だたるWeb企業が利用している『Ginzametrics

Ginzamarketsが開発・提供しているエンタープライズSEO管理&分析ダッシュボード『Ginzametrics』は、圧倒的な使いやすさと値ごろな価格設定で、2010年のローンチからわずか3年で世界65カ国の企業ユーザーに利用されるまでに成長している。

多言語化も含めた機能追加・改善の速さも好評の一因。「今は幸いなことにユーザーも増えて安定化や分散処理に力を入れているが、少し前まで1日に1機能ずつ新規開発や改善を行っていた」と言うほど、開発には注力してきた。

その理由を、グリセルフーバー氏は「チェックリストを埋めるため」と表現する。ツール系サービスがシェアを拡大していくフェーズでは、「顧客が欲しいと思っているのに既存サービスができていないこと」をリストアップし、愚直に実装していくのが手っ取り早いというわけだ。

黎明期は、その作業を共同創業者として名を連ねるCTOのニック・アレン氏と2人で進めていたが、その後開発スピードをさらに上げるためエンジニアの新規採用に着手。一時期はシリコンバレーでもエンジニアを採用してみたが、理想の開発体制を築くには至らず、前述したような海外エンジニアとのリモート開発にたどり着いた。

「エンタープライズSEOプラットフォームの領域に興味を持っていて、優秀なエンジニアであればリモートでも問題ない」とグリセルフーバー氏。海外リモート開発を始めてから少しの間は毎日Skypeでミーティングを行っていたそうだが、今ではそれすら週2回に減った。それで十分に開発が回るからだ。

具体的な流れとしては、まずCEOのグリセルフーバー氏が戦略・マーケティング責任者と共に「今後3カ月でどんな機能を追加・改善するか」というグランドデザインを描き、次にCTOのアレン氏と話し合って開発ロードマップを作成。その後、アレン氏が海外のメンバーに作業を分担し、アジャイルで開発を進めていく。

『Ginzametrics』のソースコードはすべてプロジェクト共有サービスの『GitHub』上に置いているため、チームメンバーの作業進ちょくはGitHubを見れば一目瞭然というわけだ。

こうしたプロセスで開発を進める上で、大事なのは「物理的な近さより一緒に働くエンジニアの質」だと強調する。

「言われたことだけをこなすエンジニアは、小規模なスタートアップでのサービス開発にはフィットしません。優れたエンジニアは、必ずと言っていいほど『決められた作業以上の価値』を生もうとするものです」

では、どうやって優れたエンジニアとそうでないエンジニアを見極めるのか。グリセルフーバー氏は「入社後48時間の働き方で分かる」と続ける。

「例えば入社1日以内にGitHubでPull Requestをするようなエンジニアは優秀なケースが多いです。それは、ソースコードをざっと眺めた上で自ら『何をすべきか』を考えたという証拠になりますから」

「サービス開発の優先順位」を理解できないエンジニアはNG

Mr Ray Grieselhuber 02

「遠隔開発」だからこそ採用に気を遣っているというグリセルフーバー氏。過去には失敗経験も

自身がプログラマーで、創業前は1人で『Ginzametrics』を作っていたグリセルフーバー氏の、エンジニアに対する見方はかなりシビアだ。

「良いエンジニアかどうかは一緒に働いてみないと分かりません。相性というか、会社の考え方にフィットするかどうかという問題もありますからね。ただ、ダメなエンジニアは10分も話をすれば見分けられます」

そう話すグリセルフーバー氏が、採用で必ずチェックするという項目は次の2つだ。

【1】話の趣旨を、短く分かりやすく話せるか?
【2】周りのことにどれだけ目配りできるか?

【1】については、特にリモートで開発を進める上で非常に大事な要素だという。コミュニケーションの総量が少なくても、お互いに何をやるべきか理解さえしていれば仕事は回る。そのベースとして、簡潔に要点を伝える/理解する力は必須なのだ。

【2】を重視するのも、「今の状況で何をやるべきか」という仕事の優先順位を考える力が透けて見えるからだそう。

グリセルフーバー氏がこの点を強く意識するようになったのは、過去に行ったプログラマー採用で失敗をした経験があるからだ。『Ginzametrics』はRubyで作られているが、過去に「Rubyでの開発経験が豊富だ」という理由だけで海外のプログラマーを採用し、仕事の優先順位付けの点でフィットしなかったという苦い思い出がある。

「そのプログラマーは、『ソースコードが汚い』と言って、その瞬間にチームとしてやってほしかった事項そっちのけでコードを書き直していました。彼にとってはとても大事なことだったのかもしれないし、わたし自身プログラマーですから気持ちは分かります。でも、サービス開発というのは、『顧客が困っていることを解決する』のが最優先事項なのです。その点を共有できない人とは、リモートであろうと対面であろうと一緒に仕事はできません」

グリセルフーバー氏が話したような「優れたエンジニア」を問題解決型エンジニアとするなら、対極にあるのは仕様依存型のエンジニアだろう。仕様通りに作り、何か問題が起こった時には仕様のせいにする(もしくは誰かが仕様を決めてくれないと動けない)ようなタイプの開発者は、リモート開発には向いていない。もっと言えば、そもそもサービス開発の世界には不向きだ。

つまり、Ginzamarketsは問題解決型のエンジニアかどうかを採用時に徹底して見極めることで、リモートワークながら堅固な結束を保っていることになる。

米Yahoo!CEOの通告から広がった「在宅vs出社」の働き方論だが、結局はどちらの場合でもサービス開発の本質を理解して動ける人がチーム内にどれだけいるかが重要なのである。

取材・文/浦野孝嗣 撮影/伊藤健吾(編集部)