Testing Infrastructure and Release Engineer - Database
We need extraordinary engineers to join our team. You will act as both architect and programmer: both designing and coding the testing infrastructure for our database product.
Timescale already has an extensive regression test suite for our product that runs as a single-node primary but need to develop better infrastructure to test our scale-out multi-node capabilities. This is a technically challenging and exciting problem because the infrastructure for such tests needs to be able to produce reproducible test output while at the same time test all the vagaries of distributed environment (connection drops, latency spikes, intermittent failures, permanent failures, etc.).
This is not a QA / testing role: our core database engineers will be writing the test cases, rather you would be responsible for creating the infrastructure to run these tests. Besides testing the database for correctness, this system would also need to be able to test performance and protect against performance regressions. You would be working closely with our core database developers to design a system that can effectively push our database to its limits in a distributed environment.
The second main responsibility of this role is release engineering. Our product is distributed on a variety of platforms and environments: Linux, Mac, Windows, Raspberry Pis, high-powered servers, on-bare-metal, in docker, etc. You would need to automate packaging and distribution across all of these heterogeneous environments using a build-farm or similar infrastructure.
Timescale is a remote-first organization; this is a full-time position and can be fully remote.
- Play a core role in helping to design and develop testing infrastructure for a distributed database.
- Develop, test, and release new testing infrastructure and release features and capabilities.
- Continually improve, optimize, and test the infrastructure that you build.
- Be an enthusiastic and personable teammate, receiving and providing code reviews, and otherwise partnering and helping other engineers.
- Bachelor’s degree in computer science or equivalent experience.
- 5+ years engineering experience.
- Expertise building testing, release or CI/CD systems.
- Experience in SQL (especially PostgreSQL) highly desirable (but not required).
- Experience with Golang and/or C are preferred.
- Solid knowledge of concurrency control, data replication, and/or distributed systems.
- Passionate about building high-quality infrastructure and development tools.
Timescale develops TimescaleDB, the category-defining open-source relational database for time-series data, and a Timescale cloud platform, offering fully-managed TimescaleDB and related time-series services. TimescaleDB offers developers the reliability, performance, scale, and advanced analytical capabilities they need to store and analyze mission-critical data. With over one million active databases deployed worldwide,Timescale customers span all industries and use cases, including: cloud infrastructure monitoring and metrics, SaaS product analytics, media and entertainment, Internet of Things, finance, and more. Timescale is a remote-first company with a global workforce and is backed by Benchmark Capital, New Enterprise Associates, Icon Ventures, Two Sigma Ventures, and other leading investors.