Software Engineer, User Database Infrastructure

Backend Engineer · Senior · Full Time

San Francisco, CaliforniaUSD 299k – 334k1mo ago
Apply for this role

Opens Notion's application page

Role

What you'll do.

Senior backend engineer leading database infrastructure at Notion, transforming Postgres into an accessible, scalable platform for everyday knowledge workers. This hands-on technical leadership role spans backend systems through frontend integration, requiring 10+ years of production engineering experience with deep relational database expertise, strong fundamentals in distributed systems, and product-focused thinking to architect the next generation of database infrastructure for AI-assisted workflows.

Responsibilities

  • Architect and build database provisioning systems: Design and implement production systems that provision, manage, and operate a fleet of customer-facing Postgres instances at scale. Build automated deployment infrastructure that handles provisioning, upgrades, backups, and disaster recovery while maintaining zero-downtime operations for mission-critical customer workflows.
  • Lead schema evolution and data integrity solutions: Architect systems that allow users to safely reshape live databases with the ease of editing a document. Design migration frameworks, constraint validation, and concurrent write handling that enable business-critical workflows without requiring database expertise from end users.
  • Drive query optimization and performance analysis: Analyze query execution plans, implement indexing strategies, and optimize data loading paths to ensure consistent performance as customer datasets grow and workloads become more demanding. Use systematic profiling and tracing to identify bottlenecks across storage, services, and client code.
  • Design reliable access control and permissions systems: Build permission models, role-based access control, and data isolation mechanisms that allow customers to safely share databases and maintain data governance. Ensure row-level and column-level security implementations that scale with complex organizational structures.
  • Establish technical direction and set architectural roadmap: Lead the design and architecture decisions for the user database infrastructure product, transitioning it from early alpha to general availability. Define technical strategy, communicate architectural principles to the team, and make trade-off decisions between correctness, performance, and usability.
  • Collaborate with early customers to shape product decisions: Work directly with early adopters to understand real-world usage patterns, identify critical gaps in database functionality, and iterate on solutions that balance technical robustness with user accessibility. Transform customer problems into architectural solutions.
  • Build observability and debugging infrastructure: Implement comprehensive monitoring, logging, and query tracing systems that help users understand performance characteristics of their databases and workflows. Enable rapid diagnosis and resolution of database issues without requiring DBA expertise.
  • Lead cross-functional system design initiatives: Conduct design reviews, mentor engineers through complex technical decisions, and align backend, frontend, and product teams on architectural approaches. Navigate ambiguous requirements and turn them into practical, implementable technical strategies.
  • Implement data abstraction layers and reusable patterns: Build query layers, schema transformation engines, and data abstraction primitives that make powerful database capabilities accessible through simple, approachable user experiences. Design systems that hide operational complexity without sacrificing flexibility.
  • Balance backend depth with full-stack contributions: Contribute across the entire stack when necessary to deliver complete product experiences, from backend database infrastructure through frontend data visualization and interaction patterns. Ensure consistent performance and user experience from data storage through UI rendering.
  • Drive systematic performance improvement processes: Establish methodologies and tooling for identifying performance bottlenecks, verifying optimization impacts, and preventing performance regressions. Build internal dashboards and instrumentation that enable the team to track user workload patterns and proactively optimize.
  • Leverage AI-assisted engineering practices: Use AI tools to accelerate exploration, code generation, and testing while maintaining responsibility for validating correctness and understanding all production systems. Champion AI-first development approaches that improve engineering velocity without compromising quality.
  • Scale architecture for multi-customer operations: Evolve the database infrastructure architecture to support growing adoption, increasing concurrency, and diverse customer workload patterns. Build systems that remain performant and maintainable as customer count and data volumes scale exponentially.
  • Ensure data reliability and consistency guarantees: Design and implement robust solutions for handling partial failures, transaction conflicts, write consistency, and disaster recovery. Build systems that earn customer trust by reliably handling their most critical business workflows.
  • Mentor and guide engineering team members: Provide technical guidance through design reviews, pair programming sessions, and architectural mentorship. Help other engineers develop strong database fundamentals and systematic approaches to building distributed systems.
  • Integrate AI capabilities into database workflows: Design patterns and systems that allow AI agents to safely read, write, and query customer databases without requiring database expertise. Build abstractions that make database operations accessible through natural language and AI-assisted interfaces.

Qualifications

What we look for.

