Job Description
Ocient is a hyperscale data solutions company founded 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. Our company is a remote first company, with employees all over the world.
Position Overview
The Query Processing team at Ocient handles the full landscape of parsing, validating, optimizing and executing SQL queries. 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. 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. We are seeking a software engineer with strong interests in performance optimization and analysis – someone who enjoys analytical thinking and tackling abstract problems in the context of distributed database systems.
Responsibilities
Contribute to the ongoing improvement of query processing efficiency through collaboration on design, implementation, and performance analysis across the system
Actively participate in code reviews and design discussions, offering constructive feedback and learning from peers
Demonstrate curiosity and have a penchant for research and abstract thinking, bringing in novel ideas, tools, or techniques to improve system performance and reliability
Help triage and debug issues found in both production and test environments, contributing to root cause analysis and resolution
Engage in improving team processes and culture by sharing feedback and contributing to a positive, inclusive work environment
Support the growth of fellow engineers through collaboration, pairing, and knowledge sharing
Qualifications
BS, MS, or PhD in computer science, computer engineering, or related technical field
2+ years of industry experience writing code to solve complex problems using an object-oriented programming language (e.g. C++, Java, C#)
1+ years work experience as a Software Engineer working in Python or similar test infrastructure language, and experience measuring performance in compiled languages
Strong understanding and application of data structures and algorithms.
Direct experience with testing performance of data warehouses and data analytics engines preferred
Experience developing on Linux and in large, version controlled projects
Ability to speak and write in English fluently