データ戦略エンジニア


応募要項


カジュアル面談

Sansan技術本部では中途採用向けにカジュアル面談を実施しています。各プロダクトの開発チームの業務内容ややりがいを現役エンジニアの視点からお話します。「実際に働く人の話を直接聞きたい」「どんな人が働いているのかを事前に知っておきたい」とお考えの方は、ぜひエントリーをご検討ください。
 

Mission

Activating Business Data

私たちは、ビジネスデータの価値を最大化する。 データは世に溢れている。 しかし、混沌としていて、そのままでは活用できない。 Activateする必要がある。
社会情勢や市場環境、法令、技術トレンド、 あらゆる方面に目を配り、世界中に散らばるデータを集め、 整理し、最適化する。
この長く困難な取り組みにより構築されたデータベースは、 データに基づく意思決定を可能にする 「ビジネスインフラ」そのものです。

何をやっているか

複雑で膨大なビジネスデータを、収集・整理・データベース化して各プロダクトへ提供する機能を開発しています。

 
 

3つの機能を開発しています

名寄せ

多種多様なデータの名寄せを行うシステムを開発する
※名寄せ:複数のデータベースに存在しているデータを氏名・住所・電話番号などの情報を手がかりにして、同じ人物や同じ企業のデータとして1つにまとめること

公開情報の収集・ニュース配信

Web等で公開されている情報を収集、企業活動で価値あるデータやニュースに変換して各プロダクトに提供する

企業マスタ

各プロダクトの基盤となるビジネスデータの一元管理システムを開発する
 

向き合っている課題

複雑で膨大なビジネスデータ(企業情報、財務/業績情報、組織情報、人事異動情報など)を、より高速かつ安定して処理・提供するために、どのように Web API を構築するか

高品質な名寄せ、整形処理をどのように実現するか

膨大なビジネスデータをどのように活用し、ビジネスチャンスを創出できるか

R&D部門と連携し、どのような価値・どのようなプロダクトを作るか


魅力・やりがい

✔️ プロダクトを横断して価値を提供

データ戦略部門は営業DXサービス「Sansan」を中心に、プロダクトに共通データ・技術基盤を提供するので価値を届けられるユーザーが多いことが特徴です。

✔️ 高度な技術課題に向き合う

扱うデータ量が多く、また 全てのプロダクトの基盤を開発するため難易度が高い。

✔️裁量が大きい

開発チームが要件定義、仕様策定、アーキテクチャ設計、技術選定も行うため、担当領域が広い。また、1サービス1チーム制なので、自身の意思決定範囲も広い。
 

エンジニア組織について

データ戦略部門の開発体制とプロセス

フロント、バックエンド、インフラなどの領域に応じた特別なロールはなく、得意なメンバーを中心に皆で分担しています。
 
スクラムをベースとしたアジャイル開発を行っており、多くのチームが1週間のスプリントを回しています。
 

設計や技術選定の流れ

各チームでデータを見ながらディスカッションして決めます。
データは、自前で収集した企業データや人事異動情報に加え、各プロダクトから集まるユーザーデータも含めて膨大な量のデータを扱っています。
設計や技術選定のプロセスにおいては、ロジックやアーキテクチャの検証のためにそれらのデータを再現したステージング環境を用いて、仮説の精度や非機能要件を確認し、フィージビリティ調査しています。
 

代表的な1日のスケジュール

Nayose Group所属のWebエンジニアの代表的な1日のスケジュールです。この日は在宅勤務です(出社は週1回)。

9:30

Slack確認、コードレビューコメント対応

10:00 Group朝会

基本的にはエラー発生状況の確認、課題の相談、技術情報などを共有

10:15 プロジェクト朝会

プロジェクトごとのスモールチームに分かれ、チーム内でコミュニケーションします

10:30 ~ 12:00 設計や実装タスクに取り掛かる

  • 要件定義タスクは、蓄積されたデータをAWS AthenaやBigQueryなどで確認しつつ、開発方針決めのための仮説構築と検証作業を行います
  • 設計以降のタスクは、設計、実装、テストなどプランニングされたチケットに向き合います
