Home > Find Jobs
USA, UK, Canada, Germany, India
Posted on: 14 February 2024
Experience
n/a
Work
n/a
Employee Type
n/a
Salary Range
n/a
Location: Remote (US, Canada, Germany, UK, India)
Hiring Manager: Query Processing Team Lead, Darius Russell Kish (Please don’t contact me directly. I’ll read your application, don’t worry!)
Estimated salary range: $130,000 to $150,000
The salary offered for this position will be based on a candidate’s experience and skill demonstrated during interviews and other evaluations
Ocient is a hyperscale data solutions company headquartered in Chicago, IL, enabling organizations to analyze trillions to quadrillions of data records in seconds. Over the past five years, Ocient has built a SQL compliant data warehouse for Petabyte and beyond datasets that is 10x to 50x times faster than competitive OLAP databases.
The Query Processing team at Ocient handles the full landscape of parsing, validating, optimizing and executing SQL queries - covering both deeply theoretical and practical topics in the Database implementation field. The team ensures queries are correct and valid, the SQL is lowered into an optimal, executable representation, and the resulting plan is efficiently executed over petabytes of data across tens to hundreds of nodes. The team values theoretical topics in Programming Languages, Relational Algebra and Distributed Algorithms – while also caring about performant implementations of SQL optimizers and execution engines. Query Processing works closely with our Test Infrastructure, Quality Assurance and Customer Operations teams to evaluate and improve performance on existing and new customer workloads, while also implementing new functionality to enable customer success.
Understanding performance in distributed SQL databases can be extremely challenging. The landscapes of data volume, distribution, query shapes and optimization decisions all confluence to affect the observed runtime of queries in a database. While customers may only care about walltime for their queries regardless of their use-case, addressing performance ab initio requires an understanding of how these factors have come together for the customer’s use-case. Ensuring Ocient will be performant for new, unseen workloads and evaluating performance in testing environments has proven a challenge for Ocient. We are seeking a software engineer with strong interests in test infrastructure and performance analysis, specifically as they relate to the world of distributed databases.
We’re looking for someone who is
Passionate about testing and measuring performance in large scale distributed systems
and/or: interested in data and workload generation, and understanding how they target and stress components of the database
and/or: interested developing infrastructure to measure key performance metrics in a database to understand and identify bottlenecks
A lifelong learner who is interesting in becoming both an expert in SQL database workloads and also how they play against implementations
Collaborative and communicative
Works independently to see their vision through
Responsibilities
Work closely with peers to develop performance test infrastructure for Query Processing components
Be a mentor and example to junior engineers on the team, help to grow them as developers in the realm of testing
Provide feedback on processes within the organization to eliminate developer pain points
Collaborate strongly with QA and our Tools team to implement tests onto nightly CI, QA infrastructure, and improve existing test infrastructure
Qualifications
Bachelor's degree in Computer Science or equivalent
Relevant work experience designing and developing test infrastructure
Direct experience with testing performance of data warehouses and data analytics engines
1+ years work experience as a Software Engineer working in Python or similar test infrastructure language, and experience measuring performance in compiled languages
Experience developing on Linux and in large, version controlled projects
How we measure success
By the end of your first month you’ll have begun to develop an understanding of Ocient’s architecture and our current testing methodology, as well as collaborate with the Tools team and Hiring Manager to understand the current vision for performance testing at Ocient
Within three months you’ll have begun work alongside the Tools and QA teams to implement new automated testing and report generation. You will use the knowledge you gained from small-scale performance projects to start designing generalized solutions to performance measurement - e.g., data and workload generators, scale and portability of tests, measurement and understanding of performance over time.
By the end of your first year you will have built a strong understanding of performance in a distributed OLAP database. You will be a technical leader within the organization regarding performance testing methodology and will continue to develop a repertoire of infrastructure and tests targeting performance within Ocient.
Interview Process
We’ll take a look at your resume and cover letter
Recruiter Screen – a quick call with our recruiter, Rebekah, to discuss the position
Hiring Manager Chat
You’ll have a short chat with Darius about your background, interest in the role, and evaluate team fit
Coding Interview 1 with a member of the QP team
Test Design Interview with a member of the QP or Test Infrastructure team
System Design Interview with a member of the QP team or architectural staff
Hiring Manager Recap
You’ll either meet again with Darius, or a staff member of the Test Infrastructure team to dive deeper into fit and interests
Offer extension
Ocient provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type and makes all hiring decisions without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.
Tags