がぶちゃんの日記

札幌からフルリモートCTO

【2023年版】モニクルは何をしている会社なのか

2024年版はこちら

gabu.hatenablog.com

カジュアル面談で何度も何度も説明するうちに話の流れが固まってきたのでブログに書いておくことにしました。事前に読んでいただけたら嬉しいな!ということで書きます。

ソフトウェアエンジニア(以下、エンジニア)の方に読んでいただくことを想定しているので、後半は開発プロセスやチームやプロダクトや技術スタックの話がメインになります。

何をやっているのか

モニクルは、お金の診断・相談サービス「マネイロ」を開発・運営しています。マネイロについてはこちらをご覧ください。

www.youtube.com

どんな会社なのか

2023年2月時点で役職員はグループ全体で65人です。グループ全体と言っているのは子会社が2社あり以下のような会社構成になっているためです。

モニクルグループ

  • モニクル
    • ITベンチャーのイメージ
    • 本社にいるのはバックオフィス(管理部)のメンバーのみ
    • それ以外の職種(エンジニア、デザイナー、マーケティング、PMなど)は完全フルリモート
  • OneMile Partners
    • 営業会社のイメージ
    • 東京の丸の内と大阪の梅田に店舗がある
    • 出社とリモートのハイブリッド
    • 証券・銀行・保険業界の出身者がメイン
  • Navigator Platform
    • メディア会社のイメージ
    • 完全フルリモート
    • 正社員で企画・編集・ライターさんが多数所属

どんな働き方なのか(ワークスタイル)

ここからはモニクル社のエンジニアに特化した話になります。

時間

クリエイティブ職(エンジニア、デザイナー、マーケティング、PMなど)は、専門業務型裁量労働制なので文字どおり自分の裁量で勤務時間を決められます。エンジニアは All Hands(週1の全社ミーティング)とスクラムイベント以外のミーティングが皆無なので、それらの時間だけ同期的に合わせられたら、業務の開始時間・休憩時間・終業時間は完全に自由となっています。

とあるエンジニアのGoogleカレンダーの1週間の予定です。見てくださいこの美しさ。CTOとしてエンジニアのみんなのこのミーティングの少なさを限界まで守っていこうとめちゃくちゃ意識しています。

とあるエンジニアの1週間

ちなみに、子育て中のエンジニアも多く、彼らの夕方以降のGoogleカレンダーはこんな感じになっています。

家事 & 育児

場所

メンバーは地理的にも分散しています。基本的にオフィスへの出社がないのでどこに住んでもOKです。

  • CTO: 札幌
  • エンジニア: 新潟、福井、沖縄、台湾(日本人です)、西東京
  • その他の職種も、長野、札幌、アメリカ(日本人です)

ちなみに CTO 以外の経営陣は関東に住んではいるものの、滅多なことがない限り本社に出社しないため、本社にはバックオフィス(管理部)のメンバーしかいません。管理部メンバーに寂しくないか聞いてみたところ「本社をまるごと占拠しているのでとても快適」だそうです🤣

ビデオチャット

開発チームは Around というビデオチャットツールで常時接続しています。なので毎朝「おはようございまーす」と各々好きな時間にパラパラと Around にバーチャル出社するイメージです。

右に写っている小さな丸が Around です(これはフローティングモード)

なので自然と雑談したり、徐々にみんなが集中しだすともくもく会の雰囲気になったり、チームごとの部屋もあるのでスクラムイベントやチームで話をする時なんかは別の部屋にシュッと移動するなど、とても便利に使っています。

ちなみに、Around を使っている理由は

  • 比較的軽い
  • 顔が小さくてフィルターも掛けられるので圧が低い
  • 画面共有中にペンが使える

です。Slack のハドルもいつの間にかペンが使えるようになりましたが、この画面共有中の画面にペンで書き込めるのがめちゃくちゃ便利なんですよねーーー。別の機会に紹介したいぐらい重要かつ好きな機能です。

どんな働き方なのか(開発)

開発プロセス

基本的にスクラムを1週間(プロジェクトによっては2週間)スプリントで回しています。

  • 月: スプリントプランニング
    • バックログをチームみんなで眺めながらざっくり今週できそうなものをピックアップしてプランニングポーカーをします。
      • ちなみにバックログは Jira で管理していて、プランニングポーカーは Async Poker という Jira のプラグインを使っています。めっちゃいいです。
  • 火〜木: 開発
  • 金: ふりかえり

開発スタイルは、とても一般的な GitHub を使った PR ベースでやっています。お互いに PR をレビューをして、大きめの機能追加や変更であれば PM にもプレビュー環境で動作確認してもらい(逆に小さい変更であれば PM のチェックなしにガンガンマージしています)、main ブランチに PR がマージされたら自動的に本番環境にデプロイされます。自動テストをメリハリを付けて特に重要な機能は厚めに書いているので「基本的には CI が通っていれば本番デプロイしても問題なし」という判断で本番環境への自動デプロイを今も継続しています。