Technical

  • Production Postgres or MySQL expertise

    Deep, hands-on experience with relational database design and operation. Must have made real decisions about schema design, index strategies, and query optimization. Experience analyzing query execution plans, diagnosing performance issues involving transactions and locking, and understanding concurrency control mechanisms. Familiarity with PostgreSQL-specific features such as MVCC, JSON operators, window functions, and advanced indexing strategies is highly valuable.

  • Distributed systems and backend architecture

    Strong foundation in designing systems that handle concurrency, partial failures, and consistency trade-offs. Experience building services that must remain correct under failure scenarios, with deep understanding of retry logic, idempotency, state management, and eventual consistency patterns. Familiarity with event-driven architectures and consensus mechanisms is beneficial.

  • Go programming language

    Proficiency in Go for building backend services and infrastructure systems. Experience writing concurrent, networked code using goroutines and channels. Understanding of Go's tooling, deployment patterns, and performance characteristics.

  • TypeScript/Node.js backend development

    Strong experience building production TypeScript/Node.js services. Familiarity with async/await patterns, event handling, and building reliable APIs. Experience with framework selection and architectural patterns in the JavaScript ecosystem.

  • React frontend development fundamentals

    Sufficient React knowledge to understand component architecture, state management, and data loading patterns. Ability to work alongside frontend engineers and contribute to UI performance optimization and user experience improvements. No deep specialization required, but comfort working across the stack is essential.

  • Performance analysis and optimization

    Systematic, evidence-based approach to identifying and eliminating performance bottlenecks. Expertise using query analyzers, APM tools, flame graphs, and profilers. Experience optimizing across multiple layers including database, service, and client code. Ability to measure improvements and establish performance baselines.

  • Observability and monitoring systems

    Experience instrumenting production systems with logging, tracing, and metrics. Understanding of structured logging, distributed tracing concepts, and building dashboards that reveal system behavior. Familiarity with observability platforms and tools for diagnosing production issues.

  • API design and data serialization

    Experience designing intuitive, versioned APIs that allow backend systems to evolve without breaking clients. Understanding of serialization formats including JSON, Protocol Buffers, and binary encoding. Knowledge of pagination, filtering, and efficient data transfer patterns.

  • Testing and reliability practices

    Strong testing methodology including unit testing, integration testing, and production validation. Experience with mocking, fixtures, and deterministic testing patterns. Understanding of chaos engineering principles and resilience testing for critical systems.

  • Cloud infrastructure and deployment

    Experience deploying and managing production systems in cloud environments. Understanding of containerization, infrastructure-as-code, and deployment pipelines. Familiarity with Kubernetes or container orchestration is beneficial.

  • AI-assisted development tools

    Fluency with modern AI code assistants and AI-powered development workflows. Ability to use AI for code generation, testing, and documentation while maintaining responsibility for code correctness and security. Experience iterating with AI suggestions and validating outputs.

  • SQL and query language fundamentals

    Expert-level SQL knowledge including complex queries, window functions, CTEs, subqueries, and set operations. Ability to write efficient queries and understand query optimizer behavior. Experience with advanced SQL patterns and database-specific extensions.

  • Database operations and administration

    Practical experience with production database operations including monitoring, backup/restore procedures, replication, and high-availability setups. Understanding of failover strategies, point-in-time recovery, and disaster recovery planning.

  • Version control and code review practices

    Deep proficiency with Git and distributed version control workflows. Experience with code review processes that balance speed with quality. Understanding of branching strategies and managing complex, long-lived features.

  • API versioning and schema migration

    Experience managing backward compatibility in evolving systems. Expertise in schema migration strategies, feature flags, and coordinating changes across multiple clients and services.

  • Data modeling and information architecture

    Strong ability to design normalized and denormalized data models based on access patterns and performance requirements. Understanding of entity-relationship modeling, dimension modeling for analytics, and denormalization strategies.

Education

  • Bachelor's degree in Computer Science, Engineering, or related field

    Formal education in computer science, software engineering, computer engineering, mathematics, or related discipline. Equivalent practical experience and self-directed learning can substitute, but foundational understanding of algorithms, data structures, and computer architecture is essential.

  • Advanced database systems coursework or equivalent

    Formal study or extensive self-directed learning in database systems including transaction processing, query optimization, and distributed storage. Academic background in databases, systems design, or information management systems is valuable but not strictly required if demonstrated through production experience.

