Loading…
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 tra