見出し画像

会社のデータベースそのものである「One API Platform」について、プロダクトオーナーとCTOに語ってもらいました #3

こんにちは!いい生活エンジニア採用・広報担当の黒江です💫

今回のインタビューは、前回に引き続き、One API Platform のプロダクトオーナーの中山さんとCTOの松崎さんに、One API Platform について語ってもらいました!

One API Platform のCTO対談は3つの記事に分けてご紹介させていただきますが、今回は2つ目の記事です。

1つ目、2つ目の記事をまだご覧になってない方は、こちらから見てみてください!


【前回の対談のおさらい】
One API Platform の開発では、特にチームプレーを重要視されていて、チームとして良い状態で動くための仕組みを考えられています。

また、今後の課題としては、アクセス増加や更新への対策、データの活用と分析をより進めるといったものが挙げられています。

One API Platform はマルチテナント大規模データベースであり、不動産会社間の情報の流通も行われてるため、様々なことができるようになります。

また、プラットフォーム全体にアップデートを展開できるため、改善が即座に全てのお客様に届けられる利点もあります。





程よく難しいデータと向き合う

黒江
話を少し変えて、お二人に聞きたいことがあります!
エンジニアとして働いていて「楽しい!」と思うような、わくわくすることは何でしょうか?

松崎さん(以下 松崎)
大規模なものってエンジニア的にわくわくする部分があると思ってて、実際、僕はわくわくしますね。

中山は、小さいサービスと大きいサービスだったらどうだろう?どっちがわくわくするかな?

中山さん(以下 中山)
当然、大きいほうがいいですね。
もちろん、小さいサービスで利益を得られるのなら楽でしょうけど、大きいサービスは本質的な難しさがあるから、おもしろさがありますよね。

松崎
「ちょうどいい複雑さとちょうどいいデータ量があって、問題として難しい。だけど太刀打ちできるっていう感覚があるから楽しい。」
って、中山はよく言っているよね。

中山
まず、不動産業でいうと、大体日本に5,000〜6,000万件ぐらいの物件があります。
で、いい生活のデータ設計見てると、1物件当たりの属性数が1,000~3,000程度の複雑さがあることがわかっています。

それに対していろんなアプローチができるんだけど、あまりにも的外れなことをすると破綻してしまう、というちょうどいい難しさがあるので好きです。

松崎
そうだよね。
ただ、単純なデータがたくさんあってもあんまりわくわくしないし。
かといって、ディープだけど量が少ない場合もあまりぐっとこない、みたいな。
抽象的だけど、程よく高さと幅がある、って感じかな。

黒江
幅と高さですか。あんまり考えたことはなかったですが、なんとなくイメージはできました。


技術への鋭い選択眼

黒江
反対に、エンジニアとして働いていく中で苦労することや、技術的に難しいことなどは何かあるんでしょうか?

松崎
じゃあ、もう少し技術的な話に戻しましょうか。

中山は入社してから One API Platform のみに関わらず、実際に色々な技術を業務で使ってみてると思う。

その反面、僕から見てると、超先進的で TwitterのTLで急に盛り上がってきた、出たてホヤホヤの技術をガッツリやるといったことはしないイメージがあるんだよね。

中山
そうですね。
最新技術をどんどん取り入れるわけではなく、ほどほどに世に揉まれていい感じだと思ったものだけを使いたいと思っています。当たり馬券だけを引きたいというか。

松崎
いわゆるエンジニア界隈でいうところの「枯れた技術」ってやつだよね。

キャズム理論で言うところの、本当のアーリーアダプターにはなりたくないという感じかな。

でも一方で、マジョリティというか、周囲のみんなが使い始めてから使う、という感じにもなりたくない。

ちょうどキャズムを超えるか超えないか、いよいよ本格的に流行り出す雰囲気が出てきて、世の中で「これからこれだぞ」と受け入れられる時期がちょうどいいって感じかな?

