地方在住でも「大規模開発」に参加できる時代の働き方と学び方

イベント
キャリア ワークスタイル
地方在住でも「大規模開発」に参加できる時代の働き方と学び方

地方で仕事をしていても気軽に良質な開発情報が得られるコミュニティをーー。

そんなエンジニアのニーズに応えるべく、宮城県仙台市が同市に拠点を置くIT企業とともに始めたITコミュニティ『SENDAI IT COMMUNE』。過去3度行われた『SENDAI IT COMMUNE』主催のイベントは、市内のみならず首都圏に住むエンジニアとのつながりも作りながら技術ノウハウを交換し合うというコンセプトのもと、仙台と東京の会場を行き来する形で開催されました。

そして3月24日に開かれた4回目の勉強会『SENDAI IT COMMUNE meetup #04 明日から真似したい!システム開発の極意:大規模複雑なシステム開発勉強会』では、東京・渋谷のTECH PLAYを会場に、「大規模開発」「リモート開発」に関するノウハウを持つ4社が登壇しました。

楽天、メルカリといった仙台に拠点を持つメガベンチャーの開発裏話の他、広告配信やモバイルゲームのような高負荷システムの開発にかかわるエンジニアの経験談も聞けるということで、多数の参加者が集まりました。

本稿では、各社の登壇者が披露した内容をダイジェストで紹介していきます。

楽天の3拠点開発に学ぶチーム構築のコツ

最初に取り上げるのは、楽天とメルカリという国内有数のECプラットフォームについての開発談です。共通項は、持てる技術力を「外部=ユーザーや出店店舗」のみならず「社内」にも発揮し、チーム一丸となって巨大サービスをより良いものにするという点でした。

まず、楽天株式会社の話からご紹介しましょう。

同社の運営するECマーケットプレイスの「楽天市場」は、サービス開始から約20年でログイン会員数9000万人以上、出店店舗数は4万5000店以上という一大プラットフォームに成長しています。

楽天のECカンパニー、ECビジネスエンパワーメント課の875(Hanako)さんは、こうした数値を誇る楽天市場を支えているのは、東京・大阪・仙台にある開発チームの努力の賜物だと語ります。

フリーランスエンジニアや海外勤務を経て楽天に入社し、現在は主に社内事業部をサポートする各種ツールの開発を主導する875さん。

ただ、日々「外向け」のシステム改善に努める一方で、社内の従業員をエンパワーメントするようなツールの開発までなかなか手が回らず、未整備のままだったと言います。

そこで875さんは、ビジネスグロースエンジングループのプロダクトオーナーとして、ECコンサルタント(出店者の売上促進を支援する営業担当者)のデータ活用をより簡単にするような社内ツールの開発に取り組みました。

前提として、楽天市場では2013年以降に起きた「二重価格表示問題」を受けて、データの管理・解析のやり方そのものを見直すように動いてきました。例えば商品数の「価格表示履歴」をリアルタイムに解析するべく、Hadoop Clusterなどを使った「ICHIBA DWH(楽天市場の各種データを蓄積・解析するデータウエアハウス)」を改修したそうです。

この「ICHIBA DWH」の改修を機に、これまでECコンサルタントがExcelでやっていた分析業務を自動化したり、店舗ごとの売上など各種データを取得・閲覧しやすくしたりするツールの開発が始まりました。

「ツール開発のきっかけは、事業部側(非開発部門)との雑談でした。それをICHIBA DWHの改修を主導した仙台オフィスのエンジニアチームに共有した結果、東京・仙台間でリモート開発をしようとなったのです」(875さん)

その後、大阪のチームも含めた3拠点開発に拡大し、約3年間、開発~改善を続けてきた875さんは、リモート開発におけるチームビルディングのコツをこう話します。

「振り返ってみて一番大事だったのは、プロジェクトのキックオフで仙台オフィスに行った時、全員で『Working Agreement』を決めたことでした。ここで、意思決定のやり方をみんなで話し合い、開発途中で何かモヤモヤすることがあったらすぐにZoomで直接会話するように握り合ったんです」(875さん)

