Remote

OCaml Developer

Serokell is a fast-growing, fully remote software development company that tackles complex problems with innovative solutions. Our team is packed with adventurous, curious, and inclusive people who are passionate about building cutting-edge software using modern technologies like functional programming.

We’re seeking an OCaml software engineer to develop a modern, general-purpose programming language and its automated code-level verifier.

We are hiring for a project-based role (typically 2-3 months) with the potential for long-term collaboration.

Requirements

We require solid knowledge of the following:

  • OCaml basics. Polymorphic variants, functional and imperative styles, monads, laziness, types of polymorphism (parametric, row, weak), GADT, module system (functors, covariant/contravariant parameters), exceptions.
  • OCaml ecosystem. Opam/dune, ppx syntax extensions.
  • Algorithms and data structures. Fundamental ones, like binary search tree, DFS, hash tables, quicksort, etc.
  • Familiarity with tools used for build/deploy automation and CI/CD: Docker, Nix, Kubernetes, etc. (at least one).
  • Good coding culture. Code structuring and decoupling, patch management with git, and code review practices.
  • Self-organization. To a strong degree.

Good-to-have, but not crucial:

  • Motoko. Part of the project will be implemented using Motoko, so experience with the Motoko programming language is a significant advantage. However, we also welcome engineers who are enthusiastic about learning Motoko from the ground up.
  • Parsers. Writing custom parsers, using parser combinators, and/or parser generators.
  • Programming language theory. Much of our work relates to compiler development and related topics.
  • Knowledge of Haskell/Rust/TypeScript and experience with them.
  • Knowledge of computer networks: HTTP, TCP/IP stack, understanding of poll- and push-based data synchronization models and their usage in modern service APIs.

What we offer to you

  • Competitive salary.
  • International projects and multicultural teams.
  • Fully remote work with flexible hours.
  • Opportunities for professional and career growth.
  • Access to mentoring, training, and world-leading conferences.
  • Therapy sessions for well-being support.
  • Contributions to our functional programming industry-leading blog.

By joining Serokell, you’ll become part of a warm, collaborative community of engineers, computer scientists, designers, marketing experts, and other inventive people. You will take part in ambitious projects building the next generation of software, test out unique ideas unhindered by bureaucracy, and enjoy our lively Slack channels that range from #music to #butthurt (with a huge custom emoji set to match!).