Distributed Systems Engineer - Data Platform - Analytical Database Platform

Cloudflare Cloudflare · Enterprise · London, United Kingdom · Engineering

Cloudflare is seeking an experienced Distributed Systems Engineer to join their Analytical Database Platform team. This role involves developing, maintaining, and optimizing a high-performance, scalable database platform powered by ClickHouse, focusing on analytical workloads. The engineer will contribute to new platform components, manage growing data volumes, ensure reliability, optimize query performance and data ingestion, collaborate with the ClickHouse community, and contribute to the next generation of the database engine. The role requires strong skills in distributed systems, databases, SQL, and programming languages like Golang or Python.

What you'd actually do

  1. Develop and implement new platform components for the Cloudflare Analytical Database Platform to improve functionality and performance.
  2. Add more database clusters to accommodate the growing volume of data generated by Cloudflare products and services.
  3. Monitor and maintain the performance and reliability of existing database platform clusters, and identify and troubleshoot any issues that may arise.
  4. Work to identify and remove bottlenecks within the analytics database platform, including optimizing query performance and streamlining data ingestion processes.
  5. Collaborate with the ClickHouse open-source community to add new features and functionality to the database, as well as contribute to the development of the upstream codebase.

Skills

Required

  • distributed systems
  • databases
  • SQL
  • algorithms
  • data structures
  • concurrency
  • software development best practices

Nice to have

  • Golang
  • python
  • C++
  • ClickHouse
  • SALT
  • Terraform
  • Docker
  • Kubernetes

What the JD emphasized

  • 3+ years of experience working in software development covering distributed systems, and databases.
  • Strong programming skills (Golang, python, C++ are preferable), as well as a deep understanding of software development best practices and principles.
  • Strong knowledge of SQL and database internals, including experience with database design, optimization, and performance tuning.
  • A solid foundation in computer science, including algorithms, data structures, distributed systems, and concurrency.