このプロジェクトでは、グループチャットとしてHipChatやViberなどを、ビデオカンファレンスにはZoomを使っているそうです。ただ、ツールはあくまでツール。導入するだけでなく、使いこなす上での雰囲気を醸成しなければ、円滑なコミュニケーションは生まれません。

そこで、「何か思うことがあったらチャットではなくビデオ通話で会話する」、「遠慮なく何でも話すようにする」というような決まり事を事前に共有することで、リモート開発で起こりがちな孤独感を軽減することに成功しました。

「日々対面しないリモート開発でチームビルディングをする際は、いつも以上に細かな点にも配慮しなければなりません。例えば私の場合、髪を切ったのに誰からも何も言ってもらえないとちょっとモヤモヤしますし(笑)、一緒に飲みに行けば解消するような不満も知らぬ間に大きくなっていきます」(875さん)

そのため、社外の勉強会で学んだことを定期的に共有する機会を作るなど、業務以外のコミュニケーションも積極的に取るように心掛けてきたと言います。

「加えて、プロダクトオーナーが適当にふざけるのも大事だと思っています。『実は楽天市場でこんな面白いキーワード検索がよくされているよ』といったデータをチャットするだけでも、コミュニケーションのきっかけが増えるので、意外と重要なんです」(875さん)

メルカリ流「SRE」の役割と持つべき視座

続いて紹介するのは、2013年のサービス開始以降、アプリDL数が全世界で1億、アイテム出品数が100万品を超えるフリマアプリ「メルカリ」を開発した株式会社メルカリの佐々木健一(ささき・けんいち)さんのお話です。

佐々木さんは、株式会社メルカリでSRE(Site Reliability Engineer)というサービスの信頼性を主眼にインフラを扱うチームに所属しています。この日は、同社のCS(カスタマーサポート)をはじめとする社内向け開発の取り組みを紹介しました。

メルカリでデプロイ自動化やインフラ系その他を担当する佐々木さんは、昨今のWeb開発で注目されるSREの観点から直近の取り組みを語った

メルカリは現在、日本(東京、仙台、福岡)と米サンフランシスコ、米ポートランド、英ロンドンに拠点を展開しており、仙台オフィスがメインとなるCSが半数以上を占める組織構成になっています。

そのため、SREチームではCS向けのサポートツールの開発・拡充に注力しており、これまで独自のSNS監視ボットを作ってアクティブなサポートを可能にするような取り組み(例:Twitterアカウント「@mercari_assist」がメルカリの使い方に困っているユーザーに直接リプライするなど)を行ってきました。

「こういった施策は、メルカリが掲げるバリューの一つ“All for One”に準拠したものです。これは『全ては成功のために』とも表現される、メルカリが大切にしているバリューなので、当然、SREとしてもこの視点に基づいた取り組みを加速させてきました」(佐々木さん)

同社の開発では、プロダクトマネジャー≒ビジネスディベロップメントの観点、CSの観点、エンジニアの観点それぞれで企画〜開発〜運用の各ライフサイクルに参加できるようになっているそうです。そのため、上記のようなCS観点の開発も、サービスの開発・改善と同じレベルの重要度を持って扱われます。

また、多拠点に渡るようになった今では、社員同士のコミュニケーションをいかに円滑にするかも大事なポイントになっているそうです。

「社内コミュニケーションはJIRA、Slack、Crowi、Googleハングアウトなどのツールで統一しています。大事なのは、エンジニアだけでなく社員全員が同じツールを使うように整備すること。そうすることで、社内の申請・承認作業などもスピーディにできるからです」(佐々木さん)

この「社員全員が使う」という考え方は、各種データの閲覧・分析作業にも反映されており、個人情報などを自動かつリアルタイムで匿名化する独自データベース(社内では「アノニマスDB」、通称anon-DBと呼ばれている)も構築しています。

