mimi

Sansanの
人・組織・カルチャーを
伝えるメディア

顧客価値と事業成長を追求する開発組織 それがSansan Engineering Unit

営業DXサービス「Sansan」。名刺や企業情報、営業履歴を一元管理して全社で共有することで、売り上げ拡大とコスト削減を同時に実現するこのプロダクトの開発・運用を担う組織が、技術本部のSansan Engineering Unitです。副部長の奥村貴史とテクニカルリードの加畑博也は「ハイスキルなエンジニアにとって、Sansan Engineering Unitはやりがいのある環境」と口をそろえます。今回は開発体制の特徴や今後の展望などを聞きました。

 

PROFILE

奥村 貴史Takashi Okumura
Sansan Engineering Unit 副部長

SIerにてWebアプリケーション開発をメインに、業種業界を限定しない業務アプリケーション構築に従事した後、2016年3月にSansan株式会社にWebエンジニアとして入社。現在は営業DXサービス「Sansan」の開発を担当し、現在はSansan Engineering Unit 副部長として、組織のマネジメント、複数のプロジェクトに関与。

加畑 博也Hiroya Kabata
技術本部 Sansan Engineering Unit テクニカルリード

大学院卒業後、大手電機メーカーに研究開発職として新卒入社。2014年11月、Sansan株式会社にWebエンジニアとして入社。営業DXサービス「Sansan」の開発を担当し、現在は複数のプロジェクトマネジメント、チームマネジメントを兼任


事業欲求にエンジニアリングで応える組織

Sansan Engineering Unitの組織体制や開発プロセスについてお聞きします。

奥村:「Sansan」の開発に携わる組織のうち、Webアプリケーションの開発をしているグループは二つあります。ひとつはProduct Enhancementグループで、事業要求に答えるための大規模な機能開発や、技術的難易度の高い基盤改善のプロジェクトを担当しています。もうひとつはProduct Reliabilityグループで、システムの安定稼働を責務として細かな機能改善や不具合解消、ライブラリのアップデートといった改善をスピーディーに回していく役割です。

両グループにマネジャーが1名ずついて、メンバーは各15名程度。合計30名程度のエンジニアで「Sansan」を開発しています。他にもモバイルアプリやインフラを担当するグループなどがあります。開発体制は都度最適と考えられる変遷を繰り返していますが、現在は上記のような体制になっています。

開発案件においては、プロジェクトチーム制を採用しており、全員が柔軟に複数の機能を開発しています。過去には機能型チーム体制を採用していた時期もありましたが、タスク量の偏り、知識の局所化、設計の不整合といった課題が生じました。

「Sansan」は多くの機能が搭載されており、注力したい機能が事業要求により変化します。その事業要求に最速で答えること、またプロダクトとしての一貫性を保つことに重きを置き、エンジニアが臨機応変に開発に携わる体制にしています。

また開発プロセスに関して、プロダクト全体においてはイテレーティブに機能追加や改善を行い、プロダクトをビルドアップさせています。個々の案件内は、要件定義・設計・開発・テスト・リリースといったウォーターフォール的なプロセスです。各案件はバックログで一元的に管理しており、事業要求を始めとしたさまざまな観点から優先度が設定され、基本的に優先度が高いものからプロジェクト化、開発します。

エンジニアもコードを書くだけではなく機能の企画段階からしっかり関与し、顧客が抱えている課題を理解して要件に落とすところから、開発組織の各メンバーやプロダクトマネジャーとともに議論しながら進行します。

顧客課題に対して、最適な解決策を検討する上で、既存のシステムへの迎合は重要な要素です。それらを含めた開発をスピーディーにする上で、エンジニアも企画段階から関与することが全体効率がよいと考えています。

よりハイレベルな課題解決を目指す文化

Sansan Engineering Unitが持つ固有の文化についても聞きたいです。

加畑:プロダクトを通じた事業貢献を重視する文化があります。開発プロセスにもその文化が反映されています。「Sansan」というプロダクトはかなり規模が大きいですし、数多くの顧客を抱えています。不必要な機能や不整合な設計を盛り込んでしまうと、影響範囲が非常に広いので注意が必要です。そのため、プロダクトの成長や顧客の事業を阻害しないように、丁寧に意思決定を重ねています。

奥村から話があったようにプロダクト全体としてはイテレーティブなプロセスですが、個々の案件については要件定義・設計・開発・テスト・リリースというウォーターフォール的なプロセスをとっています。スクラムのような開発フレームワークは採用しておらず、古典的なプロジェクトマネジメントを行っています。上流フェーズを重視し、要件や設計について十分に議論をしています。各エンジニアがプロジェクトを持ち、ステークホルダーとの調整から開発中に発生した問題の解消やリリースまでを自律的に進めます。

