Remote

OCaml Developer

Serokell is a fast-growing, fully-remote software development company that works on innovative solutions for complex problems. We’re packed full with adventurous, curious, and inclusive folks that want to build cutting-edge software with modern technologies like functional programming.

We’re seeking an OCaml software engineer to develop the software ecosystem of an open-source blockchain platform and its smart contract language.

Requirements

We require solid knowledge of:

  • OCaml basics. Polymorphic variants, functional and imperative styles, monads, laziness, kinds of polymorphism (parametric, row, weak), GADT, modules system (functors, covariant/contravariant parameters), exceptions.
  • OCaml ecosystem. Opam/dune, ppx syntax extensions.
  • Algorithms and data structures. Fundamental ones, like binary search tree, DFS, hashtable, quicksort, etc.
  • Computer networks. HTTP, TCP/IP stack. Understanding of poll- and push-based data synchronization models and their usage in modern service APIs.
  • Good coding culture. Code structuring and decoupling, patch management with git and code review practices.
  • Self-organization. To a decent level.

Good-to-have, but not crucial:

  • OCaml. Experience with popular libraries and tools: menhir, Lwt, yojson, sexplib, expect-test, alcotest, Jane Street’s Core.
  • Parsers. Writing your own parsers, using parser combinators and/or parser generators.
  • Programming language theory. A large part of our work is related to compiler development and other topics in this area.
  • Experience with another functional programming language. We specialize in Haskell and Rust, so it will be an advantage if you have previous experience with one or both of these languages.

What we offer to you

  • Competitive salary.
  • Attractive international projects.
  • Participation in the leading world conferences.
  • International teams and multicultural environment.
  • Fully remote work and flexible working hours.
  • Possibility to take days off any time you need.
  • Investment in your professional and career growth, which will correspond to wage growth.
  • Mentoring and training.
  • Yoga classes and therapy sessions to support your well-being.
  • English language courses.
  • Opportunity to contribute to one of the functional programming industry’s leading blogs.

By joining Serokell, you’ll become a part of a warm community of ingenious engineers, computer scientists, designers, marketing experts, and other inventive people. You will be able to take part in ambitious projects that work on building the next generation of computer software, try out crazy initiatives unhindered by bureaucracy or judgment, and have fun in our Slack channels that range from #music to #butthurt (did we mention the huge custom emoji set?).