見出し画像

50万人の学びを支えるシステム開発の魅力とこれからの展望【開発リーダー×CTO対談】

こんにちは。採用広報チーム濱田です。
前回記事では教育の専門家としてQubenaのコンテンツ開発に携わる、未来教育部 教育設計チームの皆さんの仕事について紹介させていただきました。

今回は、Qubenaの技術を支えるシステム開発部より、開発リーダーの谷内田さんCTOの山田さんのお二人をゲストにお迎えし、お話を伺っていきます。

画像1

谷内田正嗣(やちだまさつぐ)/写真左
開発リーダー。大学では建築学科を専攻したがアルバイトでプログラミングと出会い、ITの世界に入る。様々な企業で、画像処理システムの開発やWebサービス開発に携わり、転職サイトや挙式会場向けシステム、保育支援システムなどのプロダクト開発に従事。2018年5月にCOMPASSにJOINし、toC向けの決済機能開発や先生向けサービスのフルリニューアルなど開発リーダーとしてさまざまな機能開発に携わってきた。

山田慎二(やまだしんじ)/写真右
CTO。SIerに入社しキャリアをスタートしたが、1年余りでフリーランスとして独立。その後、官公庁の大規模システム開発からソーシャルゲームやSNSなど様々な開発に携わったのち業務委託としてCOMPASSへ参画。21年7月より正社員に。
山田さんのGithubアカウント:https://github.com/dotneet
noteアカウント:https://note.com/santadesu


Q:おふたりのシステム開発部における役割紹介

――まずはじめに、谷内田さん、山田さんのシステム開発部における役割を教えていただけますか?

谷内田:
僕は開発リーダーとして、システム開発部の組織運営における主に人的マネジメントに責務を持つ役割です。チーム構成やアサインの検討、目標設定~定期的な1on1ミーティングを通した一人ひとりのメンバーの成長伴走と評価、また新たなメンバーの採用領域も担当します。

山田:
僕の方ではCTOとして、技術領域の課題解決や意思決定の責務を担っています。各チームから上がってきたアーキテクチャーレベルでの改善について相談に乗ったり、中長期的な技術戦略を定めたり。あとは、組織が課題に対して十分な技術力を保っていくための学習機会の提供や、メンバーだけでは難しい技術課題に対する支援も行っています。

谷内田:
開発計画・技術面のロードマップをふまえた育成・採用計画であったり、技術の話と人の話は連動していくものなので、僕と山田さん、またPO(プロダクトオーナー)やプロダクト推進担当と密に連携を取りながら組織運営を行っています。

note対談 (2021-11-08 at 00_35 GMT-8) (1)_Moment10

(谷内田さん)

Q:これまでの経歴とCOMPASS参画のきっかけは?

――続いておふたりの経歴について伺います。

谷内田:
僕は転職者、新卒者向けの求人サービスのバックエンド開発からキャリアをスタートして、そのあとは今でいうGoogleストリートビューのような、カメラで撮った写真を幾何変換して画像提示するようなサービスのシステム開発に携わっていました。その時はOpenGLやDirectXなどのライブラリを使っていたので、C言語やC++などを用いていましたね。

そこから、前職では主にB向けのサービスを作っており、バックエンドとしてはRuby on Rails/Vuejsなどを使って、領域としてはインフラからフロントまでフルスタックな領域を担当してました。

COMPASSへの入社当初は、バックエンドの開発を行っており、アーキテクチャーの作成やインフラ構築、開発ディレクションなどでPM(プロジェクトマネージャー)的な動きをしていました。そこから今年の7月に現在の組織運営のポジションになったという流れです。

山田:
僕は、社会人になってからは、いわゆるSIerの業務を5年間ほどやっていました。官公庁の大きなシステムや、航空会社のチケット発券システムをJavaなどを使って作っていました。

そのあとは、中小規模の事業会社さんの仕事をずっと受けていましたね。ソーシャルゲームの作成やアプリのSNS作成などです。

