エンジニアをサポートするエンジニア~RMP内製開発の強さ・魅力~【前編】

 先日、マンガでわかるGit」「わかばちゃんと学ぶWebサイト制作の基本」の著者である湊川あいさん( @llminatoll )にエンジニアサポート組織の開発支援グループを取材頂きました!座談会形式でRMP内製開発の強さや魅力について語っています。前後編の二部作、まずは前編をご覧ください!


エンジニアをサポートするエンジニア? 開発支援グループとは・・・?

リクルートマーケティングパートナーズ(以下RMP)には、珍しいグループがあります。
「開発支援グループ」と呼ばれているそれは、社内の凄腕エンジニアが有志で作ったチームで、なんと、日々プロダクト開発を行うエンジニアを強力にサポートしてくれるというのです。

まさに、エンジニアの・エンジニアによる・エンジニアのためのチーム!

今回のインタビューでは

・開発支援グループができた背景

・開発支援グループが実際にやっていること

に迫ります。

(取材・文章:湊川あい)


【登場人物(写真左から)】

竹迫良範(以下竹迫):
リクルートマーケティングパートナーズ プロダクト開発部 部長

相野谷直樹(以下相野谷):
入社2年目
mixiからRMPに入社後、スタディサプリENGLISHスタディサプリ英単語インフラを担当。2016年4月に開発支援グループを市川氏と立ち上げる。
アプリのテスト自動化、インフラまわりで障害が起きたときの対応など、「開発チームのエンジニアを支える」エンジニア。

大島雅人(以下大島):
入社3年目
担当プロダクトは、スタディサプリENGLISHうさぎノートのインフラ・iOSなど広く担当。

池田裕介(以下池田):
入社1ヶ月目
より「自分が使ってみたい」と思えるサービスに携わりたいと思い、2016年12月、サイバーエージェントからRMPに転職。
現在は、保育園と保護者をつなぐコミュニケーションアプリkidslyのサーバサイド・インフラ全般を担当。

市川純(以下市川):
入社3年目
開発支援グループにて、複数のプロダクトのインフラを担当。
新規プロダクトを立ち上げる際の環境作成も行う。
担当プロダクトは、主にリクナビ進学アプリゼクシィキッチンkidslyなど。


内製エンジニアの価値をより活かせる環境へ

竹迫
僕がRMPに入社した時(2015年9月)は、エンジニア組織は27人だったんですけれども、現在(2017年1月)では倍以上の70人にもなりました。

元々は、開発グループは1つだけだったんです。
僕は内製エンジニアの価値をより活かせるような環境を作りたかった。
なので、そこから1年弱で、開発グループを2グループ・3グループと増やし、さらにデザイナーやデータ解析のグループも作りました。
そのひとつとして「開発支援グループ」というものを2016年の4月に発足しました。

相野谷
開発支援グループは、プロダクトを直接開発することはなく、開発のための開発をするチームですね。エンジニアが「これ便利だね」と言ってくれるものを作り、喜んでもらうのが好きで、やり始めました。


開発支援グループが出来たきっかけ

竹迫:
相野谷さんが、「今後基盤開発をしたい」と1年前ぐらいに言っていたのがきっかけだったと思うんですけれど、覚えていますか?

相野谷:
はい、覚えてますよ。
当時、僕はプロダクト開発の中で一エンジニアとして仕事をしていました。

サービス開発に全力で打ち込める環境はもちろん楽しかったのですが、目先の問題を解決することでどうしても手一杯になってしまうことに問題意識を持っていました。

業務で発生する些細なシステム運用対応のようなタスクは、どんどん自動化しておきたいと思いつつも、まぁ今だけなら手作業でやってしまうか…と、その場しのぎで消化してしまうということに、インフラエンジニアのはしくれとして罪悪感がありました。

そういうことを繰り返していると、細々としたタスクに取られる時間が雪だるま式に増大して、サービス開発に集中できる時間が減るという悪循環が発生してしまいます。

そんな時、ふと前職(ミクシィ社)のことを思い返しました。前職では、テストやデプロイの高速化など、開発に潜む広範的な問題を深いレベルで行っていく専門チームがあったんです。

自動化という領域にとどまらず、細かい設計方針に対しても親身に相談に乗ってくれ、日頃の開発に安心感をもたらしてくれる本当に頼もしい存在でした。弊社の開発組織も規模が大きくなり、開発プロダクトが多くなってくる中、あの専門チームがうちにも作れたらいいなぁという思いは日に日に強くなっていました。

竹迫:
前職での経験がチーム立ち上げのきっかけを生んだんですね。弊社でも、開発支援グループが組織横断チームとして開発の中での課題を拾っていけるよう機能させていきたいです。

