Facebook
RMP FEATURE

RMP FEATUREスタディサプリ

「スタディサプリENGLISH」の作り方 
エンジニアが語るパフォーマンスの秘密とは

「英語が話せるようになりたい」「TOEIC®の点数を上げたい 」ーーこんな願いをサポートしてくれるオンライン学習サービスが「スタディサプリENGLISH」だ。2015年10月のリリース以来順調に利用者数を増やしているが、それはユーザーが挫折しないようさまざまな仕掛けや機能を追加し、ユーザーの反応を見ては修正し、磨き込む開発者の力あってこそだ。ビジネスと一体になってアイデアを形にし、スピーディにリリースしている開発者のパフォーマンスは、どのように引き出されているのだろうか。現在、エンジニアの組織活性に取り組む堀之内将人がインタビュアーとなり、「スタディサプリENGLISH」の開発に携わるエンジニアたちに生の声を聞いてみた。

2019-01-10

写真1.JPG

浅井勇樹
2017年、中途入社。スタディサプリENGLISH 開発チームElixirでiOSエンジニア兼スクラムマスターを務める

高橋一平
2015年、新卒入社。スタディサプリENGLISHのサーバサイド開発に携わり、Scalaをゴリゴリ書く日々

高橋圭太郎
2017年、中途入社。スタディサプリENGLISHのプロダクトマネジャーとして、ビジネスと開発の橋渡し役を務める

大島雅人
2015年、中途入社。スタディサプリENGLISHのSRE担当としてインフラの運用・改善に取り組む

堀之内将人(インタビュアー)
2018年、中途入社。スタディサプリENGLISH 開発チームCrystalでスクラムマスターを務めつつエンジニア採用も担当、組織活性化に取り組む

前例なんて関係ない、高いアンテナでキャッチした
新技術に積極的にチャレンジ

堀之内:今日のメンバーは一平さんを除く、みんなが中途入社だよね。リクルートマーケティングパートナーズ(以下RMP)との出会いは何だったんですか?

浅井:僕は転職してRMPに加わったんですが、前職のときから、いろんな勉強会でRMPの人が発表してるな、と思っていました。そしてそういう場で実際に話をしてみても、iOSにせよAndroidにせよSwiftやKotlinを積極的に導入しているし、設計やアーキテクチャの深いところまで議論できて一定レベル以上の技術力を持つ人がいるという印象が強かったです。

高橋(一) :僕は学生の頃に趣味としてScalaでプログラムを書いてたんです。スタートアップならともかく大手で、Scalaを採用してプロダクト開発してる会社があるなんて!それがRMPとの出会いですかね(笑)。

堀之内:サーバーサイド開発ではScala+PlayでgRPCというエッジな技術で開発しているよね。過去の事例があるからとか、今はこれがトレンドだからとかではなく、いいプロダクトを作るために新しいことにチャレンジしていこうっていう風土が根っこにあるから、エンジニアもやりやすいんじゃないかな。

高橋(一):Scalaも無難な書き方じゃなく、Monad TransformerやEffを導入して、関数型の強みを生かして攻めた書き方をしてる。皆、絶対楽しくてやってますよね。でも、決して守りをおろそかにしているっていうわけじゃなくて、「ここまでなら攻めても大丈夫」という信頼感があって、それだけ書ける人が集まってる感じです。

浅井:あと、新しい技術をいち早く導入するだけでなく、先を見通す力もあるのかなって思います。ある技術を選定して導入して動かして終わりじゃなくて、この先、プロダクトが成長していっても技術的負債が解消しやすい状態で組んでたりする。すごいのは、それが転職してきたメンバーだけでなく新卒1年目のエンジニアでもできることかなあ。

3DSC_5564-001.jpg

堀之内:世の中には1人のスーパーエンジニアがいて、その人が引っ張って決めていくタイプの企業もあるけれど、RMPは年齢とか経験とか関係なく、皆がフェアに話をできる環境があるよね。「攻めの守り」というか、みんな技術的に優秀で、それぞれのスキルを理解し合ってるからできるのかな。

高橋(圭):みんな技術に対する感度が高いですよね! 大島さんは先日「AWS re:Invent 2018」に行ってきたばかりだけれど、現地に行ってないメンバーからも「これ面白そうだから使ってみよう」って話がすぐに出てくる。翌朝には当然のように話していて、何で夜中に英語で発表されたことをみんな知ってるの? って思うくらい。

