明日から本気出す

低空飛行する Web Developer

Sansan株式会社を退職しました(約6年お世話になりました)

はじめに

❓ この記事は何

2024年2月末で、Sansan株式会社を退職しました。2018年2月に入社したので、約6年お世話になりました。

人生の節目として、Sansan でどんなことを経験し、何を学び、なぜ転職しようと思ったのか、書き残しておこうと思います。また、関連するアウトプット(登壇資料やブログなど)も載せておきます。

本文

🧑‍💻 Sansan でやったこと

📱 個人向け名刺アプリ Eight の開発

サーバーサイドエンジニアとして、Ruby on Rails の開発や運用を行いました。

先輩のサポートのもと、Web フロントエンド(React)のメンション機能も実装しました。この時に先輩から学んだことが、今でも私の React に関する知識の基礎となっています。

↓ Web現場Meetup#4 での登壇資料 speakerdeck.com

また、RubyKaigi にも参加させていただき、とても良い経験をすることができました。

↓ 当時、勢いで書いたブログ blog.mokuo.me

📄 データ化システムの開発・運用

その後、主にデータを扱うシステムを開発・運用する部署に異動しましま。Sansan 在籍期間の大半を、この部署で過ごしました。

最初の数年は、データ化システム1 の開発・運用に従事しました。私は名刺、請求書、人事異動情報など複数のシステムを経験しました。

名刺データ化システムでは、セルフホストしていた Jenkins を CircleCI に移行しました。

↓ Sansan Builders Box 2018での登壇資料 speakerdeck.com

請求書データ化システムでは、技術選定を含めて新規開発を担当し、かなり貴重な経験をすることができました。

Google Cloud Next ’19 in Tokyo での登壇動画 www.youtube.com

↓ Serverless 技術勉強会#1 での登壇資料(Google Cloud Next ’19 in Tokyo と同じテーマで話しました) speakerdeck.com

↓ Developers Boost (初回) での登壇資料 speakerdeck.com

また、人事異動情報データ化システムのEC2 → ECS の移行をしたり、実験的機能として人事異動情報を提供するアプリケーションを開発したりしました。

↓ Sansan Tech Blog の記事 buildersbox.corp-sansan.com

🌐 クローリング・スクレイピングを行うシステムの立ち上げ

最後の2年間は、Web公開情報を収集するクローラーの開発を行いました。

2名で開発を開始し、技術選定や設計も担当しました。徐々にメンバーが増え、サブチームのリーダーなども経験させていただきました。

メンバーにも恵まれ、後述するように、非常に多くのことを学ぶことができたプロジェクトでした。

📝 Sansan で学んだこと

技術的な話は1ページに書ききれないので割愛して、技術以外の部分を簡単にまとめてみました。

  • ひとりで開発はできない
    • 技術的にはひとりで開発することも可能かもしれませんが、仕事でシステムを開発する上では、絶対にチームが必要だと痛感しました。
    • ひとりは辛い・・・。
  • どんな技術や概念も、やり過ぎは禁物
    • 新しいツールや、DDD や Atomic Design などにもチャレンジしましたが、やり過ぎると開発効率が下がったり、デメリットを感じる部分もありました。
  • 雑談は大切
    • 私はプロジェクトに対してグッと入り込んでしまうところがあるのですが、適度な雑談や、気持ちの切り替えも必要だと感じました。
    • そうすることで、プロジェクトが厳しい局面になった場合も、チーム全体として暗くならずに済む・・・はず!
  • How だけではなく、Why や What が大切
    • マネージャーからのアドバイスで意識するようになりました。
    • どうやって作るかを先に考えてしまいがち(エンジニアあるある?)ですが、Why や What をしっかり考えて関係者間ですり合わせておくことで、How の議論もスムーズに行くのではないかと思います。
  • プロジェクトやチームをリードする場合、開発タスクよりリーダー業務を優先する
    • 常に全体に意識を配るように気をつけていました。
    • 例えば、以下のような感じです。
      • 関係者間で、ゴール感をすり合わせておく(できれば数値目標を設定する)
      • ゴールを達成するためのタスクを洗い出し、見積もり、スケジュールを引く
      • 定期的に目標とスケジュールの進捗を確認する(問題があれば相談、対処する)
      • 上長やステークホルダーへの報告・連絡・相談を丁寧に行う
      • 可能な限り、タスクをメンバーにお願いし、自分はステークホルダーとのコミュニケーションや差し込みタスクなどに対応できるようにする

💡 転職しようと思ったきっかけ

5年以上在籍していたこともあり、やりたいことはやれたような感覚がありました。

また、今後のエンジニアとしてのキャリアについて考え、新しいチャレンジをしたいと思い、他の企業さんのお話を伺ってみようと思いました。

転職活動について

スカウト中心の求人媒体や、エージェントさんなど、複数の媒体を利用させていただきました。

転職ドラフトにも初参加し、恐れ多くも60 社近くから指名をいただきました。

最終的にいくつかの企業から内定をいただくことができました。どこも魅力的な企業で、ぜひ働いてみたいと思いましたが、最後はいくつかの観点から総合的に判断をして、意思決定させていただいました。

おわりに

実は、既に次の会社で働き始めています。いわゆる退職エントリを書くには時期を逃したと思っていたのですが、今回の転職は人生の大きな節目の1つになると考え、やはり書き残しておくことにしました。

Sansan で働くことができて、本当に良かったと思っています。この経験を活かして、今後も精進してきます!!


  1. 例えば、名刺などの画像から会社名や住所、氏名、メールアドレスなどの情報を読み取り、デジタルデータに変換することをデータ化と言います。手動と自動の力を組み合わせてデータ化を行うシステムのことを、社内ではデータ化システムと呼んでいました。