Ahrefs is looking for a C++ Software developer with the keen interest in developing 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. 

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:

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

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

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! 

소개

우리는 작은 팀이지만, 더 나은 기술이 실제 문제에 대한 더 나은 솔루션을 이끈다고 믿습니다. 함수형 언어와 정적 타이핑을 중요하게 여기며, 코드 생성 및 메타프로그래밍을 광범위하게 활용하고, 코드 명확성과 예측 가능성을 중시하며, 반복 작업을 자동화하고 불필요한 코드 생성을 제거하기 위해 끊임없이 노력합니다.

우리는 DRY 원칙을 따르고, KISS를 실천합니다. 삶을 더 편하게 만들어줄 새로운 기술이 있다면 기꺼이 시도해 봅니다. 유지보수가 가능한 시스템을 구축하는 가장 현실적인 방법으로, 오픈 소스 코드에 크게 의존하고 있으며, contribute back. We occasionally blog on tech.ahrefs.com.

당사는 먼저 시도하고, 제대로 수행한 다음 더욱 향상시키는 것을 모토로 삼고 있습니다.

그레그는 노트북으로 작업하고 있습니다.

구직 신청

C++ Database Developer

Singapore
이 직무에 지원하기