こんにちは。Sansan Tech Blog 編集部です。
2022年7月27日に、LINE社・SmartHR社・freee社・Sansanの4社合同「サーバーサイドエンジニア採用説明会」がオンラインにて開催されました。
この記事では、登壇した加畑(技術本部 Sansan Engineering Unit / テクニカルリード)の登壇資料をもとに「Sansan」のサーバサイドエンジニアの仕事や働く環境、現在の課題などをご紹介します。
当日の様子も公開されていますので、ぜひ合わせてご覧ください。
Sansanのサーバサイドエンジニアについて
Sansanが提供するサービス
Sansanでは、人と企業にかかわる出会いをビジネスチャンスにつなげるデータベースとして、複数のプロダクトを提供しています。
その中で、今回は社名にもなっている「Sansan」についてご紹介します。
開発環境
全てのプロダクトのエンジニアが技術本部に所属しています。
その中にある「Sansan Engineering Unit」が「Sansan」を開発する組織です。メンバーは約50名で、さらにいくつかのグループに分かれています。
開発プロセス
開発プロセスは、紆余曲折を経たのち、現在は「作るべきものを見極めて、確実に作る」ということを重視したプロセスに落ち着いています。
まず企画から始まり、おおまかな要件を決めます。
それをリファインメントという場に持っていきます。ここでは、企画の内容をエンジニアがレビューします。全エンジニアが任意で参加し、自由に発言できます。
リファインメントを通過したプロジェクトは、アーキテクトによる大まかな方向性の検討を経て各チームにアサインがあり、開発に入ります。
プロジェクト
前四半期では、新規機能開発:約15件、既存機能改善:約15件、技術改善:約20件、運用改善:約10件 など、大小合わせて約60のプロジェクトを行いました。*1
最大限のパフォーマンスを出せるように、プロセスを含め日々改善をしています。
技術的課題
フレームワークの移行
.NET Framework から .NET へ移行するために、仕様と実装の整理も兼ねて再実装を進めています。
バックグラウンド処理の刷新
「Sansan」は15年ほど続く*2サービスです。そのため、古くから残る多くのバッチアプリケーションがあります。これを運用上の課題に対してメッセージング処理に移行しています。
そのトレードオフとして設計の制約が強まる中で、適切な設計をして再実装し、システム全体の可用性を向上していくことが求められています。
データアクセスの性能改善
「Sansan」は企業毎にデータベースを振り分けています。企業によってデータの傾向が異なり、最適なクエリ・実行計画も異なります。
今後さらにサービスをスケールさせるために、抜本的な対策が必要となります。
「課題発見」という課題
ほとんどの課題はぼんやりしており、明らかなものばかりではありません。そこで、課題を自ら発見し、仮説検証してステークホルダに説明できるというような、プロダクトを前に進める力が求められます。
プロダクトと組織が成長してきた今、「Sansan」はそのようなフェーズにあります。
Sansanプロダクト開発の魅力
名刺というユニークな切り口から市場をつくり、10年以上リードし続けてきたという自負があります。その上で、新たなチャレンジもしていく土壌があります。
また、既存の仕様や設計と整合して改善・開発を進めるなど技術的な難易度が高いフェーズにあり、技術でサービスの成長を後押し・リードしながら、エンジニアとしても成長できる環境があります。
おわりに
この記事では、4社合同「サーバーサイドエンジニア採用説明会」での登壇資料をもとに、「Sansan」のサーバサイドエンジニアについてご紹介しました。少しでも興味を持っていただければ幸いです。
Sansanのエンジニアリング周りについては、TwitterやSansan Engineeringでも日々情報を発信しています。ぜひご注目ください。