働くひと

システムリニューアルPJ始動。EMが技術本部ビジョン “Technology for learners”に込めた強い意志

 
 
13年利用したシステムの刷新を決めた、レアジョブの技術本部。
CTOとエンジニアリングマネージャーに背景・課題を聞きました。
 

山田 CTO
SIerを経て2003年にヤフーをに入社。カレンダー、フォトなどの開発に従事。2007年にKDDIグループのmedibaに参画し、広告及びメディアの開発責任者を歴任し2015年よりCTOとして従事。2017年レアジョブに参画し、2018年にCTOに就任。2019年10月よりRareJob PhilippinesのEngineering Divisionの責任者に就任し、日本、フィリピンの開発部隊を統括。
岩堀 技術本部 コアテクノロジープラットフォーム部 部長
SIerやモバイルサービス会社でインフラエンジニアとして基盤の設計から構築・運用を担当し、時にはプログラマーとして開発やPMとしてWEBアプリやモバイルアプリのPJを管理するなど幅広いフィールドを経験。2012年レアジョブ参画後、インフラ基盤の設計・構築を行い、開発としてレアジョブAPIの設計・開発も担当するなど様々な視点を持って担当。
羽田 技術本部 サービス開発部 部長
学生時代よりRettyやgloopsでエンジニアとして働き、新卒でヤフーに入社。2016年に株式会社レアジョブに入社し、ただ一人のアプリエンジニアとしてネイティブアプリ事業を立ち上げる、現在は 技術本部 部長 兼 デザインチームリーダーを務めており、UX・デザインからアプリケーション開発まで広く責任者を担当している。
聞き手:話を聞くために来た外部の人。
 

13年モノのシステムの刷新PJ始動。マイクロサービスアーキテクチャの切替えへ

 

なぜ、システムの刷新をしようと決めたのですか?

サービス面では、ここ1~2年で、レッスンルームの開発によるSkype脱却やアプリの改善を通してユーザー体験の向上を地道にアップデートしてきました。ユーザーによるツールの使われ方が変わりはじめていることは、データやお客様の声からも上がってきています。

ただ、ユーザー体験はまだ昔から変わらず画一的という認識です。レアジョブのサービスは、コンシューマー向けのみならず、法人や学校・子ども向けの各市場からのニーズも増え同時に多様化しています。画一的なサービス構成では、これ以上ユーザーの満足度を上げらられないだろうとの危惧がありました。

システム面でいうと、13年間もレアジョブはアーキテクチャーを大きく変えずにここまでやってきました。初期設計をベースとして、それらの大きな対応に向けて拡張してきたんです。概念が変わるような機能の実現には、時間とリソースが想定以上にかかってしまうという課題も出てきました。


 

もう限界だ…ということが、ひしひしと伝わってきました。

我々のこれまでのフェーズでは、ビジネスのスケールを優先し開発してきました。もちろん13年の歴史のなかでリファクタリングやアーキテクチャのマイナーチェンジなどをやってきてはいるのですが、中長期戦略実現のためには、これまで以上にシステムに投資していく必要があると考えています。

現場レベルでは、開発エンジニアにストレスが掛かってしまっている部分もあります。今は、4つのチームで1つのシステムを見ていて、各技術レイヤーを分けて開発をしています。分割していること自体は余計な情報が入らないといった良い意味もあるのですが、必要な情報まで阻害されている感があるのも事実だったりします。

たとえば、レッスンルーム周りの開発は、現在APP/UXチームがメインで開発してくれています。しかし、APP/UX以外のメンバーは詳細な変更内容がわからない状況になる。新たにリリースされたもので問題が起きた場合、間接的にレッスンルームの変更が障害要因になっていたりすると、対応が難しい状況にあります。

きっと、マイクロサービス化した際にも同じようなストレスにぶつかるとは思いますが、そのあたりも解消していく仕組みを検討したいと思っていました。

また、会社としても英語関連事業だけでなく、新しい事業を展開していこうとしていて、ビジネスがよりスケールするための基盤にする必要があります。なので刷新をしようと決めて、抜本的にサービスのドメイン整理をし、マイクロサービスアーキテクチャーに切り替える新システム移行のPJを始動することにしました。

企画とエンジニアや技術レイヤーを分け隔てることなく、プロダクトへのオーナーシップを持って取り組む

どんな方針で、システム刷新を実行していくのですか。

今回のPJ始動にあたり、エンジニア・デザイナーのプロダクトに対するオーナーシップをあげて、高速でサイクルを回せるようにしていきたいと思っています。

そのためには、時間をかけてリリースするよりも、細かくリリースできる粒度にサービスやアプリケーションを分割する方が重要だと考えています。毎回ビッグバンリリースして一回の失敗を恐れるよりも、たくさん失敗ができてそこから今まで以上の成功をたくさん作るために、イテレーションが回しやすい体制を作れるようにがんばっています。

