【CTOインタビュー】新しい技術とどう向き合うべきか。マッチングのWebサービスを提供する組織の考え方――オミカレ・曽根壮大さん

CTOインタビュー

日本最大級の婚活パーティー情報サイト「オミカレ」を運営する株式会社オミカレ。2011年にサービスを開始し、現在30万人近いユーザーを有しています。Web中心だったオミカレは、2018年の10月にアプリをリリースし、新たな展開を見せています。今回はそんなオミカレのCTO曽根さんに、組織形態や開発手法、今後注目すべき新技術についてお伺いしました。

目次

事業拡大を目指す企業のCTOが担う、複合的な役割とは

御社のサービス「オミカレ」は2011年から続いているWebサービスですが、概要をご説明いただけますでしょうか。

曽根壮大さん(以下、曽根):「オミカレ」はお見合いカレンダーの略称で、全国の婚活パーティーの中から自分にマッチしたものを検索して、お申し込みまで一括で行えるサービスです。街コンなどの大規模なものや1対1で会話する個室形式のものまで、自分の好みに合わせて幅広く検索できることを特徴としています。
2011年からWebサービスとしてユーザーに提供し続けてきたオミカレですが、現在はアプリ展開も行い、より使いやすいUI/UXを実現しようと奮闘している最中です。会社としては岡山にあった本社を東京に移し、経営者も2代目になり、より一層アクセルを踏んでいこうというフェーズに入っています。アプリのリリースだけでなく、Webサイトの改善、そして組織の拡大が目下の目標ですね。もともと5名ほどの小規模な企業だったのですが、現在までの半年間で倍の10名を超えるまでに拡大しましたし、採用はさらに活発化させていく予定です。

曽根さんご自身のキャリアと、CTOとしてどのような役割を担っているのかをお教えいただけますか?

曽根:私はもともと高校を卒業してから5年弱ほど公務員を務め、それからエンジニアへと転向した経歴を持っています。エンジニアとしては10年ほどのキャリアです。大手企業の社内SEやSIerなど、システム開発を担ってきました。
独立してフリーランスになってからオミカレの社長に声をかけてもらい、会社の立ち上げ期にジョインしたのがオミカレとの出会いです。その後サービスがある程度成功して黒字化したところで一度オミカレを離れましたが、今年の4月からアクセルを踏んでいくというフェーズに入るにあたって、再びお誘いを受けて戻ってきた形です。
オミカレ内ではプログラムもインフラも手がけるエンジニアという立ち位置を担っています。Webサービスとして30万人分のデータと全国4万件のパーティーを掛け合わせる仕組みをつくり、そこにアプリ検索をうまくつなぎ合わせる部分を設計しました。APIのつなぎこみについて、例えばGraphQLのような仕組みなどやり方はいくらでもありますから、どんな技術選定をするのかがCTOとしての腕の見せどころだったと思っています。
そのほかにテックリードのような仕事もしていますし、CTOという立場として経営判断も行っていますね。まずスマホアプリを作るか作らないか、iOSとAndroidを同時にリリースするかどうか、そのためにどれくらいの予算感とスケジュールでやるか、といった部分です。技術的な難易度に対して費用対効果が合わない場合は取りやめるといった判断も重要な部分ですね。

Microsoft MVP Data Platformを受賞された時のお話も是非、お伺いしたいです。

曽根:2017年01月にMicrosoft MVP for Data Platformを受賞しました。Microsoftの製品に詳しいわけではなく、OSS DBのスペシャリストとして本賞を受賞しています。
MicrosoftにはSQL Serverという素晴らしい製品があるにも関わらず、PostgreSQL、MySQLのDBエンジニアである自分を対象にしていただいたこと本当に驚きですし、近年のMicrosoftの変化を自分自身が大きく感じています。
Microsoft MVP for Data Platformは国内に何人もいるのですがOSS DBを軸にしているのは自分だけで、これからもっと増えてほしいです。 OSS DBも勿論Windows Serverで動きますし、AzureにはDBaaSとしてPostgreSQLもMySQLも用意されています。 まだ触ったことがない人はちょうど12/22発売のWEB+DB PRESSに私が寄稿したPostgreSQL特集があるのでぜひそれを見ながら触って見てほしいですね。

現在は、PostgreSQLの勉強会の理事も勤め、技術向上に貢献されていらっしゃるとのことですが、活動内容を教えてください。どのような内容の勉強会でしょうか?

曽根:2012年6月から日本PostgreSQLユーザ会(以下JPUG)の中国支部長を担当した事をきっかけに理事をしています。JPUGはNPO法人で以下の3つを目的に運営されています。

JPUG 3つの目的
1. PostgreSQLの研究開発および普及促進
2. PostgreSQLに関する情報の公開
3. 会員相互および外部との技術的・人間的交流

今は私は転職を機に東京に転居したので中国支部長は若い人に譲って勉強会分科会座長としてJPUG主催の勉強会を担当しています。
担当としてPostgreSQLのしくみ勉強会の主催やPostgreSQLアンカンファレンスのサポートなどを行っていますし、今年だとplonejpの併設eventを担当したり、各地方で開催される勉強会に講師の派遣支援を行ったりしています。
実際に中国地方DB勉強会や全国のオープンソースカンファレンス、地方のセミナーなどに多数の講師を派遣していますし、時には私自身も講師として登壇したりしています。
勉強会の内容や派遣する講師はPostgreSQLのユーザ会なので勿論中心はPostgreSQLですが、PostgreSQLに拘らず広くMySQLやOracleDB、NoSQLなどのデータストアの話を取り上げる勉強会なども主催・共催しています。特に中国地方DB勉強会はいろんな視点で行われていて、最近だとDockerを取り上げたりと学びの多い勉強会なのでおすすめですね。

