Remote | International
Input Output HK - IOHK

GHC Web Backend Developer

Location: Remote

FULL-TIME

ALLOWS REMOTE

At IOHK we hire smart people from different backgrounds and disciplines, working closely together in an environment of respect and trust. Our goal is to create a culture of transparency, innovation and collaboration. Recruiting the right people, who not only have the smarts but also the behaviours to nurture our culture, is critical to our success and this is where you come in!

Wherever you decide to work, you will be supported by and be part of IOHK’s remote work culture that emphasizes online communication via Trello, Slack, GitHub, Hangouts.

We are looking for a talented Haskell compiler engineer to join our growing in-house team. In this full time, remote work opportunity the candidate will be responsible for designing, implementing, and maintaining existing and emerging backends for the Glasgow Haskell Compiler (GHC) targeting Web platforms, such as JavaScript and WebAssembly.

The individual will work as part of a newly formed Haskell Web compiler team and closely collaborate with our existing programming language and compiler teams across the full software life cycle of design, coding, testing and maintenance. The work will be in the context of existing open source projects and we expect that the individual maintains a close working relationship with other project contributors. The individual should have a strong understanding of functional programming, type systems, virtual machines, Web programming technology, and compiler implementation techniques. We strongly prefer candidates with an existing understanding of and experience with the internals of GHC.

Web execution platforms play a central role in the distribution and execution of distributed blockchain contract applications, and specifically, in IOHK’s Plutus Platform for the development of smart contracts for the Cardano blockchain. Our Haskell Web compiler team will consequently play a central role in the deployment of Plutus contracts and in unlocking the full potential of Cardano.

Key Responsibilities:

  • Design, implement, test, and maintain key functionality in GHC Web backends, such as GHCJS and Asterius.
  • Implement build system support and other GHC toolchain functionality for GHC Web backends.
  • Improve the packaging, building, testing, and deployment infrastructure for GHC Web backends.
  • Work closely with other members of the relevant open source projects.
  • Work with members of IOHK teams that utilise GHC Web backends (such as the Plutus and Marlowe teams) to understand their requirements and to implement and improve functionality that they depend on.

Requirements:

  • At least two years experience of compiler design & implementation
  • At least two years of Haskell experience
  • Documented contribution to open source projects

Desirable expertise:

  • Existing understanding of the architecture of GHC and especially its backend technology
  • Experience with generating JavaScript and/or WebAssembly
  • Existing contributions to GHC and/or GHCJS (or related technologies, such as the PureScript compiler)
  • Experience with the implementation of the GHC runtime system and base libraries
  • Experience with cross-compilation technology and build systems

What we value:

  • Passion for working alongside teams that want to explore new frameworks and systems that are more fair, open and transparent.
  • Collaboration and Inclusion: Innovation happens when people from different backgrounds and disciplines work closely together in an environment of respect and trust. You will help bring people into the conversation.
  • Transparency: Trust is built on openness and transparency. For example, all our code is open source and we share information openly with communities and colleagues.
  • Ability to work autonomously with minimal supervision. We offer a dynamic working environment that suits people who are self-motivated and can work autonomously. You will naturally have strong communication and organisational skills and can work on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors.

In addition to working on ground breaking projects, you’ll also get in return:

  • Opportunity to work remotely
  • Flexible hours
  • 20 days paid service interruption
  • Paid public holidays
  • 5 days paid sick leave