Software Engineer, Backend (KV - Distributed Key-Value Layer) - New York, NY, Toronto
Databases are the beating heart of every business in the world.
Cockroach Labs is the creator of CockroachDB, the planet's most highly evolved cloud-native, distributed SQL database that scales fast, survives anything, and thrives anywhere. Join us on our mission to unshackle teams from the constraints of their database and enable every developer to build world-changing applications!
About the Role
We are looking for a backend software engineer excited about growing an open-source, cloud-native distributed SQL database to join our KV team. This team is responsible for the distributed foundations of CRDB, including the Distribution Layer (e.g., data sharding, placement and rebalancing), Transaction Layer (e.g., transactional APIs, distributed transactions and concurrency control) and Replication layer (e.g., Raft, distributed lease management and configuration changes). Together, these subsystems form the underpinnings of CRDB and the guarantees it provides to clients, namely Fault Tolerance, Availability, Consistency, Transactional Semantics as well as its Performance and Scalability. We collaborate closely with product and other engineering teams, such as the Storage, and SQL teams. Join us to be a part of cutting-edge work that provides foundational database functionality and enables a seamless experience for CockroachDB users.
. You Will
- Contribute to the growth of CockroachDB by bringing your expertise and commitment to excellence to help build a database that makes data easy for everyone.
- Develop in Go, but if you don't know it, you'll learn while you're here.
- Improve the performance of CockroachDB.
- Work closely with other engineers and product managers across our cloud and database teams.
- Help foster a collaborative culture and exchange knowledge with a highly experienced technical organization.
- Ensure that CockroachDB remains scalable, survivable, and consistent as we continue to grow as a company.
In the first month, you will join your engineering team and start to learn about our production systems, software development workflow, and the architecture of CockroachDB and our cloud offerings. We believe that it's essential for you to take this time to become familiar with our technology, company, and our culture.
After three months, you'll be a fully-fledged member of the KV team and feel comfortable contributing to CockroachDB. You will begin determining the parts of our product that most interest you and work with your manager to focus your efforts on projects that align with your interests and our goals.
We want our users to have a phenomenal experience using our product. You play a crucial role in making CockroachDB a joy to use, and as our team grows, you will have the opportunity to shape the direction of development for CockroachDB and CockroachDB Cloud. We also offer technical training and experienced mentorship to help you learn and advance your career into whatever you wish it to be.
- Passion for working on complex technical products and exposure to topics like distributed systems, consensus, data replication, concurrency control, file systems, or SQL processing.
- Comfort using programming languages like Go, C/C++, Java, and Python.
- An understanding of system design.
- Experience building collaborative relationships with your colleagues. You enjoy being part of the code review process and partnering with your teammates on challenging problems.
- 5+ years of relevant experience is ideal.
- A BS in Computer Science or equivalent experience.
- Bonus: experience building and running large-scale distributed systems in production.
- Bonus: experience with high availability designs and distributed storage/database architectures.
- Bonus: MS/PhD or research experience in a relevant domain.
You will have the opportunity to report to a member of our engineering leadership team based on the project you work on at Cockroach Labs. In addition, you will get to work closely with the senior leadership, including:
Alexander Shraer - Senior Manager, Engineering
Alex joined Cockroach Labs 2.5 years ago and leads the KV team. Previously, he worked on designing, building, and running distributed systems at scale at Google, Apple, and Yahoo!. Alex is a strong advocate for collaboration with Academic and Open Source communities. Alex lives in the Seattle area with his family and enjoys everything the Pacific Northwest has to offer, including the rain.
Alex Lunev - Senior Director of Engineering
Alex Lunev is the Head of Database Engineering at Cockroach Labs and is responsible for all engineering teams working on CockroachDB. He joined Cockroach Labs in 2020. Before joining, he spent 16 years building transaction processing systems for several financial companies. Alex lives in the Bay Area with his wife and kids. Outside of work, you can find Alex wingsurfing in San Francisco Bay or exploring the Marin headlands on his bike.
- Competitive Health Insurance Coverage (for you & your dependents!)
- Paid Parental Leave (with baby bucks)
- Flexible PTO
- Learning & Development Budget
- Relocation Support (as applicable)
The annual anticipated base salary range for U.S. candidates for this role is USD $135,000 to $190,000, plus commission if a sales role. We set standard ranges for all U.S.-based roles based on function, level, and geographic location, benchmarked against similar stage growth companies. In order to be compliant with local legislation, as well as to provide greater transparency to candidates, we share salary ranges on all job postings regardless of desired hiring location. Actual salaries may vary and fall outside of this range depending on factors such as a candidate’s qualifications, geographic location, skills, experience, and competencies. In addition, we are often open to a wide variety of profiles, and recognize that the person we hire may be less experienced (or more senior) than this job description as posted. Salary is one component of the Cockroach Labs’ total rewards package, which includes stock options, health insurance, life and disability insurance, funds towards professional development resources, flexible PTO, paid holidays, and parental leave, to name a few! Salaries for candidates outside the U.S. will vary based on local compensation structures.