堀之内:海外のカンファレンスへの参加は積極的に後押ししていますね。参加費はもちろん交通費や宿泊費も会社持ちで業務として参加できるのは珍しいよね。

高橋(圭):ああだこうだ言わなくても、見聞きしたことをちゃんと自分の血肉に変え、プロダクトに生かしてくれるという信頼があるからだと思いますね。

大島:ラスベガスで見てきた中では、マイクロサービスやコンテナ周りに興味があり「AWS App Mesh」が気になったので、今年のAdvent Calendarに書きました。

開発(Dev)とビジネス(Biz)が一体に。技術的負債の解消も

堀之内:DevとBizの組織体制もフェーズごとに変化してきています。そのあたりはどうですか?

高橋(圭):僕が入った頃はTOEIC®や苦手克服トレーニングという新規サービスをリリースして間もない中で、新たにTOEIC®のパーソナルコーチプランの開発もしていて。その裏では日常英会話、TOEIC®のベーシックプランの機能追加や、法人向けに展開するための基盤も作っていたり......きっとDevにもBizにも優秀な人が多いからこのスピード感で回ってたのかなと思っています。圧倒されましたね。

高橋(一):あの頃は正直大変でしたね(笑)

(一同笑)

DSC_5523-001.jpg

浅井:サービスの軸が増えてステークホルダーも増え、必然的に様々なところから依頼が来て、レポートラインも増え......エンジニアには少し負担があったかもしれないですね。

高橋(圭):そうですよね。ただどっちも悪くない。お互いに、よりよいプロダクトを作って成長させようっていうところは同じで......。

高橋(一):それぞれの案件が大事で困っているのが分かってたから、ついやっちゃってましたね。

高橋(圭):でも、今やっていた作業を止めて後から差し込まれた要件に対応して、2、3日して戻ったときに、すっと頭を戻すのが結構大変だったりする。こういうのはコンテキストスイッチのコストが大きいのでできるだけなくしたいですよね。

浅井:以前はBizとDev、それぞれグループが分かれていて、個々に要望が行ったり来たりしていたんですが、今は間に双方の橋渡し役となるプロダクトマネジャー(PM)を置いて、Bizの要件を理解して何をやるかを詰め、Devではそれをどうやって実現するか専念できるよう、組織のあり方を変えました。以前は独立していたデザイナーもDevに巻き込んでます。そうこうするうちに今度はDevチームが大きくなってきて回していくのが限界にきたので、今はDevを3チームに分けて、コラボレーションしながら開発しています。

高橋(圭):目の前の課題を解決するのも大事だけど、プロダクトを作っている人たち全員で今後の戦略や戦術について認識を合わせたい。そこの見える化が重要だと思い事業責任者と議論して、案件エントリーというプロダクトバックログを整理するルールを導入しました。

高橋(一):おかげでだいぶ助かりました。以前は個別の依頼がばらばらに来るので、何を優先してやればいいか分からなかったこともありました。

堀之内:Devとしても「なぜいまこの作業をするのか」をPMに聞けば的確に説明してくれるので、優先順位に悩むストレスもだいぶ減ったよね。

浅井:PMがBiz・Dev両方のグループに属して、フラットに双方の意見をまとめて、利点や欠点をまとめて中立の立場で言える状態になってるかなと。

高橋(圭):技術的負債の解消という面でも、この技術的負債がこの先どう事業に響くかが言語化できていない。なので、Bizには伝わらない。なので案件として上がってこないという問題がありました。そこでPMとして問題をDevと協力しながら言語化して、それをBizに持っていく。「この先、これをやらないとこんな事業的課題が出てきますよ」って提案して、理解してもらった上で実施する判断をもらうようにしています。中長期的に成長するプロダクトにするためには避けて通れないし、必ずやるべきことだと思っています。言語化して提案資料作って...みたいな作業にDevが稼働するのは勿体無いので、そういうのが得意なPMが間に入って、Devには「作る」ことにコミットしてもらっています。

DSC_5507-001.jpg

大島:それで実現したことの1つがテストで、「テストが書けていないところがある」っていう技術的負債があったところを、圭太郎さんがBizに「ちゃんとやっていこう」と相談して、テスト100本ノックを実現しましたよね。しかも、そのダミーデータ生成をいい感じにするやつを一平くんが作ってくれて......。

高橋(一):テスト用のダミーデータを手でゴリゴリ書くのは厳しいので、どんなクラスでも自動でダミーデータを生成する仕組みを作り、テストを書くコストを減らしました。Battle Conference U30で発表したネタです。

