Core Software Engineer (c++) - Remote

ClickHouse ClickHouse · Data AI · United States · Engineering

Core Software Engineer (C++) at ClickHouse, focusing on optimizing the performance of the core ClickHouse database, including query optimization, distributed query optimization, and low-level optimizations. The role involves extending performance tests, debugging advanced performance issues, and collaborating with other core teams and the open-source community.

What you'd actually do

  1. As part of the ClickHouse Core Performance team, you will analyze and optimize the performance of the core ClickHouse database. The team works on many different topics such as query optimization, distributed query optimization, relational operators (e.g. aggregation and joins), caching, and low-level optimizations like SIMD instructions.
  2. You will ensure that the database performance does not deteriorate over time by extending existing and adding new performance tests, based on real-world or synthetic datasets.
  3. You will serve as a resource for the Support Engineering team, helping to debug the most advanced performance issues encountered by our customers.
  4. As the core ClickHouse database continues to move at a fast pace, you will closely collaborate with our other core teams to assess the impact of new features on performance and support colleagues with performance tests and advice.
  5. You will work with our open-source community. This will include resolving issues, reviewing and finishing PRs, answering questions from mail, chats, google groups, external Slack channels, etc.

Skills

Required

  • C++
  • Unix Systems
  • database internals
  • database design
  • performance engineering
  • problem-solving
  • production debugging

Nice to have

  • ClickHouse experience
  • security
  • privacy
  • compliance
  • TCP/IP
  • network programming
  • cloud infrastructure services
  • Kubernetes
  • public talks at technical conferences
  • open source contributions

What the JD emphasized

  • solid professional software development experience in C++
  • strong knowledge in database internals and design
  • experience in performance engineering
  • strong problem-solver
  • solid production debugging skills