その体制であれば、各々が主体性を持ってプロジェクトに携わることが求められるでしょうね。

加畑:そうですね。「Sansan」は歴史が長いからこそ仕様も複雑ですし、これまで積み上げられてきたコードやデータなどの資産も膨大なので、システムを開発する難易度が高いです。だからこそ、エンジニアが自分自身で情報をキャッチアップしつつ、設計・実装方針を考え、その妥当性についてきちんと論理立てて説明できるスキルが求められます。

難易度が高く、それゆえにハイスキルなエンジニアにとってやりがいがありそうです。プロジェクトの事例についても話していただけますか?

加畑:私たちはいま、「Sansan」にとって重要な機能である企業・人物データベースの開発を進めています。これは、「Sansan」に蓄積された名刺やメール、商談履歴、契約などの情報を企業・人物の単位で統合し、その関係性も含めて営業活動に活用できるような機能です。

なぜ、この機能の開発が難しいかというと、データが膨大かつ多種多様なので、それらを正規化して集約する仕組みがまず必要です。さらに、この機能をWebアプリケーションで提供するためには、高速に自由度が高い検索ができる仕組みを構築しなければなりません。

また、こうした機能開発だけではなくシステムの基盤改善など運用においても難易度の高い仕事が多いです。たとえば、フレームワークやライブラリのアップデートをするだけでも、考慮すべき点がたくさんあります。「Sansan」ではパフォーマンス最適化のためにヒント句などを用いてクエリのオプティマイザに関与している箇所があります。

もしも、PostgreSQLの外部仕様が変わっていなくても内部実装が変更されてオプティマイザの挙動が変更になると、クリティカルなパフォーマンス劣化などが起きてしまう可能性があります。そのため、各種ソフトウェアの内部的な設計も理解して、システムの整合性を保ちながら運用をすることが求められます。

名刺管理ではなく、
営業DXを担うプロダクトへと進化する

Sansan Engineering Unitの課題はどのような点にあると思われますか?

奥村:開発スピードですね。実現したいことは山ほどあり、バックログが積み上がっているものの開発が追いついていないのが現状です。また、開発の難易度もそれなりに高いので、そういった案件をスピーディーに遂行できるエンジニアをもっと増やさなければならないというのが組織の課題です。

「Sansan」は15年近く開発が行われてきたプロダクトですが、なぜ追加すべき機能がまだ山ほどあるのでしょうか?

加畑:メイン顧客である営業の方々に活用していただきたいデータを扱う機能が、まだまだ「Sansan」に盛り込めていないためです。「Sansan」は名刺を管理するプロダクトとしてスタートしましたが、数年前に「営業の業務をDXで支援するサービス」に方向転換しました。名刺以外にもメールや契約、請求書、商談など営業活動に関連するデータは膨大にあるのですが、いまはまだそれらの一部しか「Sansan」で取り扱えていません。

プロダクトとして成熟期ではなく、むしろこれから進化していくフェーズなのですね。どのようなタイプのエンジニアが「Sansan」の開発にはマッチするでしょうか?

奥村:事業会社ゆえかもしれませんが、エンジニアであっても事業成長に貢献することが最も大切なことだと考えています。「私たちが開発する機能は顧客のどのような課題を解決するのか」「何を作れば事業の価値につながるのか」といった、顧客価値・事業成長を目的として開発に向き合える人であってほしいと思います。

また、加畑も言っていたように、簡単ではない難易度の開発案件が積み上がっています。したがって、ある程度のキャリアがあり、技術力にも自信があって、もっと自分を成長させたいという方は、やりがいを持って働ける環境ではないでしょうか。

加畑:エンジニアリングの力で事業・プロダクトを推進するマインドとスキルのある人であってほしいです。たとえばエンジニア同士で設計について論点が生じて、チーム内で意見が分かれた場合に「なぜ、自分はこの設計にするべきだと考えるのか」を客観性を持って説明できる力が求められます。

過去のプロジェクトでもそういった経験を積んできた方で、ソフトウェア開発の難しさや組織の課題に対して向き合いつつ、自分自身で意志決定して推進していける方に、ぜひSansan Engineering Unitに来てほしいです。

 


カジュアル面談を実施しています

営業DXサービス「Sansan」のエンジニアとして働くことに興味のある方に向けて、カジュアル面談を実施しています。Sansan Engineering Unitのメンバーが、本記事で語られている組織体制や開発プロセス、実際の業務内容について一歩踏み込んだ話を現役エンジニアの視点からお話しします。「現場の雰囲気を知りたい」「Sansanのエンジニアリングの挑戦について聞きたい」という方は、ぜひエントリーをご検討ください。

 

 

text&photo: mimi