ウォンテッドリーの「ココロオドル」プロダクト開発 共通ロジックとネイティブ体験の両立へ

投稿日時:
久保出 雅俊のアイコン

ウォンテッドリー株式会社 / Mobile Tech Lead

久保出 雅俊

ウォンテッドリーでMobile Tech Leadを務める久保出(@swiz_ard)です。ウォンテッドリーのモバイル開発における「ココロオドル」部分をご説明します。

「ココロオドル」がエンジニアリング組織にもたらすもの

ウォンテッドリーのミッションは、「究極の適材適所により、シゴトでココロオドルひとをふやす」です。ミッションの背景には、働く全ての人のインフラとなるようなプロダクトやサービスを構築したいという思いがあります。「シゴトでココロオドル」とは、仕事に没頭して成果を出し、その成果を通じて自身の成長を実感できるサイクルを指しています。当社は、プロダクトの提供を通してそうした人を増やすとともに、われわれ自身もその状態であり続けることを目指しています。

当社が大切にする価値観は6つあります。これらの価値観は、エンジニアリング組織における「自律的に技術選定できる」「挑戦を推奨し、失敗から学ぶ」「ユーザーのココロオドル体験を追求する開発姿勢」といったことにつながっています。

ココロオドルにつながる価値観.jpg

「プロダクトを開発する」意識

当社は現在、主に4つのプロダクトを開発しており、今回はユーザーの会社訪問を支援するアプリ「Wantedly Visit」を中心にご紹介します。

われわれは「モバイルチーム」として、AndroidとiOSを分けない体制をとっています。モバイルチームには現在、7〜8名が在籍しており、Androidの専門性を持つメンバーが私を含め3人、iOSの専門性を持つメンバーが3人となっており、業務委託で参画いただいている方もいます。

OSでチームを分けない背景には、"プロダクトを開発している"という意識のほか、両OSの断絶を防いでユーザーインターフェース/ユーザー体験(UI / UX)の統一を目指していることがあります。例えば、プルリクエストのコードレビューを行う際、仕様面についてはiOSに強いメンバーに、技術面についてはAndroidに強いメンバーにそれぞれ確認してもらうなど、複数の視点からレビューを受けられるのも大きな利点です。

「モバイルお茶会」「負債返済日」で組織を強化

ウォンテッドリーのモバイルチームでは、技術軸で複数の取り組みを実施。「モバイルお茶会」では、毎週30分ほど時間を取り、社内勉強会形式で技術のキャッチアップやナレッジシェアを進めています。最近は新メンバーが増えていることもあり、普段使っているツールの活用方法や技術情報の収集手段、Android Studioのショートカットなどを共有することで、チーム全体の生産性向上に取り組んでいます。

月に1回設けている「負債返済日」では、プロダクト開発ではなく技術的負債の返済に専念。これにより、定期的に負債を返済する体制を整えるとともに、組織として負債の返済に取り組むことを図っています。

目指すは、共通ロジックとネイティブ体験の両立

モバイルチームでは、共通のロジックとネイティブな体験の双方を重視しています。プロダクトとしての完成度を高めつつ、使う人にとって快適な操作感を実現するべく、さまざまな技術を取り入れています。

現在の利用技術は下図の通りです。ほかの企業と同様に、当社でも新旧のアーキテクチャが混在しています。新しい部分では、宣言的UIのSwiftUIやJetpack Composeを取り入れ、ビジネスロジックの共有にはKotlin Multiplatform(KMP)を活用しています。バックエンドとの通信にはGraphQLを用いています。

利用技術.jpg

KMPの利点として、共有するコードの範囲をプロジェクトの目的に合わせて選べることがあります。UIまでを共有できるCompose Multiplatformもありますが、当社ではビジネスロジックに絞った共通化を行っています。

もう一つのポイントとして、ウォンテッドリー独自のデザインシステムが挙げられます。AndroidではComposeを用いてフルカスタマイズされたデザインシステムを実装しており、例えば独自のエレベーションをつけるなど、プラットフォーム間で統一したUI / UXを実現しつつ、Android特有のリップルエフェクトを生かすなどのこだわりを見せています。

課題は新旧アーキテクチャの混在、スキルアップを図る

先述した通り、ウォンテッドリーのモバイルアプリには新旧のアーキテクチャが混在しています。新世代のComposeやKMPで生産性の高い開発を進める一方、XMLや古いREST APIを使った画面などが残っており、これらに手を加えることで認知負荷や開発コストがかかっているのが現状です。

当社ではプロダクトをWeb、iOS、Androidとマルチプラットフォームで提供しているため、アプリならではのネイティブ体験を十分に生かせていないことも課題です。具体的には、プッシュ通知の最適化やディープリンクの活用、パスキーの導入など、モバイル固有の機能でUXを強化する余地があると感じており、今後取り組みたいです。

こうした取り組みを進めるには、開発を行うだけでなく、モバイルならではの魅力を引き出すアイデアを出せるエンジニアが必要となります。そのためモバイルチームとしては、ネイティブ機能の拡充とそれを使いこなすエンジニアリング力を同時に高めることを目指しています。

「守り」「チャレンジ」の両面強化へ

今後は、「守り」「チャレンジ」の両面を強化していきます。守りの面では、内部/外部品質の向上に注力し、レガシーアーキテクチャを改善する一方で、ビジュアルリグレッションテスト(VRT)などの仕組みを整え、UIの品質維持にも力を入れたいです。

チャレンジの面では、モバイル特有の体験をさらに研ぎ澄ますための機能開発を行い、開発パフォーマンスの向上も図る計画です。具体的には、AIを活用するとともにモバイルならではのデバイス機能を積極的に取り入れながら、新しいアイデアを迅速に実装できる体制を整えたいです。

ウォンテッドリーではAndroidやiOSなど、モバイル分野を広くカバーできるエンジニアを募集しているので、興味のある方はぜひ一度お話を聞きに来てください。[1]

Loading...Loading...Loading...
脚注
  1. 本記事は、2025年4月23日に開催されたイベントの内容を元に編集した記事です

プロフィール