キャリアのほとんどがフリーランスというのが、僕のキャリアの特徴的なところかなと思います。COMPASSに入るまでは、3年間くらいしか社員だった期間がないですね。COMPASSも初めは業務委託として2年前くらいに参加して、今年の7月に社員として入社しました。

――おふたりとも様々な場所で経験を積まれていますが、COMPASS入社のきっかけは何でしょう?

谷内田:
僕は娘が一人いるのですが、COMPASSに入社したのがちょうど娘が小学校に入学するタイミングだったんです。子どもが実際に使えるサービスを自分の手で開発したいと思い、転職活動をしていて、その中の一つがCOMPASSでした。

いくつかの会社のプロダクトを見る中で、一番子どもに使わせたいと思ったのがQubenaだったんですよね。それでCOMPASSに入社を決めました。

技術的なところでいうと、前職でRubyを長いこと書いていたので、それが生かせそうだなと思ったことも理由の一つです。

――お子さんに使わせたいと思われた、とのことですが、それはQubenaのどんな点だったのですか?

谷内田:
デジタル教材の多くは、選択肢での回答が大半で、一部のプロダクトで文字の手書き認識を採用している、というところ。でも、Qubenaを見せてもらった時に、コンパスや分度器など、ほぼ他の単元では出てこない部分に投資しているのがわかったんです。

投資対効果で考えたら、そこに投資してもあまり利益は上がらないですよね。でもその部分に開発コストをかけるということは、子どもの体験を第一に考えてプロダクトを作っているということ。教育に対して真剣に向き合っている会社だろうと思ったんです。

子どもには、教育に対して真摯に向き合っている会社のプロダクトを使わせたいと思いましたね。

――確かに、そこを一切妥協しないのがCOMPASSの開発だと感じます!
――山田さんはいかがですか?

山田:
まず2年前に業務委託として入った時は、当時たまたま仕事の余裕があったところに人材紹介をしている知り合いから声をかけてもらったことがきっかけですね。

決め手としては、技術的にScalaやReact、JanusGraphなどこれまで僕があまり使ってこなかった技術スタックを使っていて、面白そうだと思ったのが一つ。あとは直近の数年はずっと自分がリーダーで進めることが多かったので、他にリーダーがいる環境でその人の仕事を見てみたいと思ったのも一つです。

そこから社員となったきっかけは、その、当時のリーダーの方が社内の別プロジェクトに専念するために異動されることになって。自分がプロジェクトの中核として2年間やってきた中で、システムに色々な改善の余地があることは感じており、それをなんとかしなければという思いも強くありました。

業務委託のままでもよかったのでは?ともよく聞かれるんですが、そうした課題にリーダーシップを持って取り組んでいこうと思う上で、「中の人」としての立ち位置でやっていきたいなと、以前は週3の業務委託で入っていたところを、社員としてフルコミットすることになりました。

――キャリアの大半をフリーランスとして過ごされていた中で、COMPASSでなら社員として働いてみたい、と思われたってことですよね?「選ばれた」感がして嬉しいです…!

山田:
それは間違いなくそうですね!

note対談 (2021-11-08 at 00_35 GMT-8) (1)_Moment21

(山田さん)

Q:COMPASSの技術開発の特徴/エンジニアにとってCOMPASSで働くことの魅力とは?

――COMPASSの技術開発の特徴や魅力はどんなところでしょう?

谷内田:
やっぱり、モダンな技術スタックを採用しているので、その経験が得られるところでしょうか。あとは、なかなかこれだけのハイトラフィックの経験が積める会社はそう多くないので、そこも魅力だと思います。

モダンな技術スタックというのは、ReactやFlutter Web、Scala、kubernetesを使っていたり、エンジニアとしては興味を引かれるような技術スタックを採用していたりするところが一つのポイントかなと。

山田:
なかなかこういう技術スタックを使っている会社は多くないですよね。Flutter Webに関しては、日本で使っている会社がどれくらいあるんだろう?というくらい少ないですし。でも、Flutter Webを使うと、アニメーションなどがリッチに作りやすいといったメリットがあるんですよね。

――技術面の他に、COMPASSシステム開発部の組織的な魅力はどんなところですか?

