Software Engineer, Datastore

Notion Notion · Enterprise · San Francisco, CA · Engineering

Software Engineer on the Datastore Infra Team at Notion, responsible for building and maintaining the systems that power databases and caches. This includes scaling relational and NoSQL databases, designing data migration frameworks, and ensuring data layer robustness. The role involves driving datastore infrastructure evolution, designing a Datastore Platform, debugging production systems, and partnering with product engineers.

What you'd actually do

  1. You will drive the evolution of our datastore infrastructure to meet the needs of over 100 million global users and support the rapid growth of our product and business. This includes ensuring our systems are reliable, efficient, and scalable, while evaluating and integrating new technologies to keep us ahead of emerging challenges. Your work will empower our engineers to build features with confidence, backed by a strong datastore foundation.
  2. You will design and deliver a Datastore Platform that simplifies how teams manage and interact with data at scale. From flexible schema management to migrating hundreds of billions of records, you’ll develop tools and frameworks that make it easier for engineers to innovate while maintaining safety, efficiency, and performance.
  3. You will develop the skills and confidence to debug live production systems with minimal disruption, whether replacing components or managing failovers. You will participate in an on-call rotation, responding to incidents to uphold service reliability and quickly restore normal operations.
  4. You will partner with product engineers and other infra teams to ensure our datastore infrastructure aligns with evolving business needs and product goals

Skills

Required

  • Experience with large scale relational databases, distributed caches, and NoSQL systems.
  • Understanding of how to design, scale, and optimize datastore systems.
  • Familiarity with cloud-based datastore solutions like AWS RDS, DynamoDB, and ElastiCache.
  • Understanding of distributed systems and ability to design solutions accounting for tradeoffs like consistency, latency, and scalability.
  • Pragmatic problem-solving skills, prioritizing business impact and balancing craft, speed, and long-term maintainability.
  • Ability to take ownership of ambiguous problems in a fast-moving environment.
  • Bias toward action and focus on results.
  • Customer empathy and collaboration skills to unblock engineers.
  • Experience with change data capture tools like Debezium for real-time data replication and migrations.
  • Experience working closely with application developers, understanding their workflows, and building datastore solutions that address their challenges.

Nice to have

  • Familiarity with AI tools to work smarter and deliver better results.

What the JD emphasized

  • Datastore Systems
  • distributed systems
  • scale
  • reliability
  • performance
  • migration
  • schema management
  • data migration frameworks
  • large scale relational databases
  • distributed caches
  • NoSQL systems
  • cloud-based datastore solutions
  • AWS RDS
  • DynamoDB
  • ElastiCache