大島:BizとDevの関係性って話だと、障害が起きて対応したときも、「なんでこんな障害が起きるんだ」って責められるわけではなく、まず「迅速に対応してくれてありがとう」って言ってもらえるのは嬉しいですね。障害って本来起きちゃいけないことで、起こしたDevメンバーも「やってしまった」って思ってるので......そういう時に、Bizからそう言ってもらえるとありがたい。

高橋(圭):それも開発を内製している良さかもしれないですね。皆で一緒に作っているから、互いにリスペクトした形で依頼が飛んでいると感じています。

リモートワークは当たり前、
自分にとってよりよい環境で集中して作業を

堀之内:働く制度や環境について、RMPではパフォーマンスアップを目的としてリモートワークやフレックスタイムを導入しています。SlackやJIRAを使いこなして意思疎通をしているので、みんなが自由に働いていてもそんなに困りませんね。みんな常に同じオフィスにいるわけではないからこそ、作業を見える化しスプリントでやることを自分で決めて実践していますね。

高橋(圭):自分が集中できる環境を家に整えている人も多いですよね。

DSC_5392-001.jpg

高橋(一):僕も、会議のない日は基本リモートで仕事をしてますね。会社で支給されているPCのスペックも十分高いので環境面で不満はありません。

浅井:僕も、フルに会社に出てきて仕事をするのは週に1・2回くらいで、フレックスタイムやSlackをうまく使いながらやっています。子供が2人いるので、夕方家にいるときは保育園に迎えにいったり、ちょっと気分転換も兼ねて一緒に遊んだりする時間を作ったり......緩急を付けて集中して働いています。

堀之内:メリハリをつけて自分をマネジメントしていく、それを制度がしっかり担保しているという感じですね。

技術スキルを極める、マネジャー職を経験する、
プロダクト開発にフルコミットする...多様なキャリア選択

堀之内:みんなエンジニアとして活躍していますが、今後興味あることやぜひやってみたいことはなんですか?

4DSC_5596-001.jpg

大島:今はインフラの仕事が楽しいのでまだまだインフラのアーキテクト的なことをしていきたいです。

堀之内:大島さんは元々iOSエンジニアですよね?

大島:そうですね、僕は元々iOSアプリの開発をしていて「コードを書きたい」っていう理由でこの会社に加わったけれど、「スタディサプリENGLISH」を立ち上げるときにScalaでやるって聞いて「やりたい」と手を上げ、iOSやサーバサイド、Webなど色々経験することができました。色々な領域にチャレンジする中でインフラで起きた障害が、自分にとっては訳が分からず、把握したいと思っていろいろ勉強しているうちにインフラエンジニアにジョブチェンジ、という感じです。

堀之内:一平さんもインフラなど別の領域を考えていますか?

高橋(一):逆に僕は他の領域はあまり考えていないですね。サーバーサイドエンジニアとしてScalaを極めて行きたいなと考えています。

堀之内:一平さんにはアーキテクトとしての素養もあると思うので、ぜひチャレンジしてもらいたいなって。そしてゆくゆくは次世代のエンジニアリーダーとしての活躍を期待しています。

高橋(一):頑張ります(笑)

堀之内:浅井さんはPMに興味ありそうですが、どうですか?

浅井:そうですね。今はスクラムマスターとして、PMと協力しながらチームのモチベーション管理や安定化に取り組んでいるけれど、やってみると意外と楽しいし、好きなのかも。PMという仕事をもっと理解して、そのエッセンスをうまく取り入れていけたらいいかな。

高橋(圭):僕はもともとエンジニアだったけれど、前職でPMやエンジニアマネジャー(EM)も経験した中で、PMが面白いなと思って、で「PMを本職にしたい」と考えて転職してきました。

堀之内:自分もスクラムマスターをしているけれど、PMには向いてないな...、と。プロダクトは大事だけれど、それは他の人がやるほうがうまくいく。だから自分はエンジニア組織の活性化や採用にコミットしたい。みんなそれぞれ思い思いのキャリアが広がっていて素敵ですね!

☆★RMPでは一緒に働く仲間を募集しています★☆

RECRUITMENT

  • 営業職はこちら

    営業職はこちら

  • 企画・スタッフ職はこちら

    企画・スタッフ職はこちら

  • エンジニア・デザイナー職はこちら

同じカテゴリの特集