Sansan Tech Blog

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

Vol.01 Contract Oneのフロントエンド開発環境と改善のこれから

技術本部 Strategic Products Engineering Unit Contract One Devグループの井上です。Sansanに入社してから早いもので二年が経ちました。振り返ってみると、さまざまな経験を積むことができました。入社当時と比較して、バックエンドとフロントエンド、どち…

Vol.00 Strategic Products Engineering Unitブログリレーを開催します!!

技術本部 Strategic Products Engineering Unit Contract One Devグループの井上です。 Strategic Products Engineering Unit(以下SPEU)は、契約データベース「Contract One」や「名刺メーカー」など、Sansanの新規事業の開発をしている組織です。 この度…

【後編】24新卒開発研修で新しいツールを導入した話 〜pre-commit の導入方法と使い方など〜

こんにちは、研究開発部 Automationグループで研究員をしている李です。 本ブログでは、前編 に続き、新卒開発研修*1 *2に導入したpre-commitの使い方などを共有します。 *1:2023年 研究開発部 新卒技術研修 ~ 実践編 ~ - Sansan Tech Blog *2:2023年 研究開…

【前編】24新卒開発研修で新しいツールを導入した話 〜Ruffの導入方法と使い方など〜

こんにちは、研究開発部 Automationグループで研究員をしている李です。業務として、Bill Oneの請求書情報に関する作業効率改善に従事しています。 例年通り *1 *2 4月24日(水)~4月26日(金)で研究開発部(以下、R&D)内の技術研修を実施しました。開発…

マイクロサービスアーキテクチャのリポジトリ構成を漸進的にモノレポに移行した話

Sansan Engineering UnitでSansan Data Hubの開発をしている藤原です。 前回はニッチに深く潜り過ぎたので、今回は(使い古されたネタではありますが)モノレポ化についてお話ししたいと思います。

【イベントレポート】イマドキのC# .NET Web開発 〜gRPC, GraphQL, Blazorもあるよ〜 を開催しました

はじめに こんにちは、技術本部 Sansan Engineering Unit Data Hubグループの髙芝です。 2024年5月15日にData Hubグループ単独として初のイベントを開催しました。 sansan.connpass.com 弊社のデータ連携ソリューションであるSansan Data Hubを題材として、G…

セキュリティ重視のCloudSQLアクセス方法

Strategic Products Engineering Unit(SPEU)チーム所属で名刺メーカーのインフラを担当している川村です。営業DXサービス「Sansan」では、既存の社内インフラサービスを活用して名刺作成業務を効率化する名刺メーカーという機能があります。 sansan-meishi…

JiraAPI×GAS×LookerStudioで生産性指標測定ダッシュボード作成

はじめまして、技術本部 Sansan Engineering Unit Master Data Groupの佐藤です。普段は人事異動情報、企業ニュース、役員管理職情報の収集や提供をするシステムの開発を行っています。現在技術本部では、単月の生産量を2倍にするという目標を掲げ、生産量向…

【Turning Encounters into Innovation in Cebu】 Vol. 2: Development insights

Welcome back to Sansan Global Development Center blog! I'm Vani from the Engineering Team, and I'm excited to share our team's journey and development process with you. In this blog post, we'll dive into the evolution of our engineering te…

Automating everything with macOS and Ollama

Hi, I'm Juan Martínez, Researcher at Sansan's R&D Department.During the last year our team has been building a growing number of applications that leverage the power of Large Language Models (LLMs) to activate the business data of Sansan u…

【Sansan Tech Talk】インボイス管理サービス「Bill One」の技術的挑戦 〜グローバル展開と開発の複雑性〜

こんにちは、Sansan Engineering Unitで副部長を務めている笹川 裕人です。Sansan技術本部のテックリードたちが取り組んでいる技術的な取り組みやチャレンジを対談形式で深掘りする「Sansan Tech Talk」。今回は第2回として、Bill One Engineering Unitのチ…

Kubernetesクラスタ更新時のマニフェスト差分をGitのブランチで吸収する

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 名古屋にある中部支店に所属しています。 Kubernetesのマニフェスト管理方法とクラスタのバージョン更新時の運用方法を変更したため、共有します。

同期的なコミュニケーションでチーム内の距離を縮める

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 名古屋の中部支店に所属しています。 普段はCircuitというアプリケーション基盤を作っています。 先日、チームメンバーと同じ会議室に集まり、業務とワークショップを行いました。

Node.jsによるReverse Proxy実装をGoでリプレイスした話

Node.jsによるReverse Proxy実装をGoでリプレイスした話 技術本部 Bill One Engineering Unit(以下、Bill One EU)の川原です。23卒としてSansan株式会社に入社し、インボイス管理サービス「Bill One」の開発をしています。今回はNode.jsによるReverse Prox…

iOS/macOSオンデバイスで爆速で動作する音声認識モデルWhisperKit

iOSエンジニアの堤です。先日3月28日に開催された弊社主催のLTイベントで、「WhisperKitがだいぶ良いので紹介する」というタイトルで発表しました。 スライドはこちら: www.docswell.com 本記事は、同発表をベースとしつつ、(LTでは時間が足りないので)発…

【Sansan Tech Talk】名刺アプリ「Eight」の技術的挑戦 〜EC2からの移行とモジュラーモノリス化への道〜

