Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

開発

Contract Oneチームで4泊5日の開発合宿に行ってきました

Contract Oneチームで4泊5日の開発合宿に行ってきました 技術本部 Contract One Engineering UnitでAI契約データベース「Contract One」の開発をしている山邊です。 先日、Contract Oneのエンジニアチームで4泊5日の開発合宿を実施しました。場所は三浦半島…

EightでStripeの3Dセキュア認証に対応した話

名刺アプリ「Eight」でエンジニアをしている菅間(@sugamaan)です。今回はEightで展開している中小企業向け名刺管理サービス「Eight Team」にてStripeの3Dセキュア認証(以後3DSとする)に対応した話をしようと思います。 背景 Eight Teamでは決済システム…

ドラッカー風エクササイズでチームビルディングしました 🌸

こんにちは。名刺アプリ「Eight」でエンジニアをしている大久保(@tako_ta)です。 最近は、オンライン英会話スクールで英語の勉強を頑張っています。 さて、今回はEightの開発チームで取り組んだチームビルディングについて紹介し、その活動の背景、実施し…

【イベントレポート】舞台裏を覗く!生成AIプロダクト開発のリアル

2025年3月24日に開催された「舞台裏を覗く!生成AIプロダクト開発のリアル」に、Sansan株式会社技術本部 研究開発部 SocSciグループの中尾遼太が登壇しました。 本イベントでは、生成AIを活用したプロダクト開発の事例や、社内外での導入・運用ノウハウを、3…

Rspackに移行したらフロントエンドのビルドがめっちゃ速くなりました

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近は、カフェに入ってコカ・コーラとクラフトコーラがあったら、クラフトコーラを選ぶようにしています。 なんかちょっとオシャレな感じしますよね。 ただ、味の当たり外…

EightではRubyへの型導入を進めています

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近は、社内の謎解きが好きな人たちとリアル脱出ゲームに参加しています。 10人ほど必要なイベントでもすぐに人数が集まるので、社内にコミュニティーがあるのはありがたい…

エンジニアの手作業を減らす!運用業務トイル削減の裏側

こんにちは。本記事は技術本部 Strategic Products Engineering Unit Contract One Devグループの松永と高橋からお届けします。本記事では、「Contract One運用業務のトイル削減」における、二つの施策をご紹介します。具体的には、松永から「テナント作成予…

Denoで作るチーム開発生産性向上のためのCLIツール

こんにちは。Sansan株式会社でエンジニアをしている伊藤です。 契約データベース「Contract One」の開発を担当しています。 Contract Oneの開発チームでは日々開発生産性向上について向き合っています。運用作業の自動化や開発体験の向上などを行なっていま…

個人目標と360度FBでチームの成長速度を向上させる取り組み

こんにちは。Sansan株式会社でエンジニアをしている伊藤です。契約業務をDXで革新するプロダクト「Contract One」の開発業務を担当しています。私は現在、5人のチームに所属し、新規機能の開発とチームマネジメント業務を担っています。今回は、私のチームで…

Yup to Zod ~スキーマバリデーションライブラリの移行~

Contract One Dev グループの井上です。本年もどうぞよろしくお願い申し上げます。私たちのチームでは、先日、「Contract One Cheat Day」と銘打って社内ハッカソンを開催しました。 社内ハッカソンの内容については、社内ハッカソンを開催したら、止まって…

フレーキーテストをCIで検知・アラートさせる仕組みを作った話(JUnit, Vitest)

明けましておめでとうございます。 2024年は皆さんにとってどんな年だったでしょうか。 私たちSansanでは、本社移転により業務環境が大きく変わり、特に印象的な年になりました。 2025年も、より素晴らしい年になるように頑張りたいですね。こんにちは。技術…

社内ハッカソンを開催したら、止まっていた改善が色々進んだ話: Contract One Cheat Day

こんにちは。技術本部 Strategic Products Engineering Unit Contract One Devグループの中川です。契約データベース「Contract One」の開発マネジャーをしています。 この記事では「Contract One」の開発組織で停滞していた技術課題や改善案に真剣に向き合…

EightをRuby3.2 から Ruby3.3+YJITにアップグレードした結果

こんにちは。Eightでサーバーサイドエンジニアをしている坂田です。 Eightは、ほぼすべての機能を1つのRailsアプリケーションから提供しています。最近、そのアプリケーションのRubyを3.3にアップグレードしました。 また、Ruby3.2時点では見送っていたYJIT…

EightでStripeのトライアル機能を導入した話

日が暮れるのが早くなり、各所でイルミネーションが始まり一年の終わりを感じる今日この頃、みなさんどうお過ごしでしょうか? どうも技術本部Eight Engineering Unit Product Devグループの平石です。今日はEightで展開している中小企業向け名刺管理サービ…

Eightの検索機能をCloudSearchからOpenSearchに移行して得たもの

こんにちは!技術本部Eight Engineering Unitでサーバーサイドエンジニアをしている常盤です。 名刺アプリ「Eight」では最近、検索機能のうち2つをAmazon CloudSearchからAmazon OpenSearch Serviceに移行しました。今回は、移行した背景やそのメリットを紹…

