Senior Software Engineer - Tooling team
Tarides is an international software company with offices in Cambridge (UK), Paris (France) and Chennai (India), founded in 2018 by pioneers of systems and functional programming. We have a worldwide presence with collaborators working remotely from the US, Australia, Canada, India, Japan, and across Europe. We have a solid academic background with connections to the University of Cambridge, Inria, and IIT Madras. Our diverse team of 60+ people performs groundbreaking innovation, feature development, and crucial maintenance of OCaml-based projects.
Some of those projects include the OCaml Platform, a series of crucial tools for OCaml at an industrial scale; MirageOS, an operating system that constructs unikernels for secure, high-performance applications; Irmin, a library for building mergeable, branchable distributed data stores, and the highly complex and award-winning Multicore project which will become part of the mainline OCaml compiler.
Tarides was previously part of the Founder program of Station F in 2018, and was selected for the “Concours d’Innovation i-Lab” organised by the French Ministry of Higher Education, Research, and Innovation in partnership with Bpifrance. Tarides was also recognised during the FIC (International Cybersecurity Forum) 2020 fair, the leading European event on cybersecurity. These awards acknowledge the high quality of the solutions developed by Tarides, and emphasise the interest they have gained from the cybersecurity community.
In 2022, OCaml Labs (a spinout from the University of Cambridge) and Segfault Systems (a spinout from IIT-Madras) both joined Tarides, aligning towards our mission: empowering developers, communities and organisations to adopt OCaml as their primary programming experience by providing training, expertise and development services.
We are looking for a skilled senior software engineer to maintain and develop tools of the OCaml Platform. This includes both projects that are directly funded by clients and projects that are self-funded to benefit the wider community.
As senior software engineer, you will work alongside the Tarides tooling team and the wider OCaml community in order to:
Release software used by thousands of developers
Work 100% on open source software
Shape tools and processes used in the OCaml ecosystem
The team is comprised of maintainers of several community projects, and in particular, we help maintain the OCaml Platform: merlin, odoc, ocamlformat, dune, ocaml-lsp.
Here are recent projects the team has been working on:
Implementing an RPC system in Dune to improve the editors support for error reporting.
Work on a JIT OCaml compiler to improve the performance of mdx.
Work with commercial partners to support ocp-indent features in ocamlformat.
Improve the link between definition and declaration in Merlin by upstreaming patches to the compiler.
Porting ecosystem libraries to dune (ctypes, hacl-star, pyml, etc.) to support use cases of opam-monorepo.
Work with commercial partners to solve odoc scalability issues in large codebases.
Your key responsibilities will be to:
Design, develop and maintain new functionalities and open-source tools and libraries (including merlin, odoc, ocamlformat, dune, ocaml-lsp, etc)
Lead the technical direction and quality of projects
Contribute to PR reviews and to the general open-source process of the team.
Grow the adoption of the platform ecosystem tools by adding new features, increasing performance and usability. Raise and answer general questions for the community on Slack, Github, and on the OCaml forums.
Proactively identify problems in the team’s codebases and work to improve those over time.
Participate in the definition of technical roadmaps for the projects
Ensure documentation is up to date in collaboration with tool maintainers and our team of technical writers
Proactively learn new technologies and skills (reading research papers, blog posts, experimenting with code, etc)
Mentor junior members of the team
We are looking for an experienced (4y+) software engineer to join our team. Ideally, you will have:
4+ years of experience as a software engineer working in functional programming languages or equivalent experience.
Demonstrable experience with existing open source projects
Experience with GitHub, Git and version control
Experience with the OCaml platform ecosystem, as well as experience with building software developed in OCaml, Haskell, Rust or other type-safe languages or willingness to learn.
Planning skills as this job relies on defining long-term goals and regularly delivering releases while keeping in sync with the rest of the projects
Experience in technical writing (a plus)
Good communication skills in English (English is the corporate language)
Curious and solution-oriented mindset
Experience of working in multidisciplinary teams
UK, France, India or remote.
What we offer
An opportunity to have an impact in a growing company and change the industry to use safer, more reliable, and more performant tools.
Nice offices in the centre of Paris and Cambridge
Flexibility to work remotely
International team with 15 different nationalities
Amazing health insurance, fully covered by Tarides for you and your family
Two weeks off in addition to the legal
Bonus scheme based on profit sharing
Gym subscription & wellness activities
Continuous training programs (language, feedback, time management, remote work...)
Regular events with the whole team (Monthly All-Hands meeting, monthly team-building event, weekly apéro ...)
If shortlisted, you will have three online interviews starting with a general interview, followed by a case interview, and finally an interview with the team.
We welcome applications from people of all backgrounds. We strive to create a representative, inclusive and friendly team, because we know that different experiences, perspectives and backgrounds make for a better workplace.
Contract type: full-time
Starting date: ASAP