Ingénierie à grande échelle. Construit en interne

Nous explorons le web, traitons des billions de points de données et fournissons des informations en temps réel.

Open source et projets que nous soutenons

GitHub – Ahrefs

Notre plateforme open-source, sur laquelle nous partageons des outils, des bibliothèques et des contributions qui alimentent l’infrastructure d’Ahrefs et soutiennent la communauté des développeurs.

Melange

Un backend pour le compilateur OCaml qui permet de compiler les codes OCaml et Reason en JavaScript efficace et lisible. Il offre une intégration profonde avec l’écosystème et les outils OCaml. Depuis ses débuts, nous sommes activement impliqués dans le projet Melange et nous continuons à y contribuer.

OCANNL

Un framework d’apprentissage profond qui implémente des backends de bas niveau, met l’accent sur l’inférence de forme et la notation concise, prend en charge le parallélisme « machine unique, plusieurs dispositifs » ainsi que les processeurs multicœurs. Actuellement, au cœur, OCANNL est explicitement compilé et synchronisé.

OCSF

Nous sommes membres de l’OCSF (OCaml Software foundation), une fondation à but non lucratif dont la mission est de promouvoir, de protéger et de faire progresser le langage de programmation OCaml et son écosystème, ainsi que de soutenir et faciliter la croissance d’une communauté d’utilisateurs OCaml diversifiée et internationale.

OPAM

Nous soutenons OPAM, le gestionnaire de paquets d’OCaml, en contribuant à sa fiabilité, à ses performances et à ses outils pour nos projets et la communauté.

Technologie chez Ahrefs

Ahrefs est construit sur une base d'ingénierie innovante, de systèmes à haute performance, et d'une obsession profonde pour les données.

Nos outils sont alimentés par certaines des infrastructures les plus avancées dans le domaine de l'intelligence marketing, conçues et opérées entièrement en interne.


Nous explorons le web entier à une échelle massive, traitons des trillions de points de données, et fournissons des insights en temps réel à des millions d'utilisateurs dans le monde.

Notre Culture Technologique

Nous avançons vite mais nous ne faisons pas les choses à moitié. Nous valorisons le travail bien fait, puis nous l'améliorons continuellement.

Notre devise reflète notre approche de l'ingénierie et de l'apprentissage.

Faites-le d'abord,
puis faites-le bien,
puis faites-le
mieux.

Les ingénieurs d'Ahrefs sont très autonomes et jouissent d'une grande liberté. Les décisions sont prises par les personnes les plus proches du problème. Un seul développeur peut amener un outil ou un système de l'idée à la production. Les équipes possèdent des produits entiers.


Notre équipe est petite et notre code est compact. Nous concevons avec l'échelle à l'esprit: les systèmes sont censés fonctionner pendant de longues périodes, se réparer eux-mêmes en cas de besoin, et rester suffisamment simples pour être débogués facilement. Performance, clarté et robustesse importent.


Nous nous concentrons sur la résolution des problèmes de base, pas seulement des symptômes. Cela signifie-t-il enquêter sur un bug CPU? Alors soit! Nous encourageons également la contribution open-source, en publiant du code et en contribuant aux outils dont nous dépendons.


Nous nous efforçons de garder les choses simples. La simplicité facilite l'évolutivité, le débogage et l'amélioration. Elle nous aide à rester concentrés sur l'essentiel : créer des outils puissants qui fonctionnent de manière fiable à grande échelle, apportant de la valeur aux clients. Elle rend aussi les outils durables en gardant bas le coût des changements et de la maintenance.

Subvention OCaml d’Ahrefs

Le programme de subventions Ahrefs pour OCaml soutient les projets qui renforcent l’écosystème OCaml et favorisent son développement.

Dans le cadre de ce programme, nous accordons des financements à des personnes, des équipes et des organisations qui travaillent sur des améliorations significatives apportées à OCaml, ses outils, ses bibliothèques, son infrastructure, sa documentation, son enseignement et sa maintenance à long terme.

Les candidatures pour le cycle de financement en cours sont désormais closes et les projets retenus ont été choisis.

Lorsqu’une nouvelle période de candidature s’ouvrira, les personnes, les équipes et les organisations qui travaillent avec OCaml seront invitées à soumettre leurs propositions depuis cette page.

Les candidatures sont actuellement closes.

Nous sommes ouverts aux propositions qui :

  • Renforcent le compilateur OCaml ou les bibliothèques principales

  • Améliorent les outils et l’expérience développeur

  • Créent ou modernisent des bibliothèques et des dépendances importantes

  • Améliorent la fiabilité, les performances ou la sécurité des systèmes OCaml

  • Soutiennent l’enseignement, l’infrastructure communautaire ou la maintenance de projets

Nous étudions les projets de toutes tailles et accordons la priorité à ceux qui présentent une valeur durable et un plan crédible pour assurer leur maintenance continue.

Les sélections reflètent les priorités d’ingénierie d’Ahrefs et notre évaluation de l’impact potentiel de chaque proposition.

Les candidats peuvent demander jusqu’à 50 000 USD par projet.

Le financement peut être attribué à un projet ou réparti entre plusieurs propositions.

Jusqu’à
$50
K
par projet

Les candidatures sont actuellement closes

Projets sélectionnés pour être financés

Liaisons OCaml pour GTK 4

