About Cube Dev

At Cube 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 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.

Position

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 development of Cube Cloud product.

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.

Requirements:

  • 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 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.

Bonus points:

  • Expert in data structures and data processing algorithms.
  • Expert in at least one of the high-level VM languages such as Node.js, Ruby, Python, Java, Scala, C#, or similar.
  • Experience in building and managing high-load analytical or data infrastructure applications.
  • Experience with Docker and k8s, AWS, GCP.
  • Experience with contributing to or the maintenance of an open-source project.
  • Development experience with JavaScript, React, Node.js would be a plus

We're a fully remote company based in San Francisco. You can work from anywhere and join our lively team.