🍽️
12:00 ~ 13:00 昼休憩
出社メンバー同士で昼食したり、在宅メンバーは家族やペットと共に昼休憩
費用補助制度を使って、食事をしながらDDDや言語の勉強会もします

13:00 設計ミーティング

チーム内で設計レビュー会を実施。アーキテクチャ図やモデル図を確認しながら、チーム内でディスカッション

14:00 ~ 17:00 午前中の続き

  • 開発作業に集中。行き詰まったら、Slackやバーチャルオフィスツールなどを使って、メンバーに話しかけ、相談し、助けてもらいます。
  • ローテーションしてる運用担当という役割もあり、当番の場合は問い合わせ、エラー通知などの1次受けの担当など、差し込みタスクも発生しますが、チーム内で優先度調整、タスク分担、計画変更など柔軟に対応します。
  • 1週間のスプリントの最終日には、スプリントプランニングなどのスクラムイベント系ミーティングもあります。

17:30 プロジェクトの夕会(デイリースクラム)

  • 一日の締めくくりに、スモールチーム内でデイリースクラムして、発生した課題の共有と対応方針決めをします
  • 大量データに向き合う中で、どんなデータパターンがあるか、どんな解決手段が有効かなど悩むことも多いので、この場で相談、議論します

18:00

相談して得た結果を踏まえ、作業の区切りがつくまでデータ分析、実装などの作業に戻ります

19:30 退勤

※定時は18:30です

フレームワークやライブラリのバージョンアップへの考え方

セキュリティリスクの解消や、新機能を利用することによる開発生産性や開発者体験の向上を目指して、できるだけ最新バージョンを利用することが望ましいと考えています。
大型バージョンアップ直後は不安定な可能性もあるリスクや、機能開発タスクの進捗などとバランスを取りながら、日々の運用やクォーター単位で作業計画して取り組んでいます。
 

技術的負債の解消に向けた取り組み

短期間で解消できるものは、普段のスプリントの中で随時対応して、改善しています。
一方、規模の大きな取り組みになる場合、ビジネスサイドと優先度のすり合わせを行い、OKRに組み込む活動をしています。直近でも、デプロイ方式の刷新や、各プロダクトとのデータ連携方式の変更などに取り組みました。
 

データ戦略部門 紹介資料


Pick Up コンテンツ

ビジネスデータに可能性を感じている人と 「データ戦略部」で一緒に働きたい

技術本部 Sansan Engineering Unit Master Dataグループ 松本 清紀

技術本部データ戦略部、マスターデータグループエンジニアの松本清紀にインタビューを行いました。2年前の入社時からやりたいと思っていたことに今ようやく集中して取り組める環境が整ったとこと。「データ戦略部」のエンジニアならではの面白さとは。 続きを読む
※記事内の組織名称は、2022年7月時点のもの

メンバー執筆記事

 

 
 

データ戦略部門 技術スタック

CategoryNayoseWISEZero CrawlerYoda
Programming Language / Library etc.Frontend Ruby on Rails (ERB)Frontend TypeScript, ReactFrontend TypeScript, Next.js (React)
Backend Ruby on RailsBackend Ruby on Rails, Python (Fast API)Backend Python (Scrapy, Fast API) Backend TypeScript (NestJS)
InfrastructureAWS (EC2, ECS,S3, SQS 他),GCP (Bigquery)AWS(EC2, ECS, S3, SQS 他)AWS (EC2, ECS, S3, SQS 他), Scrapy CloudAWS (ECS, S3, SQS 他), GCP (GCS, Dataform, Pub/Sub, CloudRun 他)
DatabaseAurora MySQL, OpenSearch Service, Redshift, DynamoDB, CloudSQL, BigQuery
利用ツールDocker, Terraform, GitHub, CircleCI, Datadog, Opsgenie, Sentry, Copilot, Notion, Slack 他

当社エンジニアに関する記事

 

Sansan株式会社について

 
 

Sansan Tech Podcast

当社のエンジニアがお届けするPodcastです。Sansanエンジニアの技術のこと、カルチャーのこと、日々のSansanライフについて自由に語っています。