Web版Eightのリニューアルと、安全なリリースのための取り組み

こんにちは。Eightでエンジニアをしている藤野です。最近、電動の燻製機を買ったのですが、思った以上に煙が出るので普段使いできそうになくタンスの肥やしになりそうなのが悩みです。 さて今回は、Web版Eightをリニューアルした話と、リリースにあたって障…

HTML用ERBファイルのフォーマットを統一した話

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近、ミスタードーナツのミニオンコラボの商品を食べたのですが、 どれも美味しくて見た目もかわいいので最高でした。 特にポン・デ・リングベースのものは、表面のキャン…

30代からプログラミングを本格的に始めたエンジニアが生産性について思うこと

最近キーボードで文字を打つのが面倒になってきている技術本部 Eight Engineering Unitの斉藤です。 キーボードは既に100年以上使われ続けているみたいですね。そろそろ新しい入力の方法ができてもよさそうです。 例えば、頭で考えていることが文字に起こせ…

AWS Glueを使ってバッチ処理を60倍高速化した話

初めまして、技術本部Digitization部データ化グループ所属の高田です。 今回はAWS GlueのJobを使ってバッチ処理を60倍高速化した話をします。 この記事は以下の内容を共有しています。 AWS Glueの概要とメリット Apache Sparkの概要とメリット Pythonを使っ…

NFCタグ読み取り機能を使ったイベント受付機能を開発した話

技術本部Mobile Applicationグループの森です。 EightのAndroidアプリを開発しています。Eight主催のイベントでEightアプリを使って簡単に入場できる機能を開発したので、その紹介をしたいと思います。

レガシーに向き合う - Reactのクラスコンポーネントを置き換える前にやるべきこと

こんにちは。Eightでエンジニアをしている藤野です。 Sansan Tech Blogに最後に記事を書いたのが2020年12月なので、約3年ぶりの投稿になります。時の流れって恐ろしい。 今回は、Reactのクラスコンポーネント(Class Component)を関数コンポーネント(Function…

Floating UIのすすめ: 特徴と使い方を紹介

こんにちは。2023年にSansanに新卒として入社し、Eightでエンジニアをしている徳永です。人生初ブログとなるのでドキドキしながら書きました。ユーザーがボタンなど特定の要素をクリックまたはタップしたときに表示される、小さなウィンドウやボックスの UI …

Eight Team kintone連携機能の開発

こんにちは。技術本部 Eight Engineering Unit でエンジニアをしている辻です。 少し前にはなりますが、Eight Teamの新しいオプション機能としてkintoneとの連携機能をリリースしました。 規模的にも結構大きめの開発だったので、具体的にどのように作ったか…

Elasticsearch ことはじめ

Contract One の開発チームで EM をやっている石畑です。Contract One は「契約データベースから、収益を最大化する」をタグラインに、契約業務や管理の効率化だけでなく、契約データをビジネスに活かすためにさまざまな機能開発を行っています。 その中で最…

StorybookでReactコンポーネント分割の粒度を見極めよう

はじめまして!技術本部 Bill One Engineering Unit の杉崎と申します。技術ブログ初投稿なのでとても緊張しますね! 普段はフロントエンド成分強めの開発をしており、フロントエンドギルド(チームを横断して特定技術領域の改善やスキルアップをしていく取り…

Elasticsearch(OpenSearch)を活用した採用候補者検索の同義語辞書整備の取り組み

技術本部 Eight Engineering Unit でエンジニアをしている平石です。今回は、Eight で提供している採用サービス Eight Career Design (ECD)の候補者検索機能における、検索ヒット件数改善の取り組みについて紹介していきます。materials.8card.net

GPT に PR レビューをやってもらうために試行錯誤した話

こんにちは。Strategic Products Engineering Unit の横山です。 本記事は Sansan Advent Calendar 2023 2日目の記事です。 adventar.org 現在私は Order One というプロダクトを開発しているのですが、そこでの取り組みとして GPT による PR レビューを Git…

Reviewdog x RuboCop を使って、ローカル環境で Lint をかける機構を自作した

こんにちは、技術本部 Eight Engineering Unit でエンジニアをやっている茂木です。 普段はSansan株式会社で正社員としてフルコミットしつつ、情報系の大学に通っています。 今回は Reviewdog x RuboCop を使って、ローカル環境で Lint をかける機構を Eight…

Eight の Node.js を 16 から 20 にアップデートしました

こんにちは。 Eight でエンジニアをしている鳥山(@pvcresin)です。 今回は、Eight で使用している Node.js をアップデートした際の手順や、ハマったところについてお話ししたいと思います。

Sansan における GitHub Copilot の利用状況について

技術本部 Strategic Products Engineering Unit の P3 です。 拠点は京都の Sansan Innovation Lab というオフィスになります。 Sansan では 2023 年 4 月下旬より、利用希望者に向けて GitHub Copilot の導入を開始しました。 導入から約3ヶ月が経過したタ…

© Sansan, Inc.