最近、巷ではSREという概念が取りざたされていますが、開発支援グループには、日頃の改善を通してプロダクトの信頼性を縁の下から支える役割を果たしてほしいと期待しています。

市川:
今、RMPは新規事業をどんどん作っていくフェーズにあるんです。
社内にスタートアップが複数あるという状況ですね。
すると、あるチームで失敗したことが、別のチームでも同じ失敗をしてしまう、という状態になりがちなんです。改善を回す前に、次の問題が起きてしまう。
でも、開発支援グループが出来てからは、各チームの情報が一箇所に集まり、クリアになってきていますね。

竹迫:
現在大島さんは、うさぎノートのインフラのお手伝いに入っている感じですか?

大島:
はい。メディアテクノロジーラボ(以下MTL)から引き継いでやっています。

MTLというのは、「リクルートホールディングス」の新規事業開発組織です。 MTL内で、うさぎノートという事業が結構成長したため譲渡という形で、今回RMPにプロダクトが移ってきました。

引き継いだからには、よりよい状態にしたいと思いInfrastructure as Codeを維持する強い心を持って、インフラ面である環境構築や保守を行っています。


開発支援グループのおかげで、各チームの共通問題を防げるようになった

竹迫:
開発支援グループの皆様から見て、プロダクトの成長フェーズがある程度のところに到達すると、同じタイミングで同じ失敗が起こるものでしょうか?

市川:
はい、そうですね。
例えばよくあるのが、サービスの有効期限。すっかり忘れた頃に期限が切れたりしますよね。

竹迫:
SSLとか。

市川:
長いプロダクトだと人の入れ替えもあるので、知らずに権限を消しちゃって、使えなくなることもあって。
そのあたりの間を埋める役割も開発支援グループが担っていますね。

大島:
開発支援グループは、いろんな各開発グループのSlackのチャンネルに入っていて。

相野谷:
失敗しそうなタイミングを予期して「前にこういうことがあったよ」と、スッと提案したりしています。
"歴史を語り継ぐ者"みたいな。

(一同:笑)

竹迫:
あと、プライベートなチャンネルを、どんどんパブリックにしていこうという方向で動いていますね。

― すべてのチャンネルを横断的に見るのは、目が足りないということはありませんか?

大島:
主にメインのプロダクトのチャンネルを見つつ、全体的にも薄目で見つつという感じですね。
僕の場合、スタディサプリENGLISHをメインで見ていて、他のグループのチャンネルも日々俯瞰して見ています。

竹迫:
池田さんは、今の話を聞いてみて、前職と課題感が似ているところってありますか?

池田:
はい。問題意識は似ていると思います。

池田:
前職(サイバーエージェント)で仕事をしていて、提供しているサービスが次々とスマホにシフトしていく中で、同じような悩みがあって。

やっぱり、新規サービスを次々作っているフェーズでは、車輪の再発明をしてしまいがちですよね。実際、私も前職でプラットフォーム側を担当していて、こんな機能を提供したらもっとみんな楽になるのでは?と考えることがたくさんありましたし、工夫すれば再利用できそうなものもたくさんありました。

会社ごとの文化に合った方法を考えて、自分たちでやっていくというのが大切なのかなという気がします。

竹迫:
今までの話を聞くと、皆さんインフラエンジニアというベースがありながらも、アプリの開発やQAのテストの部分なども、幅広く見ていますよね。
相野谷さんはサーバサイドを担当しながらも、QAを課題として感じたところもあったんですか?

相野谷:
そうですね。OpenSTFを導入するという背景で「QAをちゃんとしていかないとね」という話がありました。

なぜその立ち上がりが起きたかというと、過去、スタディサプリでは人数が少なかったのでテストが後回しになってしまいがちだったんです。起動しただけで落ちるという、エンジニアとして恥ずかしいバグがあるままリリースしてしまったこともあって。

今後はそんなことがないように、サーバサイドとしての自分というよりは、プロダクトを作る者としての責任感的なところから、QAにも関わっていくようになりました。

この事例はmeetup#3~開発のための開発~にて、【スマホアプリ向けe2eテストの検証導入事例を通じて~ // Speaker Deck】として発表しています!

竹迫:
本来の自分の役割を超えてやっているということですね。


エンジニアが、自分の担当プロダクトに集中できる環境へ

竹迫:
今、開発支援グループはエンジニアを集めているんですけど、実は総務系の人材もいまして。
情報システムを見てくれたり、採用面でインタビューの場を設定してくれたり。社内活性のために、エンジニア向けイベントや勉強会の企画もしてもらっています。
RMPの開発支援グループは、直接のプロダクト開発に関わらないことすべてを引き受けているという形ですね。