開発チームと担当プロダクト

2023年2月現在、2チーム体制になっています。

マネイロチーム

メイン事業である「マネイロ」自体の開発をするチームです。

マネイロ Web

https://moneiro.jp/ 上の

  • オンライン診断ツール
  • オンラインセミナー(動画配信の仕組みとプレイヤー)
  • オンライン相談の予約システム
  • マイページ
  • オウンドメディア https://moneiro.jp/media

などが主要なプロダクト(機能)です。

プロダクトの性質上、フロントエンドが強めで

  • TypeScript
  • React
  • GraphQL
  • Next.js
  • Vercel

などを使い開発します。バックエンドは次に紹介する内製 CRM が GraphQL サーバーも兼ねているのでマネイロチームが内製 CRM の一部を触ることもあります。ここは将来的にマネイロチームのバックエンドとして内製 CRM から分離したい部分です。

新規プロダクトA

内容は非公開ですが採用している技術スタックが楽しい感じなので紹介します。

コーポレートプロダクティビティチーム

会社(コーポレート)の生産性(プロダクティビティ)を高める開発をするチームです。大きく2つのプロダクトを開発しています。

内製 CRM

「マネイロ」のファイナンシャルアドバイザー(営業チーム)の業務を限りなく自動化・効率化することを目的に、Salesforce などの既存の CRM を使わずに、あえてここに投資をしようという意思決定のもと、以下のような機能をもった内製 CRM を開発しています。

  • 顧客管理
  • 商談管理
  • スケジュール管理
  • 保険・証券業界特有の業務をサポートする各種機能

などがあります。具体的な機能はあまり公開できないので4つ目にまとめちゃってますが、弊社の事業上、最も重要なプロダクトです。キリッ。

プロダクトの性質上、バックエンドが強めで

などを使い開発します。で、これまたよくある話ですが Rails のフロントエンドを Slim から SPA に置き換えている最中です。なので、

などを平行して触ります。

ちなみに、2チームとも全員がフルスタックでフロントエンドもバックエンドも同じ人が開発します。なので「フロントエンドもバックエンドも両方やっていきたい!なんなら GCP も触りたい〜〜〜」という人に弊社はとてもおすすめです。

新規プロダクトB

これまた非公開ですが採用している技術スタックが楽しい感じなので紹介します。

プロダクトとしてもとても面白いことに取り組んでいるので、詳細は是非カジュアル面談で聞いてください!

チーム・プロダクト・技術スタックまとめ

  • マネイロチーム
    • マネイロ Web: Next.js
    • 新規プロダクトA: Next.js + NestJS
  • コーポレートプロダクティビティチーム
    • 内製 CRM: Rails + Next.js(Slim から SPA へ移行中)
    • 新規プロダクトB: Remix + NestJS

これから何をやっていくのか

人・チーム

1チーム3〜4人が最高と思っているので、この1チームのサイズをキープしながらスケールしていきます。具体的には4人x2チームの8人から、ちょうど2倍の4人x4チームの16人体制にするのが当面の目標です。

プロダクト

いまいま新規プロダクトを2つ開発中なので、当面は

  • 既存プロダクト2つの進化
  • 新規プロダクト2つの完成

にフォーカスして開発していきます。

技術

  • REST API から GraphQL への移行はいよいよ大詰めで、近々終わりそうです。(みんなでがんばった・・・)
  • Rails フロントエンドの SPA 化は着々と進行中です。
  • 今後は TypeScript で統一
    • 既に着手中の新規プロダクト2つはフロントエンドもバックエンドも TypeScript で書いてます。
    • 今後もさらに新しいプロダクトを作るとしたらそうするつもりです。
    • 既存の Rails をどうするかは悩み中です。が、途中ちょっとだけ触れたマネイロチームが触る部分を内製 CRM から分離することはやりたいです。ここから TypeScript 化していくのが現実解になりそうです。

CTO としては

事業の成長に比例して、それを支えるエンジニアリングチームもスケールしていきます。CTO としてはこの事業とエンジニアリングチームのバランスを保つことをとても意識して日々いろいろと試行錯誤しています。そして、何よりみんなの働きやすさ!そのためにやれることは全部やっていくぞ。という気持ちで毎日過ごしています。

おわりに

会社や事業については会社紹介資料の方が詳しく書いてありますので興味を持っていただけた方は是非ご覧ください。

https://speakerdeck.com/monicle/aboutspeakerdeck.com

マネイロも普通に使ってみてください!まずは3分診断をどうぞ!

moneiro.jp

それでは!