もちろんすぐは難しいのですが、少しずつ始めていて、デザインスプリントを実施してプロトタイピングをしてみたり、 プロダクトマネージャーと一緒にユーザーストーリーマッピングを行い、自分たちがユーザー視点に立ってユーザーストーリーを作ったりしています。

あとは、型にはまらず、レイヤーを区切らず、エンジニアとして幅広く動けるようにもしていきたいですね。今は、インフラが上のレイヤーを知りたいと思ってもブラックボックスの部分があり、越境して何かを成し遂げるのが難しいんです。技術領域が違っても触れるように、オープン化も進めていきます。

英語学習者=ユーザーのための技術者集団でありたい

 

アーキテクチャーや技術選定、開発体制も大事なんですが、どこを向いて開発していくか、ということを、エンジニアも意識する必要があると思っています。

どこを向く、ですか…。

私たちのプロダクトの利用者は、ユーザー=英語学習者です。英語学習者に“英語を話せる”という成功体験を届けたい。そんな想いをもって仕事に取り組みたいですし、付加価値のあるプロダクトを提供し続けて顧客満足度を上げて、事業の収益創出に貢献していきたいです。

僕が2017年にレアジョブに来たときは「どういう技術ならリプレイスできるか」とか「どういう技術を使って移行するか」の話になりがちだった。利用技術だけに議論していると、新しい技術をとにかく使いたいだけの組織になりがちなんですよね。そこを間違えないように、技術本部全体のマインドや組織、開発体制を作ってきました。

それを概念化するために、技術本部のビジョンを「Technology for learners」と掲げたんです。


 

やっぱりビジョンは英語なんですね。実際、浸透しているんですか?

レアジョブは、日本とフィリピンのもっているシステムが依存関係にあるので2国間で開発を行っています。なので、フィリピンのエンジニアと英語でMTGを開催するのがごく普通の状態です。でも、自分たちも英語力が高いわけではないので、英語学習者として日々学習しています。自社サービスのヘビーユーザーであることは偽りがないです。

私は、山田さんが入社してから、フロントエンドチームのリードを任されました。エンジニアがお客様のためにという意識をもてるように、チーム立ち上げ時から、UXを向上させるために、エンジニアがオーナーシップをもって企画・開発することを方針にしています。

たとえば、レッスンルームの接続率や不具合率などパフォーマンスのKPIは、インフラチームにお願いするのではなくフロントチームでみています。

急に数値が下がったりすると、日本とフィリピン両方のチームで協議して解決します。常時、Botが8個くらい動いていて、毎時30分で接続率や不具合連絡とか、レッスンルームに対する問い合わせ内容が共有されています。これは、30分ごとにレッスンを始めるお客様の体験そのもの。

単純にシステムのパフォーマンスの問題として帰結させないよう、優先度を最も高く置いて解決まで行っています。不具合はサービスの離脱にもつながり、売上に直結するので。

徹底していますね。

持続的な事業成長を牽引し続けるために

 

他に、今回の取り組みの上で特に大切にしていることはありますか?

自分たちもパワーアップしていきたいですよね。

2週間に一度開催している社内勉強会は、これからも継続していきたいです。日々の業務でわかったことや細かいtipsを共有して、発想を広げる。学びの共有ってやつです。実務は、範囲が限られているので視野が狭くなりがちなもの。世の中のアップデートを1人で追いかけるのはしんどいので、みんなで追いかけていきます。ディスカッションが生まれたらいいなと。

刷新PJにしても、より価値の高いプロダクトを創っていくには、もちろんエンジニアだけでは実現できません。開発プロセスをスクラムに切り替え、企画側とのコミュニケーションの量と質を向上させています。また、フィリピン開発部隊とも拠点を超えたスクラム開発にチャレンジしています。

今期、エンジニアリングマネージャーとプロダクトマネージャーとで初めて合宿をしました。今後のプロダクト計画、その計画に対してどういうシステムにしていくかということを議論しながらリプレイスする結論となり、刷新PJを始動させる合意形成を図りました。

加えて、その時は大きな課題も抱えていたんです。合宿では課題の分析と解決方針、方法をその場で決め、すぐにアクションに移すことができた。単純にサービスの問題を解消させただけでなく、チームとして一体感も出たと感じました。合宿を通じて多くのことを学べたと思います。


 

合宿は継続的にやりたいですね。

難易度が高いPJですが、展望を見据えながらやっていきたいですね。レアジョブは、日本人1,000万人を英語が話せるようにし、その先にグローバルに人々が活躍する基盤も作っていこうとしています。

現在の事業領域である「レアジョブ英会話」を中心とした英語関連事業から、グローバルリーダー育成事業やキャリア関連事業への展開も具体的に視野にいれています。刻々と変化する中で、持続的な成長をサービスの基盤であるシステムから牽引していきたいです。

“Technology for learners”に込めた、ユーザーを向いている技術者集団であることにこだわりをもち、間違わずにやっていきます。