KC Sivaramakrishnan Assistant Professor @ IIT Madras

Multicore OCaml Jobs

Multiple Research Software Engineer positions are available in the Department of Computer Science and Engineering at the Indian Institute of Technology, Madras to develop Multicore OCaml and enable Tezos ecosystem to benefit from Multicore OCaml.

A dog, a deer and a monkey walk into a coffee shop...

Background

The Multicore OCaml project aims to add native support for scalable concurrency and shared memory parallelism in OCaml. At its core, Multicore OCaml extends the OCaml programming language with effect handlers for expressing scalable concurrency and a high-performance concurrent garbage collector aimed at responsive networked applications. Multicore OCaml is also the first industrial-strength language to come equipped with an efficient yet modular memory model, allowing high-level local program reasoning while retaining performance. Multicore OCaml is actively being developed and core features are being upstreamed to OCaml.

Tezos is an open-source smart contract platform for decentralized applications and assets. Tezos uses a self-amending cryptographic ledger - It achieves consensus not just about the state of a ledger, but about the state of its own protocol. The primary protocol of Tezos utilizes proof of stake and supports Turing complete smart contracts in a domain-specific language called Michelson. Tezos codebase is written in OCaml and extensively uses OCaml ecosystem libraries and tools such as Lwt, OPAM, and Irmin.

Roles

There are two roles:

  • Compiler Engineer: Runtime system improvements to the OCaml programming language in order to make it compatible with multicore support. Implementing new features in Multicore OCaml compiler.
  • Application Engineer: Developing core OCaml libraries that take advantage of multicore support. Adding parallelism support for Tezos ecosystem libraries and tools such as Lwt, Irmin, and dune.

Positions

The positions available are:

Role Minimum Qualification Pay Range (Per Month)
Project Engineer BE / BTech / Master’s in Science/MCA or equivalent Rs.21,500 to Rs.75,000
Senior Project Engineer ME / MTech (or) BE / BTech / Master’s in Science / MCA or equivalent with 2 years experience Rs.27,500 to Rs.1,00,000
Senior Project Officer / Post-doctoral Researcher Ph.D. in Engineering or Sciences (or) ME / MTech with 3 years experience (or) BE / BTech / Master’s in Science / MCA or equivalent with 5 years experience Rs.35,000 to Rs.1,50,000
Principal Project Officer Ph.D. in Engineering or Sciences with 7 years experience (or) ME / MTech with 10 years experience (or) BE / BTech / Master’s in Science / MCA or equivalent with 12 years experience Rs. 48,000 to Rs.2,25,000

The appointment will be made for 6 months initially and can be extended up to 2 years. The project engineers have the option of enrolling in the MS program at CSE, IIT Madras after 6 months. Such candidates may appear to the interview directly, without having to write GATE.

You will work closely with the OCaml Labs group, University of Cambridge, UK and Tarides, France. All of the work done will be made available as liberally licensed open-source software.

Skills

Compiler Engineer

Necessary:

  • Excellent working knowledge of C, concurrent and parallel programming
  • Knowledge of compilers (not necessarily of functional programming languages), operating systems, x86 & ARM assembly programming

Desired:

  • Experience developing and/or maintaining performant software systems
  • Experience with a functional programming language such as Haskell, OCaml, Scala, Scheme, Elm, or Elixir.
  • Track record of open source contributions.
  • Understanding of benchmarking techniques and analyzing results

Applications Engineer

Necessary

  • Excellent working knowledge of operating systems, concurrent and parallel programming
  • Experience with a functional programming language such as Haskell, OCaml, Scala, Scheme, Elm, or Elixir.

Desired

  • Track record of contributions to large open-source software systems
  • Understanding of benchmarking techniques and analyzing results

Apply

Write to kcsrk@iitm.ac.in with the subject “IITM Multicore OCaml 2019: Compiler Engineer” or “IITM Multicore OCaml 2019: Application Engineer” based on the role to express interest. Please include:

  1. Curriculum Vitae
  2. A summary of your experience in relevant technologies and software
  3. Any open source contributions

Creative Commons License kcsrk dot info by KC Sivaramakrishnan is licensed under a Creative Commons Attribution 4.0 International License.