開発チームを牽引するシステム部責任者上田とテックリード嶽の対談インタビューを実施しました。
後編である今回は、新規事業であるSAMURAI ENGINEER Plus+の開発や理想なエンジニア組織について語ってもらいました。
前編はこちら!
(画面左上:嶽、画面下:上田、画面右上:栗岡(インタビュアー))
上田悠司(Yuji Ueda):神戸大学情報通信研究室卒業後、2011年楽天に新卒入社。グループ横断でマーケティングシステムを提供する部門に所属し、高負荷環境下での開発を担当。その後2015年パーソルキャリア株式会社で人材系SaaS「MyRefer」の立ち上げ、事業のMBO後は技術責任者として事業に携わる。2019年4月にSAMURAIに入社、学習管理システム「SAMURAI ENGINEER Plus+」を立ち上げた後、エンジニアとして全事業の開発領域に携わる。
嶽雅也(Masaya Dake):SIer5年で経験を経た後に、漫画配信アプリ、レシピ動画アプリ、ライブ配信アプリなどの開発経験を経て、2020年12月にSAMURAIに入社。SAMURAI ENGINEER Plus+の開発をメインに、Swagger導入・CI改善・採用業務など開発チーム、組織づくりにも携わる。
質問:直近Plus+の決済を含む大型リリースがありましたが、お二人はどんな役割をされていましたか?
*Plus+とは:株式会社SAMURAIが2021年3月にリリースした新サービス「SAMURAI ENGINEER Plus+」のこと。サブスク型のオンラインプログラミングスクールで、高品質の教材や現役エンジニアへ質問出来るQ&Aなどのサービスを提供しています。今後も様々なサービスを展開していく予定。サービス紹介ページ:https://www.sejuku.net/plus/
上田:全体的な仕様の整合性に責任を持ち、以下のことに携わりました。
- チームが力を最大化しスピード感を持って走れるようなサポート
- チームの認識を揃えるため、未確定な仕様の発見と適切な議論のファシリテーション
- 概要及び詳細の設計や実装
嶽:決済機能の実装の中で以下のことをやりました。
- バックエンドを含む設計
- 決済が絡むフロントエンド実装
- ダブルサブミットなどのUI周りのケア
質問:Plus+を開発するうえでのエンジニアとしての面白さや大変さは?
上田:初学者向けプログラミング教育に新しい選択肢を生み出すことに面白さを感じています。「自分がプログラミング初心者だった頃にこのサービスがあったらどう違ったんだろうか?」ということを常に考えながら開発に取り組んでいます。このサービスは一般向けに公開されていますが、受講生の方やインストラクターの方にのみ使っていただいているような機能もあります。複数のステークホルダーの意見や要望に優先順位をつけて対応していくのは大変ですが、楽しさややりがいがあります。
嶽:様々な事情で納期が厳しくなっていた中、決済を取り扱うという部分で品質の確保や運用を見据えた上での設計が必要だったというところは大変でした。その中でも、自分自身で工夫してサービス改善できたことは面白かったです。
例えば、元々Plus+は受講生とプログラミング講師に向けたクローズドなサービスを昨年から一般公開した背景があり、UIの細かい点でのケアができなかった部分を修正・改善したこと。TypeScriptでは元々Anyが蔓延っている状況を改善しながら、Swaggerを導入しAPI駆動開発を浸透させたことなどです。
栗岡:Plus+は元々クローズドなサービスだったんですね
上田:元々はプログラミング講師の工数管理、受講者側の教材閲覧サイトから始まったサービスでした。その後、一般公開を進める中で、提供サービスに合わせて組織体制も変化させながら、開発を進めています。
嶽:今回「提供サービスに合わせて組織体制も変化させる」という点では、決済が絡む機能に関しては、安全性と品質が求められるので、品質向上の観点からQAエンジニアを採用し、リリース前にしっかりとテストを行えたことがありましたね。その結果の1つとして、Plus+のリリースから約2ヶ月が経過しましたが大きなバグも出ていないですね。
質問:これからユーザー数も増えてくると思いますが、今後やっていきたいことは?
上田:サービスの品質向上と顧客満足度の向上、そしてその先にある組織の拡大ですね。特にスピード感を持ってサービスを拡大させるために変更に強いアーキテクチャの整備と強い開発体制を整えたいと思っています。最近ではデプロイ回数を増やすための取り組みをはじめていて、品質向上についてもCREポジションの設置やQAエンジニア採用、自動テストを積極的に取り入れはじめました。サービス価値の向上はもちろん、3年後の開発組織を見据えた技術的負債の返済も開発スコープに取り入れていきたいです。
嶽:私も品質向上に力を入れていきたいですね。技術的には、プルリク前の規約チェックやデプロイ自動化、Slackへのリリース通知、CI/CDと言われる部分に近いですね。それによってコードの品質向上もできます。今後Plus+が伸びて、エンジニアのメンバーが増えた時に、その人が「SAMURAIに入社して良かった」と思える環境にも繋がると思います。そのときに備えて環境を整えておきたいですね。ジョインしたメンバーが定着し、バリュー出せるように、サービス改善と同時に整えていきたいと思います。
質問:ちょっと質問が抽象的になりますが、SAMURAIのエンジニア組織があるべき姿、理想像を教えてください。
上田:エンジニアを養成する事業を展開している以上、自分達がエンジニアとしてお手本になれるような組織を目指したいです。世の中を変えたいと本気で思い自走できる人たちが集まってくるような、人が人を呼んで優秀な仲間が集ってくるような、そんな組織になったら良いなと。その上で例えば、DeNAが「DeNAっぽいエンジニア組織だね」サイバーエージェントが「サイバーエージェントっぽいエンジニア組織だね」と言われているように、「SAMURAIっぽいね」と言われるようなエンジニア組織を作れたら最高ですね。
嶽:組織の理想像は上田さんと同じですので、僕からはもう少しサービス成長に焦点を当ててお話します。現在のPlus+のようなサービス立ち上げ・成長のフェーズでは、以下のような観点が大事だと思います。
- 開発チーム観点
- 当たり前の品質を根付かせる体制づくり
- 品質のばらつきを抑えるコードの土台づくり
- 自発性を促すチーム内の雰囲気づくり
- サービスグロースを意識できる仕組みづくり
- 勉強会など、技術力を向上する文化づくり
- グロースチーム観点
- スクラムの導入
- 施策を行う際の透明性
- 施策実行に対するフィードバック
- 計測によるA/B
- 継続的開発を行ってしっかりPDCAを回す体制
上記を100点でなくても進めていけるような組織体制を作っていけると、サービスはよりグロースしていくと感じます。
質問:最後にどんな人と一緒に働きたいですか?
上田:一番はエンジニア教育をEdTechで変革したいという想いに共感してくれる人ですね。エンジニア教育は実務で求められるスキルを身につけるまでの体系だった教育プロセスが確立されていないという課題があります。こういった課題をSAMURAIの事業を通して一緒に解決したい方と開発をしたいです。あとは、ベンチャーは不確実性が高い環境なので全体最適で考える力やスピード、実行力そして時間がかかる改善に諦めずに取り組む力も求められます。考えることは多いですが、この特殊な環境を楽しんで成長していきたいというベンチャーマインドを持った人だと一緒に楽しく働けると思っています。
嶽:品質向上に力を入れているため、CREの知見のある方とは一緒に働きたいと考えています。あとは、組織としても開発環境の土台を作っていきたいので、開発の理想を知っていて、そういった知見を組織に浸透させられる主体性やマインドを持っている方と一緒に働けたら、SAMURAIのエンジニア組織もより強くなっていくと思っています。