Software Engineer, Backend (Test Infrastructure) - Distributed US, Toronto, London
Databases are the beating heart of every business in the world.
Cockroach Labs is the creator of CockroachDB, the most highly evolved cloud-native, distributed SQL database on the planet that scales fast, survives anything, and thrives anywhere. We created CockroachDB to unshackle teams from the constraints of their database. Join us on our mission to enable every developer to build world-changing applications!
About the Role
We are hiring software engineers for the Test Engineering team to expand our investment in next generation test automation, bug finding and performance scaling. Note, this is not a QA/testing role; all of our engineers write tests and obsess about quality. The primary function of Test Engineering is to establish a very high quality standard.
Databases must keep going no matter what. We are software engineers on a mission to push our product to new frontiers. Our work has a broad-reaching impact on the engineering organization of over 100 engineers who rely on our tools and methodology to ship a top-notch quality product.
The work encompasses three primary focus areas: Test Infrastructure, Exploratory Testing, Performance and Scalability. Broadly speaking, Test Infrastructure enables automated test execution, detection of performance regressions, fuzzing and much more. Exploratory testing enables new bug finding techniques such as static and dynamic analysis, metamorphic testing, failure injection, and others. Performance and scalability enables at-scale benchmarking across all major cloud providers (e.g., see Cloud Report).
Some examples of projects:
- Differential cluster testing (e.g., cassandra-diff, Snowtrail)
- Failure injection testing (e.g., chaos-mesh, frisbee)
- Next generation of roachtest and roachperf
- Probabilistic concurrency testing (e.g., shuttle, ThreadFuzzer)
- Developing a static analysis framework for concurrency bugs
- Developing a DSL for replaying complex workloads
- Large-scale benchmarking and performance testing
- Automated flaky test detection and quarantining
The ideal candidate will have worked with massively complex codebases and possesses broad experience in distributed systems, cloud infrastructure, and automated testing.
You Will
- Develop test strategies and specifications
- Build and scale test infrastructure
- Build tools and frameworks (including from the ground up)
- Prioritize and execute test suites that are representative of customers’ workloads
- Build static and dynamic analyzers
The Expectations
In your first 30 days, you will become an integrated member of our engineering team. You’ll become familiar with our production systems, software development workflows, and architecture of CockroachDB and CockroachCloud. We believe that it’s essential for you to take the first month to get to know our technology and our company. You’ll be given a “starter project” to help you learn about a particular area and start to get the lay of the land.
After your first month, you will align with the team’s development objectives and you will own and complete a medium-sized project related to test automation.
By the end of the third month, you will be a fully-contributing member of the Test Engineering team. You will also have developed enough familiarity with our engineering processes to propose and scope future projects.
You Have
Desired experience level ranges from mid to staff level. At a minimum, this role requires:
- 3+ years of experience as a software engineer writing clean, idiomatic code
- 1+ years of hands on experience with GCP or AWS
- Experience with one of the following: Automation Frameworks/Testing, Cloud Infrastructure, Continuous Integration, Test Design, Building static analyzers (e.g, we currently use GCP, Kubernetes, Terraform, Ansible, Packer)
- Exceptional communication skills with a collaborative mindset
- BS in Computer Science or equivalent experience
The Team
Reporting to Stan Rosenberg - Director of Engineering
Stan is an experienced engineering leader, having built and scaled high-performing engineering teams and distributed systems at high-tech startups. Prior, he worked as a software engineer and a researcher in formal methods. He holds a Ph.D. in Computer Science from Stevens Institute of Technology. In his free time, he enjoys exploring outdoors while dreaming about days when software works as reliably as a bridge.
Isaac Wong - VP of Engineering
Isaac is responsible for the health of the engineering organization at Cockroach Labs. He partners closely with teams to ensure we have a balanced culture that promotes quality and innovation in pursuit of our goals. Before joining Cockroach Labs Isaac was in life sciences for 16 years with Medidata Solutions where he had a front row seat on the exciting ride from a 30 person startup to more than 2000 people worldwide. But the lure of distributed, resilient, and consistent SQL databases, along with the amazing technology and culture at Cockroach Labs proved too much. When not working he likes to draw, play the piano, and search NYC for cannolis with his wife and kids.
Our Benefits
- 100% health insurance coverage (for you and your dependents!)
- Paid parental leave (with baby bucks)
- Flex Fridays
- Flexible time off & flexible hours
- Education reimbursement
- Relocation support
Cockroach Labs is proud to be an Equal Opportunity Employer building a diverse and inclusive workforce. If you need additional accommodations to feel comfortable during your interview process, please email us at [email protected].