Ahrefs is looking for a C++ Software developer with the deep understanding of database systems.

Clickhouse DBMS is the backbone of our infrastructure, holding multiple exabytes crawler dataset updated in realtime and building advanced and flexible analytics reports for our customers. Ahrefs team is overcoming multiple challenges to adapt the opensource Clickhouse DBMS to operate with distributed clusters of massive scale on bleeding-edge hardware. And now we are looking for an experienced C++ developer to help contributing to the Clickhouse opensource project while solving those challenges.

What you will be working on:

  • Collaborate with the software engineers teams in charge of data gathering and business logic to identify performance optimization opportunities for low latency massively parallel data processing, and work with other opensource contributors to improve Clickhouse performance and scalability. Implement optimizations specific to Ahrefs hardware and dataset to ensure data ingestion and queries perform efficiently on our infrastructure
  • Improve the robustness and fault tolerance of the data infrastructure by improving edge cases and error handling inside the database code as reported by the devops team, and adapt features of the database to simplify operations
  • Implement new features in the SQL interface and Clickhouse api to help business team develop new reports
  • Work with opensource Clickhouse community to upstream changes and improve the Clickhouse database as a whole
  • Help maintain Ahrefs specific fork of Clickhouse for features that cannot be upstreamed

Basic requirements:

  • Strong experience in C++ (including C++20)
  • Understanding of Unix/Linux systems inner working
  • Strong production debugging skills
  • Willingness to work on opensource and cooperate with the Clickhouse developers to upstream as many changes as possible
  • Experience in database and/or Clickhouse codebase 

The ideal candidate is expected to:

  • Independently deal with bugs, schedule tasks and investigate code
  • Make well-reasoned technical choices and take responsibility for them
  • Understand the whole technology stack at all levels: from network and user-space code to OS internals and hardware
  • Handle full development cycle of a single component i.e. formalize task, write code and tests, setup and support production (basic DevOps), assure data correctness and quality
  • Approach problems with a practical mindset and suppress perfectionism when time is a priority
  • Write flexible, maintainable code and adapt to post-launch requirements/tweaks

These requirements stem naturally from our approach to development with fast feedback cycle, highly-focused personal areas of responsibility and strong tendency to vertical component splitting.

Ahrefs does not engage with agencies or third party recruitment solutions for the roles we hire for. If at any point we need help, we'll let you know! 

Ahrefs とは

私たちは、より良い技術が現実世界の問題に対するより良い解決策につながると強く信じている小さなチームです。私たちは、関数型言語と静的型付けを崇拝し、コード生成とメタプログラミングを多用し、コードの明快さと予測可能性を重視し、反復的な作業の自動化と定型文の排除を常に追求しています。

私たちはDRYに導かれ、KISSに従います。私たちの生活を便利にする新しい技術があれば、それを試してみる。私たちは、オープンソースのコードに大きく依存しています(保守可能なシステムを構築するための唯一の実行可能な方法として)。 contribute back. We occasionally blog on tech.ahrefs.com.

当社のモットーは、まず行動に移すこと、次に正しく行動すること、そしてより良い方法で行動することです。

グレッグはノートパソコンで作業をしている。

求人

Clickhouse C++ Developer

Remote
この求人に応募する