こんにちは。Sansan Engineering Unitで副部長を務めている笹川 裕人です。新たにスタートする、この「Sansan Tech Talk」。Sansan技術本部のテックリードたちが取り組んでいる技術的な取り組みやチャレンジを対談形式で深掘りします。初回となる今回はEight…

BigQueryを使ってCrashlyticsのデータを分析する

技術本部 Mobile Applicationグループ所属の大塚です。名刺アプリ「Eight」のAndroidアプリの開発と、営業DXサービス「Sansan」とEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術的課題の解決や、PoCの開発を担…

MongoDBのoplogについて理解を深めた話

こんにちは、Sansan Engineering Unit マスターデータグループの金子です。 私たちが開発しているシステムの中に、MongoDBを採用しているシステムがあります。私自身NoSQLを使用しているシステムの開発に携わるのは初めてなので、毎日いろいろな学びを得てい…

Sansan iOSアプリにおけるPrivacy Manifests対応の詳細と詰まったこと

こんにちは、技術本部 Mobile Applicationグループで iOSアプリケーション開発しています。武田です。2月29日にAppleから発表がありました。それは5月1日からPrivacy Manifestsに対応していないアプリはアップデートができなくなる、という内容です。これに…

【R&D DevOps通信】Google Compute Engine + GPUで動作するMLサービスの基盤を刷新した話(技術選定編)

技術本部 研究開発部 Architectグループの島です。見習い12年目です。 今回は、当社のデータ化技術の粋である「NineOCR」について、そのインフラ・デプロイの基盤を刷新したお話をします。NineOCRに関しては、以下の記事などをご参照ください。 buildersbox.…

Metalシェーダーで形状のアニメーション

技術本部の堤です。弊社には「Geek Seek Workshop」という社内勉強会を支援する制度がありまして、かなり活発に利用されています。私もその制度を利用して、もう1名の同僚と「リアルタイムグラフィックスの数学 - GLSLではじめるシェーダプログラミング」と…

Jest のメモリまわりでハマった話

こんにちは、Sansan Engineering Unit の渡邉です私たちのチームではTypeScriptで開発しており、テストはJestを用いて書いています。ある日からテストが結構な頻度で落ちてしまうように(FLAKY *1に)なっていました...。 そこで、テストがFLAKYになっている…

「エンジニア組織の成長を加速させる」Sansan技術本部 新VPoE 就任インタビュー

こんにちは、Sansan Tech Blog編集部です。今回は2016年に入社し、関西開発拠点の立ち上げを経て新規事業のプロダクト開発責任者となり、4月1日にSansan株式会社のエンジニア組織全体のマネジメント責任者であるVPoE(Vice President of Engineerの略)に就…

チーム開発合宿 2024 in 徳島県神山町(技術編)

こんにちは、研究開発部 Architectグループの辻田です。 この記事はチームメンバー合同で作成した記事です。 先日、神山ラボへ開発合宿に行ってきました。この記事では合宿中に取り組んだ内容について紹介します。合宿の目的や、全体の様子はチーム開発合宿 …

TypeScript開発にRailway Orientedを持ち込み、より型安全なエラーハンドリングへ

Digitization部 Bill One Entry*1グループの秋山です。 はじめに Domain Modeling Made Functionalというスゴ本 補講:Make Illegal States Unrepresentable バックエンドの処理を抽象化する 手続き型プログラミングの典型例 課題1:制約のないエラーハンド…

チーム開発合宿 2024 in 徳島県神山町(レポート編)

こんにちは、研究開発部 Architectグループの辻田です。 今年も神山ラボへ開発合宿に行ってきました!新メンバーも加わり、チームとしては2回目の開発合宿*1です。本記事では合宿レポートを紹介します。合宿で取り組んだ技術的な内容は別記事で出しますので…

Firehoseを介したS3への中間データ保管と検索性強化

はじめに こんにちは、研究開発部 Architectグループの辻田です。 SansanではユーザーフィードバックがSlackのフィードバックチャンネルに集まります。研究開発部ではこれらからモデルやアルゴリズムなどの改善をしています。 そのため、より多くのフィード…

Eightのデータ抽出基盤をサーバーレスで作る際に工夫したこと

こんにちは、Eight Engineering Unitの井上です。 Eightのデータ抽出基盤である Data Management Platform(以下、DMP)の開発を担当しています。 はじめに Eightは330万人を超えるユーザーにご利用いただいており、お預かりしているデータ量も日々多くなっ…

terraform planの自動化に向けて直面した課題と解決策

はじめに こんにちは! 技術本部 Bill One Engineering Unit(以下、Bill One EU)の笹島です。 IaC推進チーム(横串チームの1つ)として、CI環境でのTerraform Planの自動化に取り組んできました。 横串チームとは、Bill One EU内の各グループの垣根のない…

Salesforceの「取引の開始」関連項目がnullになるタイミングについての話

はじめに 初めまして、技術本部 Sansan Engineering Unit Data Hubグループの菊池です。 約6年間Salesforce エンジニアとしてさまざまな経験を積み、2021年1月からSansan株式会社に入社しました。 現在は、営業DXサービス「Sansan」とSalesforce連携を実現す…

© Sansan, Inc.