中山
そうですね。
例えばフレームワークだったら、安定期に入る前後ぐらいからしばらく使っていると、そのフレームワークのアップデートを数年かけて何度か経験でき、その結果として完全に理解できるようになる。

でも、安定してからしばらくして、例えば3年後ぐらいに使い始めると、既に大規模・複雑になりすぎて、もはやゼロから学んで使いこなすには、難しくなることがあるんですよ。

松崎
確かにそうかもね。
中山の特性としては、技術を使いこなすことと、深く知ることが得意なイメージがあるんだよね。適材適所で物を選ぶ力が結構強いというか。
例えば、「この用途だったらこれよりもこっちの方がいい」とか。

中山
特に変なことはしてないと思います。むしろ王道というか。

松崎
さっき、新しいからといって飛びつくんじゃなくて、よく観察して使えそうなものを選択するとか、そこそこいい感じになってきたものをいいタイミングで使うって言ったでしょ?

それって、いい感じになってきたタイミングで認知してたら、多分そうはならない。
結構常にアンテナを張ってて認知自体は比較的早い段階でしてるんだよね。

ただ、よく様子を見て、どういうものなのかをちゃんと把握してきた上で、世のトレンドを見て、「そろそろいってもいいかも」みたいな感覚があるんじゃないかな。

中山
そうですね。アンテナはめっちゃ張ってる方だと思います。

松崎
あと、使い始めたものに対しては、結構ちゃんと深く調べていく傾向がある。「何となく」では使わないっていう感じ。

それがね、やっぱり中山に One API Platform を任せられる感覚でもあるんだよね。

もちろん社内には、もっと実験的で野心的なプロダクツもいっぱいあって、そういうところはもっとカッティングエッジな新しい技術をガンガン使っていけばいいっていうのはある。

だけど、プロダクトが大きくなる過程で、責任も増大していくから、技術についてより深く理解して選択する必要が出てくるんだよね。

初めの方でも少し話したけど、この One API Platform の開発が始まったのって、2010年くらいじゃない?
当時としては、どっちかと言うと思想も中身もイケイケな感じだったのと、僕自身の特性もあって新しいものをどんどん取り入れて作った。

中山が引き継いでくれて以降、アーキテクチャやライブラリ、設計方針などについて、なぜそうしたのか?なぜそれを使ったのか?をもう1回ちゃんと理解し見つめ直していたよね。

その上で、変えられるところ変えるべきところは変えるなど、試行錯誤しながらうまいことやってくれてる。
これは本当にありがたいと思ってるんだよね。

それに加えて、中山のいいところは、「駄目なものは駄目」とはっきり言うということかな。
僕に対しても駄目なものは駄目と、遠慮なくズバズバ言ってくれるし。
この関係性は大事だなと、実は思ってます。

中山
何が良くて何が駄目かをスパッと言う、白黒はっきりさせることが得意ですね。

例えばチームでミーティングをするときも、チームの意見を聞いた上で、良いか悪いかという自分の意見をどんな状況でも、はっきり伝えることができます。

松崎
明らかに駄目なものは「駄目」って早く伝えることが大事だよね。

中山
あと、表現が難しいんですけど、判断不能なもの、グレーなものを長時間保持することが得意です。

その状態に対して自分が気持ち悪く感じずに、1年間ぐらいそのものを記憶し続けて考え続けること。
そしてそれを頭の中で留めておくというか。

その間に状況が変わって、それが良くなったり悪くなったりすることがあった時、先ほど松崎さんが言ってた「いい感じになってきたものをいいタイミングで使う」ことをやってます。

でも、自分の中で課題だと思うのが、自分の頭の中で保持しておくだけではなく、チームにスケールする必要があるなということですかね。

外から見ると、僕がある日突然決断を下したように見えるはずで、これよくないなと本当に最近思ってて…