par Chris Armstrong

Développement de liaisons OCaml modernes pour GTK 4, permettant aux développeurs OCaml de créer des applications graphiques avec la dernière génération de la boîte à outils GTK.

LSP pour Menhir

par Federico Dal Pio Luogo

Développement de la prise en charge du Language Server Protocol pour Menhir et OCamllex, offrant des fonctionnalités telles que la navigation dans l’éditeur, les complétions, les diagnostics et d’autres améliorations de l’expérience développeur.

Motifs programmables pour OCaml

par Ningning Xie et l’équipe de l’Université de Toronto

Recherche et développement de motifs programmables pour OCaml, afin d’explorer des moyens de rendre l’appariement de motifs plus expressif et extensible.

Notre pile technologique

OCaml

Notre principal langage backend. Nous utilisons OCaml pour le traitement des données à grande échelle et haute performance grâce à son paradigme fonctionnel, son typage statique et sa maintenabilité. Il est au cœur de tout ce que nous concevons et nous contribuons activement à son écosystème.

Melange / ReasonML

Nous utilisons Melange avec la syntaxe ReasonML à travers notre pile frontend pour garantir la cohérence avec OCaml, le support de React via JSX, et la puissance du développement web sécurisé par types. Nous maintenons également des liaisons open-source pour les bibliothèques clés.

C++

Des moteurs de stockage aux systèmes distribués, nous écrivons l'infrastructure critique pour la performance en C++.

ClickHouse

Nous opérons une version personnalisée de Clickhouse adaptée à notre infrastructure. Notre équipe Clickhouse se concentre sur l'exécution parallèle de requêtes, la performance multi-dispositifs et les améliorations de haute disponibilité.

Python

Notre équipe de machine learning utilise Python pour construire et déployer des modèles, ainsi que pour gérer les flux de travail de l'ingénierie des données.

Nos équipes d’ingénierie

Backend

Concevez les systèmes derrière notre crawler, notre moteur de recherche et nos outils d’intelligence marketing. Traitez des pétaoctets de données, tout en garantissant la fiabilité et la rapidité.

Couche intermédiaire

Alimentez les frameworks internes et les API utilisés dans l’ensemble des produits. Optimisez l’observabilité, les performances et l’expérience utilisateur des développeurs.

Frontend

Le frontend chez Ahrefs ne se limite pas à l’interface utilisateur, il s’agit d’amener les données jusqu’au client depuis les bases de données. Cela inclut l’interface utilisateur, mais implique également de travailler sur la couche API traitant les données.

Infrastructure

Assurez la fiabilité de l’infrastructure à l’échelle mondiale : de l’automatisation et des déploiements à l’optimisation des performances et à la réponse aux incidents.

Apprentissage automatique

Développez des services d’apprentissage automatique pour la recherche à l’échelle du Web, la compréhension de contenu et le classement. Relevez les défis liés à l’optimisation des LLM, à la récupération dense, et bien plus encore.

Clickhouse

Personnalisez Clickhouse pour l’adapter à nos besoins : requêtes à faible latence, fonctionnalités SQL avancées, analyses tolérantes aux défauts.

Recherche sur Yep

Travaillez principalement en C++. Concevez et développez des systèmes performants de bas niveau, des composants internes de Linux aux couches de calcul distribuées et aux moteurs de stockage.

Témoignages de nos employés

Middleend

The biggest surprise for me was really about responsibility, agency, and trust. In a nutshell: if something needs doing (a bug needs fixing, a feature needs improving), you do it.

Raphael Proust,

Middle-end Developer

Frontend

Every day is a new day where I get to solve interesting problems, or make improvements that have a positive impact on thousands of users.

Backend

I love being part of the Ahrefs engineering team. With smart, curious colleagues, top-tier infrastructure, and real ownership even for juniors, what’s not to like? Expectations are high, but Ahrefs encourages experimentation and growth, keeping everyone engaged and challenged.

Rytis Jonynas,

Backend Developer

Processus de recrutement

Écoutez notre recruteur expliquer comment nous recrutons nos ingénieurs

Lire l’histoire
1

Application

Candidatez simplement pour le poste pertinent sur notre site dédié aux carrières.

2

Présélection par le recruteur

Discutez avec notre recruteur pour en savoir davantage sur Ahrefs, nos équipes, notre culture, et obtenez quelques conseils sur le processus à venir.

3

Exercice à réaliser à domicile

La nature des missions dépend du rôle pour lequel vous candidatez : le recruteur vous accompagnera. Nous ne fixons pas de délais stricts et évitons de rendre les missions arbitraires. Nous essayons plutôt de les rendre agréables !

4

Entretien

Ce sont des discussions techniques assez peu structurées ; une occasion pour nous d’en apprendre davantage sur vous, et pour vous d’en apprendre plus sur nos équipes et notre travail. Il n’y a pas de LeetCode, d’énigmes de codage ou d’exercices au tableau.

5

Offre 🎉

Détendez-vous, plus de pression ! Plus d’entretiens, plus de missions. Attendez simplement de rejoindre l’équipe !

Rejoignez-nous. Nous sommes toujours à la recherche d’esprits brillants en ingénierie.

Backend

OCaml Developer

Cambridge, MA, United States
Palo Alto, CA, United States
Singapore
Tokyo, Japan