谷内田:
フラットなところが一つの特徴であり魅力だと思いますね。かつ、個々の裁量が大きいところも一つ良いところじゃないかなと。

山田:
そうですね。技術者メンバーの会議はいつも笑いが絶えません。そういう雰囲気はすごく良いなと思いますね。

雰囲気って会社によって結構違ってくると思うんです。粛々とやっている会社もあれば、和気あいあいとしている会社も。緊張感のない馴れ合いになってしまうと良くないですが、COMPASSは、和気あいあいとしながらもピシッとやれている良い会社かなと個人的には思います。

――いろいろな会社を経験されている山田さんならではのコメントですね!  
  そこは谷内田さんのカルチャーマネジメントによるものでは・・・!

谷内田:
もともとみなさんピシッとされているので、僕はもう和気あいあいとしているだけ(笑)

社員だけでなく、業務委託の方もすごく多いのですが、そこの境や区別はほとんどないですね。これが業務委託の定着率の高さに繋がっているのではないかなと。長い方だと3年半くらいになる人もいます。

山田:
僕も約2年間、業務委託でやらせてもらってましたが、ストレスが低いというのもありそうですね。Qubena 小中5教科のリリース間近の時は大変だったこともありましたけど、それ以外はそんなにストレスを感じることがなかったと思います。圧力がないので、働きやすい環境です。

谷内田:
確かに、そうかもしれませんね。

あと他にも特徴や魅力を挙げるとすれば、チーム全体で能動的に学びあってより良いものを目指していこうというカルチャーですかね。各職能別の開発チームでそれぞれが自主的に改善活動(=カイゼン会)を行っていることだったり。リファクタリングやパフォーマンスをもっと向上させるための改善活動を継続的に行っています。

――「カイゼン会」は、COMPASSのカルチャーを体現していますよね!

山田:

あとは、システム開発部に限らずCOMPASS全体として、みんな本当に熱量が高い教育のことをものすごく勉強しているので、ボキャブラリーでなかなかついていけないんですよね。僕も結構本を読んで勉強しているんですけど、それでもまだまだついていけないなと思っていて。みんな本当にどれだけ勉強しているんだ…と思います。

note対談 (2021-11-08 at 00_35 GMT-8) (1)_Moment7

Q:現在の技術課題と今後の展望は?

――現在の技術課題と今後の展望をお聞かせいただけますか?

山田:
技術課題としては大きく2つありまして。

一つ目は、データが増えていっても、今と変わらずユーザーさんにストレスなく使ってもらえるようシステムを維持していくこと。

現在50万人のユーザーを抱える、かつ日々の学習で使ってもらうため、Qubenaは非常にトラフィックが多く、結果としてデータが増えていくんですよね。学習データだけでなく、教材もものすごいスピードで作ってもらっているので、教材のデータもどんどん増えています。それなりに大変ですが、今色々と頑張っているところです。

二つ目は、技術的な「要改善点」をつぶしていくことです。

現在提供しているQubena 小中5教科は、リリースに当たって、かなりハイペースでシステム開発を行ってきました。AIの部分や大量のトラフィックを裁くための仕組みなどを素早く作ってきた一方で、もっとこうしたい、という技術的な「要改善点」が溜まっている状態なんですよね。スピード感をもって開発を進めてきた分、システムが複雑になっているところがあるので、そこは今後の課題ですね。

この2点は、それぞれ対処方針は立っているので、随時対応を進めています。今後も継続していきたいですね。

Q:今後のエンジニアチームの組織としての展望は?

――エンジニアチームの組織としての展望をお聞かせください。

谷内田:
今後やっていきたいことはいくつかありますね。

まずは、「要改善点」に取り組んでいく活動、さっき出てきた「カイゼン会」ですね。今までは個々にギルドのような形で進めてきたのですが、これを組織としてシステム開発部全体やプロダクト開発ユニット単位で方針を持って活動していきたいというのが一つ。

あとは、開発効率を高めるための取り組みとして、Findy-teamsというツールを導入しまして。自分が作ったコードを他の人にレビューしてもらう仕組みがあるんですね。ツールを用いて社内での指標をしっかり作ることで、定期的に開発効率を高めるための仕組みを整えたいと思っています。