キャッチした情報についてどう感じたかは、その都度ちゃんと言語化する必要があると思っています。

松崎
実はね、記憶保持力でいうと、僕も同じ特性を持ってると思ってるんです(笑)
周りから見たら、ある日突然決断しているように見えるかもしれないけど、実際は長い間考えているんだよね。

そういう意味で、中山との共通点の一つに、記憶力で勝負しているところがあるのかもなぁ。

今でも、「そこってこういう理由でこういう判断にしてなかったっけ?」みたいな、過去にどうしたかを確認するような会話については、中山が一番話が通じるんだよね。

でもさ、それだとチームがスケールしないというのはおっしゃる通り。
だから、もう結構前の話だけど、社内のコミュニケーションツールとしてSlackを導入したんだよね。

手軽な外部記憶の導入といえばいいかな、テキストなど何らかの形で自分の思考が残るから、検索すると引っかかってくる。
「2年前は俺こんなこと言ってたんだ」みたいなことが結構あるんだよね。

中山
僕はSlackになった結果、アウトプットだけでなく、自分の特性であるインプットが簡単になって本当に助かってます。

僕はひたすら人の発言をインプットし続けるのも好きなんですよ。

松崎
そういう意味では、中山は様々な観点で観察力があるのかもなぁ。

中山:
そうですね。


One API Platformをより活用していく

黒江
盛り上がってるところすみません!
お話とても楽しいんですが、そろそろ時間が…

中山
あ、では、そろそろまとめに入りますね。

One API Platform って、実は構成要素も多くて、使っている技術も列挙すると思った以上に多いんですよね。

チームとしては今年度からは4人で見ていくんですが、これを見るためには、人間のキャパシティみたいな概念が必要なのかもしれないなって。
これはちょっと良くないなと思ってます。

松崎
優秀な人たちばかりだから、少人数で今は回しているけど、多分適切なサイズは6~8人で、もうちょっと必要だよね。

今のチームは良い人材が揃ってると思うんだけど、これからもっとスケールさせるためには、もっといろんな人に関わって欲しいよね。

中山
人数が増えることで、新しい機能の開発や改善にも、より積極的に取り組めるようになると思います。

先ほども少し話しましたが、今後はいい生活が持っているデータをもっと広く活用できるようにするため、まずはどのようなデータが入っているのかを気軽に解析できるための仕組みを作ろうと思っています。

あとは、僕個人としては「API を高速にする」ことにとても価値を感じています。
なので、さらに API を高速化することにも取り組んでいきたいですね。

黒江
お二人のお話を聞いて、One API Platform の今後の展開がとても楽しみになりました!
ありがとうございました!




ここまで読んでいただき、ありがとうございました。
今回の記事で One API Platform について、中山さんと松崎さんの対談は以上になります。

いい生活をのプロダクトを支える One API Platform についてのお2人の対談を読んでいただいたみなさまに、いい生活の魅力がお伝えできていれば幸いです😆

記事を読んで「いい生活で働くの面白そう…!」など興味を持ってくださった方!
現在いい生活では、2024年新卒/キャリア採用を行っております!

下記から気軽にご応募ください!

また、いい生活では現在2025年卒業以降の学生さん向けにサマーインターンの募集を行っております🎆
当社サービスのAPIとReactを使った5日間のチーム開発のインターンです!

25卒の学生さんだけでなく、26卒以降の学生さんも参加可能になっております!

只今大変ありがたいことに 応募をたくさんいただいている状況ですので、ご応募はお早めにお願いいたします🏃💨

下記よりお待ちしておりますね!


また、これからもCTO対談など、のインタビュー記事を発信していきますので、いい生活公式noteの「いいnote」のフォローもお願いいたします!

それでは今回はこちらで失礼します!
次回の記事もお楽しみに!🤗


撮影:杉山 泰之

いい生活では、新卒・中途ともに積極採用中! 採用サイトもぜひご覧ください。