Ocaml Developer

Job description

Suavei 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 cybersecurity, OCaml and Linux on a daily basis.


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
  • 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.

Benefits & Perks: 

  • Flexible Vacation Policy
  • Full Health Benefits
  • Flexible Time
  • Work from Home
  • Retirement Plans
  • Beer Friday
  • Training Meetups
  • Career Development Plan
  • Leadership Boost
  • Local universities discounts


  • Must have:
    • Some experience in Lisp, OCaml or Erlang and willingness to learn (more) OCaml
    • Extensive experience with Linux OS (Ubuntu specifically)
    • Experience writing servers for JSON REST APIs
    • Experience using SSH and some of its most advanced functionality, like port tunneling
  • Nice to have:
    • Experience specifically with OCaml
    • Familiarity with PostgreSQL
    • Familiarity with DevOps methodologies and tools like Jenkins, Git, GitHub
    • Familiarity or Experience with Tensorflow
  • Bonus: understanding of what nmap and nessus/openvas do (https://github.com/greenbone/openvas/tree/master/src)