Senior Software Engineer, Database Engineering (Cube Core)
At Cube Dev we are building a technology stack for modern analytics. If you are fascinated by the software that powers large technology companies but want the challenges and freedom that come with working in a small startup, then the job at Cube Dev is for you.
We are a small and dedicated team in San Francisco, funded by top-tier SV investors, working on making advanced analytics infrastructure developed at large tech companies accessible to all developers around the world.
We are focused on bottom-up adoption, and most of our software is open-source. At Cube Dev, you will be part of a vibrant community. Cube.js users often engage with the company on GitHub and Slack.
Thousands of developers are using Cube to build analytics applications and we want to help them be successful. That’s why we’re looking for a database engineer to join our Cube Core team to build state-of-the-art analytics data access technology.
As an engineer of the Cube Core team, your main goal will be to build and maintain various parts of open-source Cube Core (https://github.com/cube-js/cube.js), community support in our Slack, as well as the development of Cube Cloud product.
- Expert in database algorithms and data structures: columnar vs row storage, SQL parsing, query planning, indexes, partitioning, join algorithms, filter pushdown optimizations, HLL.
- Expert in C++, Rust, or any other low-level language.
- Good communication skills.
- Fluent English.
- Previous startup experience or interest in working in a small fast-moving company.
Some of the problems you’ll be working on:
- SQL generation and rewriting. Cube is a simple yet powerful way to organize SQL queries. The Cube way is to generate the best possible SQL query for a given database while abstracting all complex stuff from users and giving them full power of SQL at the same time. To solve this problem, Cube parses SQL queries written by users to understand the structure and rewrites them to apply performance optimizations.
- Cube Store. Cube Store is used to serve analytics for trillions of data points with sub-second response times. To keep up-to-date with growing big data demands and serving speeds we’re developing our own database optimized for serving huge aggregated tables with latencies of several milliseconds.
- Cube APM. One of the main tech problems for Cube Cloud is to provide APM analytics of Cube instances using Cube itself. Being purely a dog food problem, large-scale real-time analytics has a lot of challenges, most of which will be solved for the first time ever using the SQL approach.
This is a remote position. Any location is ok, as long as we can expect that person to be online till 1 pm PT. We can pay for your desk at the co-working space you to choose to work from. Down the road, we offer an optional relocation to our HQ in San-Francisco, California with visa (H1-B or O-1) sponsorship. We offer stock options in our US company.
- Expert in at least one of the high-level VM languages such as Node.js, Ruby, Python, Java, Scala, C#, or similar.
- Experience with contributing to or the maintenance of an open-source project.
- Experience in data engineering, building analytics applications, or OLAP.
- Experience with Docker and k8s, AWS, GCP.