OCaml Developer
Ahrefs is looking for a backend developer with deep understanding of networks, distributed systems, OS fundamentals and taste for simple and efficient architectural designs. Our backend is mostly implemented in OCaml with some C++.
In this role, be prepared to deal with 25 petabytes of live data, OCaml and Linux on a daily basis.
Basic Requirements:
Proficiency in OCaml
Knowledge of C++ is a plus but not essential
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, resolve user requests
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.
If your preference is leaning towards making the web functional and working on user-facing stuff, you may want to consider our ReasonML position instead.
What You Get
We offer:
Competitive compensation package
Informal and thriving work atmosphere
Above-average perks and fringe benefits
[Office] First-class workplace (hardware, software, etc) in the modern office
[Remote] Hardware allowance
OCaml Developer
Ahrefs is looking for a backend developer with deep understanding of networks, distributed systems, OS fundamentals and taste for simple and efficient architectural designs. Our backend is mostly implemented in OCaml with some C++.
In this role, be prepared to deal with 25 petabytes of live data, OCaml and Linux on a daily basis.
Basic Requirements:
Proficiency in OCaml
Knowledge of C++ is a plus but not essential
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, resolve user requests
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.
If your preference is leaning towards making the web functional and working on user-facing stuff, you may want to consider our ReasonML position instead.
What You Get
We offer:
Competitive compensation package
Informal and thriving work atmosphere
Above-average perks and fringe benefits
[Office] First-class workplace (hardware, software, etc) in the modern office
[Remote] Hardware allowance