About the Role

To ensure someone can be effectively supported throughout the intern we cn only look to hire an intern in either Singapore or in Europe.

You'll work remotely within our Middle-end / Tooling team, focusing on improving the observability of Dune, the OCaml build system. This isn't about cosmetic changes; it's about digging into Dune's core to expose how it builds things, making complex OCaml projects more understandable.

Responsibilities

  • Dive into the Dune codebase, identify areas where the build rules are translated into actions.
  • Implement modifications directly in Dune's source code to expose fine-grained information about builds.
  • Develop and contribute pull requests to the upstream `ocaml/dune` project, working with the maintainers.
  • Experiment with your changes and new tooling on real, large-scale industrial OCaml codebases to validate their usefulness.
  • Collaborate asynchronously with the team.

Requirements

Must have:

  • Solid OCaml programming skills. You need to be comfortable reading, understanding, and writing idiomatic OCaml.
  • Experience with basic Git and GitHub workflows (branching, committing, pull requests, code reviews).
  • Good written and verbal English communication skills for collaborating with a remote, async team and upstream maintainers.

Nice to have:

• Prior experience using more than one build system (e.g., Cargo, Make, Bazel, SCons, Nix, etc.).

What Success Looks Like

You've made significant contributions to Dune, resulting in working prototypes or even merged changes for a
tool that clarifies what happened during a build and why. This could involve exposing new internal Dune data
structures or developing a basic analysis tool on top, verified on an industrial codebase.

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! 

Unisciti ad Ahrefs e fai la differenza con un team che produce grandi risultati in un ambiente positivo.

Candidati per questa posizione

Chi siamo

Siamo un piccolo team che crede fermamente che una tecnologia migliore porti a soluzioni migliori per i problemi del mondo reale. Adoriamo i linguaggi funzionali e la tipizzazione statica, facciamo largo uso della generazione di codice e della meta-programmazione, valorizziamo la chiarezza e la prevedibilità del codice e cerchiamo costantemente di automatizzare le attività ripetitive e di eliminare il boilerplate.

Seguiamo i principi DRY e KISS: evitare le ridondanze e mantenere le cose semplici. Siamo aperti a provare nuove tecnologie, se possono aiutarci a lavorare meglio. Facciamo grande affidamento sul codice open-source in quanto unica via percorribile per creare un sistema sostenibile e vi diamo il nostro contributo. Occasionalmente pubblichiamo post sul blog tech.ahrefs.com.

Il nostro motto è: prima fallo, poi fallo bene, poi fallo meglio

Ascolta il nostro team

Marketing

One of my favorite things about working at Ahrefs is being given the opportunity to grow across functions, roles and teams, as long as it makes sense for the company

Rebekah Bek,

Brand Communications Manager

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.

Marketing

You have autonomy to make things happen. Despite the size of Ahrefs’ business, I’m part of a really lean team—cool things you see from our platform or events are the result of self-driven initiatives from each of us

Processo di assunzione

Come assumiamo gli ingegneri

Leggi tutto l'articolo
1

Applicazione

Devi solo candidarti per il ruolo pertinente sul nostro sito dedicato alle carriere.

2

Schermata del selezionatore

Parla con il nostro selezionatore per saperne di più su Ahrefs, i suoi team e la sua cultura, e ottenere alcuni suggerimenti sul processo che ti attende.

3

Compito a casa

La natura del compito dipende dal ruolo per cui ti candidi: il selezionatore ti fornirà le indicazioni necessarie. Non fissiamo scadenze rigide né rendiamo i compiti troppo arbitrari, anzi, cerchiamo di renderli divertenti!

4

Colloquio

Si tratta di discussioni tecniche piuttosto informali: un’occasione per noi di conoscere meglio te e per te di scoprire qualcosa in più sui nostri team e sul nostro lavoro. Niente LeetCode, rompicapi di programmazione o esercizi alla lavagna.

5

Offerta 🎉

Rilassati, la pressione è finita! Niente più colloqui, niente più compiti: devi solo aspettare di unirti al team.

Posizioni correlate


Backend

OCaml Developer

Singapore
Remote