「これによってどの部門の社員でもデータを自由に触れるようになり、“データの民主化”が促されました。サービスも組織も急拡大している時期だからこそ、エンジニア向けだけでなく全社最適のシステム開発が大事になると感じています」(佐々木さん)

「地方で生きたノウハウは学べない」はもう過去の話

では、大規模開発におけるこういったリアルな経験談を、地方でよりカジュアルに見聞きするにはどうすればいいのでしょうか?

仙台市に開発拠点を持つ株式会社オプトのCTO平岩二郎(ひらいわ・じろう)さんや、インフィニットループ執行役員・仙台支社長の澤田周(さわだ・しゅう)さんは、やはり「地元のエンジニアコミュニティを探し、有効活用すること」を上げていました。

ネット広告代理店として知られるオプトで、グループの開発チームを束ねたOpt Technologies(同社グループのエンジニア仮想組織)の組織づくりを推進する平岩さん

この日の登壇では、市場全体の成長率が直近110%を優に超えるインターネット広告を支えるアドテクノロジーの仕組みを解説した平岩さんが、オプトが「発起人」の1社となっているコミュニティ『タガヤス』について話してくれました。

このコミュニティは、「宮城を、耕す」をコンセプトに地域のIT企業やエンジニアが集まり、地産地消の技術イベントとしてノウハウを共有し合うことを目指しています。

「そもそもアドテクノロジーはよく分からないという方も非常に多いのですが、こういったコミュニティを通じてどんどん情報発信をしていくことで、少しでも業界の発展、地域の発展に貢献できればと考えています」(平岩さん)

同じく『タガヤス』の発起人の1社に名を連ねるインフィニットループの澤田周さんも、地域コミュニティの持つ可能性を次のように話します。

「よく『地方には良質なコミュニティがない』などとブログに書かれたりしますが、少なくとも最近は、決してそんなことはないと強く実感しています。リモート開発の普及などで、豊富な見識を持つエンジニアが地方でも増えているからです」(澤田さん)

地元の北海道では技術者メタコミュニティ「LOCAL」を立ち上げるなど、一貫して「地方で働くエンジニアの生き方」をテーマにコミュニティ活動をしてきた澤田さん

実際、仙台と北海道・札幌市の2拠点で開発を行っているインフィニットループの場合、開発規模が日増しに大きくなりつつあるモバイルゲームのサーバ開発・運用にリモートで参加するケースが増えているそうです(代表作はスクウェア・エニックスが提供する戦国体感ゲーム『戦国IXA』や、gumi、オレンジキューブの運営する『クリスタル オブ リユニオン』など)。

そこで得たゲーム開発やリモート開発のメソッドをコミュニティに還元することにも積極的だと言います。

また、20名程度のエンジニアが在籍しているオプトの仙台ラボラトリも、同社の提供するアドテク・ソリューションのうち「レポート自動化ツール」の開発などをメインで行っていると平岩さんは言います。単なる「首都圏が主導する開発の一拠点」ではないため、生きたノウハウを持つエンジニアが在籍しているそうです。

こういった経験を持ったエンジニアが『タガヤス』や『SENDAI IT COMMUNE』のような地域コミュニティを活性化させていくことで、首都圏と地方都市の差も少しずつなくなっていくと予想されます。

「ちなみに、インフィニットループは会社としてコミュニティ活動を推奨しているのですが、その際の注意点はきちんと『業務』として認めること。そうすることで、例えば『家庭があるから勉強会の資料づくりまではできない』というエンジニアにも参加してもらう機会を増やすことができます。コミュニティ活動を通じて一人一人の学ぶチャンスが増えれば、組織全体としてレベルアップしていくこともできるでしょう」(澤田さん)


メルカリ 佐々木さん、オプト 平岩さんの当日の発表資料はこちらのページに掲載されていますので、是非ともご覧ください。

関連するイベント