Experience

  • 10+ years of production software engineering

    Substantial hands-on experience building, shipping, and maintaining large-scale production systems. Track record of direct technical contributions, architectural decision-making, and shipping customer-facing features that handle significant scale. Experience with multiple programming languages and technical paradigms.

  • 5+ years with relational database systems at scale

    Proven experience operating and optimizing relational databases in production environments serving many customers or high-concurrency workloads. Real-world experience dealing with query performance, connection pooling, replication, and operational issues. Understanding of how database decisions cascade through application architecture.

  • 3+ years in technical leadership or mentorship roles

    Demonstrated ability to lead technical initiatives, guide other engineers, and set architectural direction. Experience conducting design reviews, making trade-off decisions between competing technical approaches, and helping team members develop stronger engineering skills. No requirement for formal management titles.

  • Experience shipping infrastructure or developer tools

    Background building infrastructure systems, developer tools, or internal platforms used by other engineers or customers. Familiarity with the unique challenges of building abstractions that appeal to sophisticated technical users while remaining accessible to less specialized teams.

  • Experience with product-focused infrastructure work

    Track record of building infrastructure systems with explicit attention to user experience and product quality, not just technical excellence. Experience translating customer needs into architectural decisions and iterating on products based on real usage patterns.

  • Proven pattern of taking projects from concept through scale

    Documented success taking new product initiatives or significant technical projects from early stages through general availability and growth phases. Experience making architectural decisions that serve well at multiple scales.

  • Early-stage product or startup experience

    Background working in early-stage environments where ambiguity, rapid iteration, and cross-functional collaboration are essential. Experience directly interacting with customers to understand their problems and validate solutions.

  • Experience managing database fleets or platforms

    Hands-on experience building, provisioning, and operating multiple database instances at scale. Understanding of multi-tenant database systems, resource allocation, and isolation strategies. Experience with database-as-a-service platforms or similar infrastructure systems.

Compensation

Pay and benefits.

Base·USD 299,000 – 334,000

Full posting

Original listing.

Who We Are

Notion is the collaborative AI workspace where teams and agents think together. We're building one place where your knowledge, projects, meetings, and AI tools live side by side, so work is faster, clearer, and less fragmented. Millions of individuals, small teams, and large companies run their work on Notion.

Notinos (our employees) are customer zero in bringing this future of work to life. We care about craft, building things that last, and the belief that great work is still fundamentally human. Our goal isn’t to ship the next feature. Each and every team of Notinos is working to set the standard for how humans work together in the AI era. From building a business’s system of record to making and managing AI agents to automating away the busy work, we care deeply about giving our customers more time for their life’s work.

About the Role:

This role will be based in San Francisco. We work from our offices on Mondays, Tuesdays and Thursdays (our Anchor Days) because we do our best thinking and building together in person. We’re looking for someone who’s excited to work alongside the team during those days.

You’ll build the systems that let any knowledge worker leverage fast, scalable databases without having to become a DBA.

You’ll be a hands-on technical leader, helping set the architectural direction and roadmap as we take a new product from early alpha to general availability. You’ll work directly with early customers to shape foundational technical and product decisions. Then, together, we’ll work on scaling as adoption and workloads grow.

This is a backend-leaning role with work spanning the stack. You might build the systems that provision and manage a fleet of customer Postgres instances, design how user-defined schemas evolve safely, or make complex queries execute efficiently. You’ll also follow those systems into the product: improving how a table loads, how users understand a slow operation, or how an agent safely works with their data.

You’ll help shape the architecture and the product together. Some problems call for a better abstraction, others for a better default, and others for rethinking what we ask the user to do in the first place. You’ll work with teammates and customers to find those answers, ship practical solutions, and evolve them as usage grows.

Our stack includes Postgres, Go, TypeScript, Node.js, and React.

About the Team:

The people who understand a business best aren’t always the people who can build its software. A support lead knows how tickets should be triaged. An operations manager knows how inventory should move. But turning that knowledge into a reliable system often means finding an engineer, provisioning a database, and building an application.

We’re building database infrastructure for everyone else. We want everyday knowledge workers to bring their data into Notion, connect it, and build workflows around it. And do so with the power of a real database (Postgres!) and the approachability of a tool they already know.

AI agents make that opportunity even bigger: helping people build and operate systems they couldn’t have created on their own.

