# Software Engineer, Storage
**Company:** [Cursor](https://scaleengineer.com/companies/cursor)
As a Software Engineer on the Storage team at Cursor, you'll own the data layer infrastructure supporting millions of developers using an AI-powered coding platform. This role focuses on designing scalable multi-database architectures, implementing query attribution systems, and managing cache infrastructure for a rapidly growing developer tool. You'll need deep experience with relational databases like PostgreSQL and MySQL at scale, plus proven expertise in database sharding, migration, and operational excellence.
**Role:** Backend Engineer
**Seniority:** Senior
**Locations:** San Francisco
**Salary:** 180000–280000 USD
[Apply](https://jobs.ashbyhq.com/cursor/299ce422-0281-4282-aadd-bc22553be0b5)
Canonical: https://scaleengineer.com/jobs/cursor/software-engineer-storage-299ce422
---
## Responsibilities

- Design Next-Generation Data Architecture: Architect and evolve the storage layer into a partitioned, resilient topology supporting millions of concurrent users. Design multi-database strategies that enable rapid scaling while maintaining system reliability and performance across all product surfaces.
- Implement Query Attribution and Guardrails: Build comprehensive query monitoring systems that instrument database queries by service and detect problematic patterns before they reach production. Create review workflows and automated safeguards that prevent performance-degrading queries from being deployed.
- Define Data Store Selection Strategy: Establish clear guidance and golden pathways for engineering teams to select appropriate database engines for their specific workloads. Document tradeoffs between storage solutions and build decision frameworks that eliminate guesswork and standardize infrastructure choices across teams.
- Own Cache Infrastructure End-to-End: Design, deploy, and maintain reliable cache systems including capacity planning, performance optimization, and correctness guarantees. Build patterns and abstractions that allow product teams to leverage caching without managing complexity or worrying about cache invalidation issues.
- Collaborate on Database Operations and Scaling: Partner with infrastructure and product teams to implement database sharding strategies, handle migrations, and manage service decomposition. Handle backups, disaster recovery, monitoring, and capacity planning with proactive operational excellence.
- Drive Infrastructure Standards and Best Practices: Establish monitoring frameworks, alerting systems, and performance baselines for the storage infrastructure. Create documentation, runbooks, and training materials that enable other engineers to work effectively with storage systems and troubleshoot issues independently.

## Requirements

### education

- {"name":"Bachelor's Degree in Computer Science or Related Field","description":"Formal education in Computer Science, Computer Engineering, or equivalent practical experience demonstrating strong foundational knowledge in algorithms, data structures, and system design principles."}

### technical

- {"name":"Relational Database Expertise","description":"Deep production experience with PostgreSQL, MySQL, or similar OLTP systems at scale. Proven track record optimizing complex queries, managing indexes, and tuning database performance for high-throughput environments supporting millions of operations."}
- {"name":"Database Sharding and Scaling","description":"Hands-on experience designing and implementing database sharding strategies, horizontal scaling patterns, and data decomposition approaches. Demonstrated ability to handle migration challenges and maintain consistency during infrastructure evolution."}
- {"name":"Cache and Storage Systems","description":"Practical expertise with caching layers (Redis, Memcached, or similar), understanding cache invalidation strategies, and implementing reliable cache infrastructure. Knowledge of tradeoffs between different storage engines and caching approaches for various workload patterns."}
- {"name":"Systems Design and Architecture","description":"Strong systems design fundamentals with ability to architect resilient, scalable distributed systems. Experience designing for fault tolerance, consistency, availability, and operational simplicity in production environments."}
- {"name":"Monitoring and Observability","description":"Proficiency building and implementing comprehensive monitoring, alerting, and observability systems for databases and infrastructure. Experience using APM tools, query profilers, and performance analysis to identify and resolve bottlenecks."}

### experience

- {"name":"5+ Years Backend/Infrastructure Engineering","description":"Minimum five years of professional software engineering experience with significant focus on backend systems, database architecture, or infrastructure engineering at scale."}
- {"name":"Production Database Operations","description":"Proven experience tackling real production challenges including database troubleshooting, performance optimization, incident response, and capacity management in high-traffic environments."}
- {"name":"Cross-Team Infrastructure Collaboration","description":"Track record of working effectively with multiple engineering teams to design and implement shared infrastructure. Demonstrated ability to communicate complex technical concepts and build consensus around architectural decisions."}

## Skills

### required

- {"name":"PostgreSQL","description":"Advanced proficiency with PostgreSQL including query optimization, indexing strategies, configuration tuning, and operational management at scale."}
- {"name":"MySQL/MariaDB","description":"Deep experience with MySQL or MariaDB including understanding of storage engines, replication, high availability configurations, and performance tuning."}
- {"name":"Database Sharding and Horizontal Scaling","description":"Hands-on experience implementing partitioning strategies, managing shard keys, and handling distributed query execution across sharded datasets."}
- {"name":"Redis or Memcached","description":"Practical expertise deploying and operating distributed cache systems, implementing cache strategies, and debugging cache-related issues in production."}
- {"name":"SQL Performance Tuning","description":"Expert-level ability to analyze query execution plans, identify bottlenecks, and optimize slow queries. Proficiency with database profiling tools and query optimization techniques."}
- {"name":"Backend Programming Languages","description":"Proficiency in one or more backend languages such as Python, Go, Java, Rust, or Node.js for building infrastructure tooling and systems."}
- {"name":"Distributed Systems Design","description":"Strong understanding of distributed system principles including consistency models, fault tolerance, replication, and consensus mechanisms."}

### preferred

- {"name":"Experience with Database Migration and Decomposition","description":"Hands-on experience managing database migrations, service-oriented architecture transformations, or moving data between systems with minimal downtime."}
- {"name":"Kubernetes and Container Orchestration","description":"Familiarity with Kubernetes or similar container orchestration platforms for managing database workloads and infrastructure automation."}
- {"name":"Infrastructure as Code (Terraform, CloudFormation)","description":"Experience using Infrastructure as Code tools to define, version, and manage database infrastructure and configuration changes."}
- {"name":"Time-Series or Specialized Databases","description":"Experience with specialized database systems such as ClickHouse, TimescaleDB, Elasticsearch, or other purpose-built data stores for specific workload patterns."}
- {"name":"Incident Response and On-Call Experience","description":"Track record of effectively responding to production database incidents, performing root cause analysis, and implementing preventive measures to avoid recurrence."}
- {"name":"AI/ML Infrastructure or Developer Tools","description":"Experience building infrastructure for AI/ML systems, developer tools, or platforms serving large developer communities. Familiarity with challenges unique to AI-powered applications."}

## Tech stack

### tools

- {"name":"Prometheus and Grafana","description":"Monitoring and observability stack for collecting database metrics, visualizing performance trends, and setting up alerting systems."}
- {"name":"PgBouncer or Database Connection Pooling","description":"Connection pooling tools to manage database connection limits, reduce connection overhead, and improve resource utilization."}
- {"name":"EXPLAIN ANALYZE and Query Profilers","description":"Database profiling tools for analyzing query execution plans, identifying performance bottlenecks, and optimizing slow queries."}
- {"name":"Terraform or Infrastructure as Code","description":"Infrastructure automation tools for defining, versioning, and managing database infrastructure reproducibly across environments."}
- {"name":"Docker and Container Orchestration","description":"Containerization and orchestration platforms for deploying database systems, tools, and supporting infrastructure services."}

### others

- {"name":"Distributed Systems Concepts","description":"Understanding of CAP theorem, consistency models, replication strategies, and consensus algorithms applicable to database design and scaling."}
- {"name":"High Availability and Disaster Recovery","description":"Expertise in designing resilient database architectures with backup strategies, failover mechanisms, and recovery procedures for business continuity."}
- {"name":"Capacity Planning and Load Testing","description":"Skills in forecasting database resource requirements, conducting load tests, and designing for anticipated growth and traffic patterns."}

### databases

- {"name":"PostgreSQL","description":"Primary relational database system for OLTP workloads, supporting advanced features, reliability, and horizontal scaling patterns."}
- {"name":"MySQL","description":"Widely-deployed relational database for high-throughput applications, with proven scaling characteristics for developer platforms."}
- {"name":"Redis","description":"In-memory data structure store used for caching, session management, rate limiting, and real-time feature implementation."}
- {"name":"Memcached","description":"Distributed memory caching system for reducing database load and improving application latency in high-traffic environments."}

### languages

- {"name":"Python","description":"Primary language for building infrastructure automation, monitoring scripts, and tooling for database management and operations."}
- {"name":"Go","description":"Systems programming language valuable for building high-performance database tools, monitoring agents, and infrastructure services."}
- {"name":"SQL","description":"Essential expertise in writing, analyzing, and optimizing SQL queries for relational databases and performance tuning."}

### frameworks

- {"name":"SQLAlchemy or ORM Frameworks","description":"Object-relational mapping frameworks for abstracting database interactions and managing schema evolution in backend applications."}
- {"name":"Alembic or Database Migration Tools","description":"Tools for managing database schema versions, migrations, and ensuring consistent schema evolution across environments."}

## Benefits

### benefits

- {"name":"High-Impact Infrastructure Role","description":"Own the storage layer serving millions of developers using Cursor's AI-powered coding platform. Your work directly enables faster shipping, improved reliability, and explosive platform growth across all product surfaces."}
- {"name":"Flat Organization and Autonomy","description":"Work in a talent-dense, small team with minimal hierarchy. Enjoy significant autonomy to design solutions, make architectural decisions, and execute on high-leverage problems with direct input on company direction."}
- {"name":"Cutting-Edge AI Developer Tools","description":"Build infrastructure for next-generation AI-powered developer tools. Work on systems that are transforming how millions of programmers write code and collaborate with the latest AI and automation technologies."}
- {"name":"Growth and Learning Opportunities","description":"Join a rapidly growing company where you'll tackle increasingly complex scaling challenges. Continuous opportunity to expand expertise in distributed systems, database architecture, and infrastructure at scale."}
- {"name":"Collaborative Engineering Culture","description":"Work with passionate, creative engineers who value truth-seeking debate and shipping code. Participate in a culture that encourages spirited discussion, welcomes crazy ideas, and celebrates rapid iteration."}

## Compensation

- **max:** 280000
- **min:** 180000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Technical Screening","description":"Two to three short technical interviews focused on systems design, database architecture, and practical problem-solving. Expect discussions around your experience with database sharding, scaling challenges, and infrastructure decisions you've made in production environments."}
- {"name":"Onsite Interview","description":"Full-day onsite visit to Cursor's San Francisco office. Participate in a hands-on small project demonstrating your storage architecture and systems design thinking. Engage in technical discussions about infrastructure design philosophy, scalability approaches, and the future of Cursor's data layer."}
- {"name":"Team Meeting","description":"Meet with members of the Storage team and cross-functional engineering partners. Discuss how you approach collaboration on shared infrastructure, handling competing priorities, and driving consensus around architectural decisions across multiple teams."}

## Full description
Our mission is to automate coding. The first step in our journey is to build the best tool for professional programmers, using a combination of inventive research, design, and engineering. Our organization is very flat, and our team is small and talent dense. We particularly like people who are truth-seeking, passionate, and creative. We enjoy spirited debate, crazy ideas, and shipping code.

## About the Role

As a Software Engineer on the Storage team at Cursor, you'll own the data layer that underpins every product surface: the databases, caches, and the strategy for how teams provision, query, and scale their data stores. 

Millions of developers depend on Cursor every day, and the future of our storage architecture is one of the highest-leverage problems at the company: get it right, and every team ships faster, every product surface gets more reliable, and Cursor can scale to meet explosive demand. You'll design and execute the path to a robust, multi-database topology built for that growth.

### Example projects include...

* Designing the next-generation data architecture: evolving our storage layer into a partitioned, resilient topology that keeps pace with Cursor's rapid growth.
* Building query attribution and guardrails: instrumenting every database query by service, catching bad patterns before they hit production, and making it impossible to ship problematic queries without review.
* Defining the "when to use what" strategy for data stores: creating clear guidance and golden pathways so every team picks the right engine for their workload without second-guessing.
* Owning cache infrastructure end-to-end: reliability, capacity planning, and patterns that let product teams move fast without worrying about cache correctness.

## You may be a fit if

* You have deep experience with relational databases at scale, especially Postgres, MySQL, or similar OLTP systems.
* You've tackled database sharding, migration, or decomposition problems in production environments.
* You understand the tradeoffs between different storage engines and can help teams make the right choices for their workloads.
* You care about operational excellence: backups, monitoring, query performance, and capacity planning are things you think about proactively.
* You have strong software engineering fundamentals and enjoy building systems that other engineers depend on.

## Applying

If there appears to be a fit, we'll reach out to schedule 2-3 short technicals. After, we'll schedule an onsite in our office, where you'll work on a small project, discuss ideas, and meet the team.

#LI-DNI