― そのおかげで、エンジニアは自分の担当プロダクトの開発に集中できるということですね!


エンジニアが楽しめる場を! IoTハッカソンを開催

竹迫:
開発支援グループの活動の一環として、ハッカソンもやっています。
市川さん、会議室IoTハッカソンをやっていましたよね?

参考:
会議室利用をIoTを使って快適にしたい | 市川氏 SlideShare
リクルートマーケティングパートナーズのエンジニアが作ったIoTいろいろ |NET BIZ DIV. TECH BLOG

市川:
はい。チームとしては相野谷さんや大島さんもいて。
面白いものを一から作ってみようということで、普段自分が担当していない技術に挑戦してみました。
大島さんは、Raspberry Piをやったり。僕は、普段はインフラ側なんですが、Railsのソースを書いたり。
相野谷さんは、テスト環境や、データを引っ張ってくるための環境を作ってくれたりしました。
IoTは趣味としても好きな分野なので、楽しかったですね。

竹迫:
月に1回ほどオープンスペースに集まって、みんなでワイワイ開発していた感じですか?

市川:
そうですね。最初のハッカソンである程度完成したので、そのあと徐々に細部を詰めて行きました。

竹迫:
このハッカソンは、開発グループだけじゃなくて他の人も参加していましたか?

市川:
はい、他のプロダクトを作ろうとしている人も含めて20人ぐらいいましたね。



個人で作ったツールを皆に使ってもらうことも

竹迫:
ハッカソンとは別で、個人で作ってオープンソースで公開している人もいる、という具合です。
そういうのは結構推奨していますね。

相野谷:
はい。個人で作ったものを「これどう?」と提案して、皆に使ってもらっています。
また、他のエンジニアが提案してくれたツールを、開発支援グループが取り入れて、社内に広めたりもしていますね。

竹迫:
「開発支援グループの人だけしかやっちゃいけない」というわけではなくて、エンジニアなら誰でも主体的にその活動に参加できます。RMPにはそういう空気がありますね。

入社直後でも、スムーズに仕事に入っていけた

池田:
RMPは、Confluence に、 ドキュメントがしっかりまとまっているので、入社直後でもスムーズに立ち上がっていくことができました。

Confluenceは、誰か特定の人が書いているわけではなく、メンバーが各自、 気付いたときに書いてくれているんですよね。
そういう文化ができているのが、すごいなぁと感じました。

大島:
もともとそういう文化があったところに、さらにそれを管轄する開発支援グループができたので、より整備されてきましたね。
新しく入社する人は、入りやすいと思います。


楽しみながら作る 管理作業のDevOps

竹迫:
管理作業のDevOpsはあるんですか?

大島:
はい。「Slackの二段階認証をしてください」と連絡するものの、皆さん他の業務もあって、大体してくれないんですね。
なので、二段階認証をするまでDMを送り続けるスクリプトを作りました。(一同笑)

大島:
手作業でDMを送るのは手間がかかりますからね。自動化です。他にも、こんなこともしました。
以前は、パソコン1台の予算が20万円以下だったんです。
そこで「資産扱いにすることで、20万円以上のパソコンも買えるようにしよう」ということで、予算管理するスクリプトをGoogle Apps Scriptで作りました。

竹迫:
経理の人とも打ち合わせして、実現したんですよね。
リクルートが今まで人で回していたところを、RMPの開発支援グループが自動化していっているという感じで、良い相乗効果が出ていると思います。

相野谷:
本来人の手でやっていたところを徹底的に自動化していくことで、その結果、間接的に開発者の生産性を高めていけると思っています。


以上、前編では

・開発支援グループができた背景

・開発支援グループが実際にやっていること

について伺いました。

後編では、

・プロダクト開発部から見た開発支援グループ

・今後のビジョン

について聞いていきましょう!

株式会社リクルートマーケティングパートナーズ's job postings
Anonymous
26168734 1733645270034611 8983961005369974074 n
430608 196492827142401 83395010 n
1e22731a 57dd 49c1 b3f6 7f7ac17e8733
36cc2598 b616 4935 82de 74b89bff9433?1529735425
12347781 1090236931015913 8899309950918957368 n
14 Likes
Anonymous
26168734 1733645270034611 8983961005369974074 n
430608 196492827142401 83395010 n
1e22731a 57dd 49c1 b3f6 7f7ac17e8733
36cc2598 b616 4935 82de 74b89bff9433?1529735425
12347781 1090236931015913 8899309950918957368 n
14 Likes

Weekly ranking

Show other rankings

Page top icon