For our team, this is much more than putting a friendly interface on Postgres. It means making hard database problems disappear from the user’s workflow without sacrificing correctness, performance, or flexibility. How do you let someone reshape a live database as easily as editing a document? Make the right indexes exist without asking someone to become a DBA? Let a weekend experiment grow into a company’s system of record without anyone having to rearchitect it?

What You'll Achieve:

  • Take a new product from alpha to general availability. Work with early customers to understand what matters, iterate on feedback, and help shape what we ship.

  • Make real customer workloads fast. Improve query execution, indexing, and client data loading so performance holds up as datasets grow and workflows become more demanding.

  • Build systems businesses can trust with their data. Make schema changes, concurrent writes, permissions, and recovery reliable enough for customers to build essential workflows on top.

  • Make powerful capabilities approachable. Turn database provisioning, migrations, and indexes into a reliable, easy-to-use product experience that gives people the power of a database without the burden of managing one.

  • Build for the customers who come next. Automate database provisioning and fleet operations, strengthen observability, and evolve the architecture so we can serve many, many customers.

Skills You'll Need to Bring:

  • Production relational database experience (e.g., Postgres or MySQL). You’ve made decisions about schemas and indexes, analyzed database performance, and debugged issues involving transactions, locking, or concurrency. Your experience goes beyond accessing a database through an ORM.

  • Engineering experience and technical leadership. You bring 10+ years of experience building and operating production software, with a track record of setting technical direction and leading complex, cross-team initiatives from concept through delivery. You identify the most important problems to solve, turn ambiguous goals into a technical strategy, and align engineers and partner teams around a practical plan. You stay hands-on while helping others make better decisions through design reviews, mentorship, and clear technical guidance.

  • Strong backend engineering fundamentals. You’ve built services that need to remain correct under concurrency and failure. You can reason about retries, partial failures, consistency, and the trade-offs involved in reliable reads and writes.

  • A systematic approach to performance. You use query plans, traces, profiles, and experiments to find bottlenecks and verify improvements. You’re willing to follow a problem across storage, services, and client code rather than stopping at a team boundary.

  • Product judgment. You’re interested in who will use what you build, not just how it works. You can turn a customer’s problem into a technical approach and recognize when a better default or simpler workflow would solve it more effectively.

  • Willingness to work across the stack. You bring backend depth, but you’re comfortable learning unfamiliar systems and working in client code when that’s what delivering a good experience requires.

  • Fluency with AI-assisted engineering. You use AI to accelerate exploration, implementation, and testing while taking responsibility for understanding and validating the result.

Nice to Haves:

  • Experience managing fleets of databases or building database platforms, including provisioning, upgrades, backups, and recovery.

  • Deep Postgres expertise, such as advanced query optimization, performance tuning, or workload isolation for large datasets and high-concurrency workloads.

  • Experience building query layers, sync engines, change-data-capture pipelines, permission systems, or other reusable data abstractions.

Notion is committed to providing highly competitive cash compensation, equity, and benefits. The compensation offered for this role will be based on multiple factors such as location, the role’s scope and complexity, and the candidate’s experience and expertise, and may vary from the range provided below. For roles based in San Francisco, the estimated base salary range for this role is $299,000 – $334,000 per year.

By clicking “Submit Application”, I understand and agree that Notion and its affiliates and subsidiaries will collect and process my information in accordance with Notion’s Global Recruiting Privacy Policy.

#LI-Onsite

A Note on AI

You don’t need deep AI expertise for every role, but we do expect every Notino to be intellectually curious, drawn to tinkering and discovery, and excited to use AI as a real collaborator in their work. For some roles, AI fluency is a core requirement — when that’s the case, we'll say so explicitly in the qualifications. People who thrive here don’t treat AI as a novelty. They use it to think better, and make their work easier for others to build on.

Equal Opportunity & Accommodations

We hire talented people from a wide range of backgrounds. If you’re excited about this role but don’t meet every bullet, we still encourage you to apply. Notion is an equal opportunity employer and does not discriminate on the basis of any legally protected characteristic. Consistent with applicable law, we will consider for employment qualified applicants with arrest and conviction records. Notion provides reasonable accommodations during the application process; if you need one, please let your recruiter know.

Notion is proud to be an equal opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristic. Notion considers qualified applicants with criminal histories, consistent with applicable federal, state and local law. Notion is also committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, please let your recruiter know.

Redirects to Notion's application page.

Other roles

More at Notion.

View all 13 roles