そしてもう一つ。チーム間での技術的な交流を行ったり、メンバーの流動性を高めたりという活動をしていくこと。

主な開発対象として、Qubenaの生徒向けのサービス、先生向けのサービス、社内で使うQubenaに問題を登録するためのシステムの3つがあり、そのサービスごとにチームができています。それぞれのリーダークラスでは知見の共有が進んでいるのですが、メンバー間では、他のチームがやっていることや技術的な知識を把握しきれていないのが現状です。これだとどこかのチームの負荷が上がった時に、他のチームに応援要請をかけられないんですよね。ここを改善していきたいですね。

山田:
谷内田さんがおっしゃっていることのもっと先の話になってしまうかもしれませんが、全体として、もうちょっと遊びをもたせた仕事ができればと思っています。僕も開発効率の最短を目指しがちなのですが。ビジネスの要求を最短で満たすのではなく、みんなで考えた実験をちょこちょこ挟むとか、R&Dライクなことを各チーム時間を決めてやっていくような。そういうことができると将来的には良いのかなと思いますね。

note対談 (2021-11-08 at 00_35 GMT-8) (1)_Moment23

Q:一緒に働きたいエンジニア像は?

――スキル面だけでなくマインド面に関しても、こういう人と一緒に働きたい、というエンジニア像はありますか?

谷内田:
やっぱり「自分で考えて自分で動ける人」ですね。あとは、自分の担当領域を決めてしまうのではなく、担当する範囲や深さを自身で広げていけるような人に来ていただけるとありがたいかな。新しい技術に対する興味や、新しいことに挑戦していく姿勢も大切ですね。

山田:
そこは僕も全く一緒で、好奇心があって技術を楽しめる人がいいのかなと思います。

技術面に関しては、Flutter Webを使っている人は少ないのですが、Flutter自体の利用はものすごい勢いで進んでいます。Flutter WebじゃなくてもFlutterをやっていれば大体できますね。

ただ広がってきているとはいえ、ここ1〜2年で広まってきた技術なので、熟練した技術を持っている人や経験豊富な人は多くありません。だからアプリの開発をしていた方に勉強してもらう方が現実的かもしれないです。

Flutterに限らず、近い技術をある程度やってこられた方であれば、ぜひ来ていただきたいですね。

Q:COMPASSをお勧めしたいポイントは?

―― 最後に、COMPASS入社を検討されるエンジニアの方へ、おふたりが思うCOMPASSのお勧めポイントをお願いします。

山田:
教育に興味がある方だったら、間違いなくおすすめだと思います。技術的なところは・・・技術スタックがその人の好みに合うかどうかにもよりますが、新しいことにチャレンジできる環境だと思います。

谷内田:
組織的にはフラットで、人が良いところやる気のある方にはチャンスを与えてくれる組織だと思うので、そういう点も推しポイントですね。あとは働きやすいところ。

山田:
働きやすさでいうと、フルリモートである点も嬉しい人は多いんじゃないかなと思いますね。コミュニケーション面での工夫の必要はありますが、メリットの方が圧倒的に多いと思います。電車に乗らなくて良いし、その時間勉強することだってできるし。

谷内田:
僕も山田さんと同意見で、やはり自然発生的なコミュニケーションはリモートだとなかなか難しいのですが、それ以外はデメリットはほぼないかなと思いますね。

===========

谷内田さん、山田さん、ご協力ありがとうございました。
「こういうの(インタビュー)苦手なんだよねー」と照れながらも、熱く組織の魅力と展望を語っていただくお二人の姿が印象的でした。

そして、冒頭プロフィールにも記載しましたが、お話を伺った山田さんのGithubアカウントはこちらです。ぜひ合わせてご覧ください!

そしてここまで読んでくださった皆さん、ありがとうございます!

今回ご紹介したCOMPASSならではのシステム開発の仕事の魅力や今後の展望に共感し、一緒に働いてくれる仲間を絶賛募集中です。興味を持っていただけた方のご応募、お待ちしています。


みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!