その他に今年はMANABIYAのデータベース担当をしたり、デブサミのコンテンツ委員も行っています。
またデータベースはどんなサービスでも必ず使うものなので言語系のカンファレンスなどでも登壇したりしますね。実際に1000人を超えるような大きなエンジニアカンファレンス、例えばPHPカンファレンスやBuildersconなどでも登壇していますし、高い評価をいただきました。このようにPostgreSQLの技術の発信と普及促進を中心に色んな技術の人たちとの交流の架け橋を担当しています。

オミカレ曽根CTO

オミカレ社は2拠点に分かれたエンジニアがアジャイル型で開発を推進

岡山と東京の2拠点で、どのようなエンジニア組織を編成されているのでしょうか?

曽根:11月時点で東京に3名、岡山に3名です。12月にはさらに2名増えて、8名になる予定です。担当によってロールがわかれているわけではなく、全員がソフトウェアエンジニアという立ち位置です。大きくWebアプリケーションとスマホアプリケーションで分担されてはいますが、スマホエンジニアがWebをやらないということはありませんし、逆もしかりです。どのエンジニアも幅広く、全般的に技術に携わるのが弊社の特徴だと思います。
Webアプリケーションももちろんバックエンドやフロントエンドがあり、CSSやPHP、Pythonなどさまざまな技術を取り入れていますが、やはり誰かがその一部分しかやらないということはなく、担当を臨機応変に、自由に行き来しています。

「オミカレ」のような規模の大きなマッチングサービスにおいては、どのような志向を持ったエンジニアがマッチするのでしょうか?

曽根:オミカレは「じゃらん」や「食べログ」のように、ユーザーがサイトを介して自分の行きたいところを見つけるというスタンスなので、BtoBtoCのサービスにあたります。顧客はサイトに訪れてくれるエンドユーザーと、サイトにパーティーを登録してくれる企業の2者が存在します。この両軸をイメージしたアプリケーション制作ができるかどうか、という部分が非常に重要です。もちろん優れたプログラムを書く、綺麗なコードを書くスキルやセンスも大事ではありますが、それ以上に「良いサービスを作る」という部分に興味を持ってくれるエンジニアが、うちにはマッチすると思います。

開発手法は社内でどのように共有しあっているのでしょうか?

曽根:アプリケーション自体はGitHubに乗っています。スクラムを組んでいるわけではりませんが、開発手法はアジャイルに近い形ですね。一週間単位でBacklogのチケットを用意して、そのチケット単位で開発が進むようにしています。その間、開発方法などはGitHubやSlack上で情報共有してコミュニケーションを取り、細かな部分はesaというWebサービスでドキュメントを共有するのが通常です。
岡山と東京にエンジニアが分かれているため、意識しているのが極力テキストでコミュニケーションを取るようにすることですね。また、会社自体はフルフレックス制でコアタイムが10:30~16:30。人によっては3~4時間のギャップが生まれることになるため、できるだけ非同期でできるという点を重視しています。

オミカレ曽根CTO2

新技術が自分たちの課題にフィットしているかどうかの見極めが重要

現在曽根さんが気になっているツールやIT業界のトピックスなどはありますか?

曽根:やらなければならないと思っているのは、コンテナとPaaSにいかにサービスを乗せていくかという部分です。コンテナにはK8SやECSなどがありますが、技術選定の際に重要なのは、自分たちがやりたいことやそのサービスに解決してほしい課題の内容です。新しい技術は誰かの問題を解決するために生まれてきたものなので、そのサービスが解決できる内容が自分たちの問題とフィットしていないと意味がありません。単純に新しい技術を使うだけでは、なんの解決にもならないのです。
その点で言うと、コンテナの導入は自分たちの直近の問題を解決してくれるわけではないのですが、「明日からその問題にぶつかるかもしれない」という観点と、今後コンテナが主流になっていくだろうという予見もあって、検討しているというわけです。
あとは、データソースの持ち方も考える直す時期にきていると思います。AmazonならAurora、MicrosoftならSQL Serverなどそれぞれ製品があり、データをどう持たせるのかという点の自由度がぐっと上がりました。その反面、クラウドサービスのPaaSにサービスを乗せると、良く言えば効率が上がり、悪く言えばベンダーロックインしてしまうので、そこをどういうふうに付き合っていくのか、という点で技術選定が重要になってきていると思います。
例えば弊社は2011年からAWSを使い続けていて、もう7年目になります。これから先10年もAWSと付き合っていくのは、それとも他のサービスに移行するのか。今は、そういった時代の変わり目でもある気がします。

コンテナについてはDockerなどが思い浮かぶソフトウェアですが、どのあたりが注目のポイントなのでしょうか?

曽根:Dockerについては、自分たちの開発環境で使うことが一般化されていますが、現在Googleがリリースしたコンテナのアプリケーションツールにkubernetesというものが登場しています。コンテナ自体は何年も前から存在する技術で、Dockerによって誰でも使える技術になりました。ただ、本番環境で使うにはDockerでは物足りないという現状に対して、Googleが標準ツールとしてkubernetesをリリースしたというわけです。それまではDockerやECSなどいろいろなツールがあった中で、どれが世の中の主流になっていくのかは見えてきていませんでした。それが、今はkubernetesが主流になりつつある、という点がポイントだと思います。

曽根CTO執筆のリファクタリング記事
【RDBアンチパターン リファクタリング】

FLEXYとはABOUT FLEXY

『FLEXY』はエンジニア・デザイナー・CTO・技術顧問を中心に
週1~5日のさまざまな案件を紹介するサービスです