Haskell Software Engineer (Ledger team)

  • IOHK
  • Feb 23, 2021
Permanent

Job Description

Description

We are looking for an experienced Haskell Software Engineer to join our fantastic Ledger team. You will be working on features being added to the Cardano blockchain, which usually involve changes to the ledger. Features originate with our researchers, are turned into a formal specification, and are then implemented in Haskell by the Ledger team.

Your mission

You will be a friendly, hard-working, self-motivated individual who is excited about using advanced Haskell features and open to working with formal specifications. You will help implement features, such as decentralized governance, decentralized updates, and scalability, on the Cardano ledger. This work includes property tests. The Cardano our code base makes heavy use of Haskell's type classes and type families, so experience with these, or the ability to pick them up, is crucial.

In your day-to-day duties s a Software Engineer you will:
  • Follow agile software development practices
  • Work with teams across time zones
  • Work independently on software development tasks
  • Be proactive and require minimal supervision or mentoring to complete tasks
  • Review specifications produced by architects and formal methods specialists
  • Contribute to the design of algorithms
  • Write clean, straightforward, efficient code that satisfies acceptance criteria and specifications
  • Commit often and submit small pull requests frequently
  • Cover your code with unit, property and integration tests when applicable
  • Review the pull requests of your team mates
  • Fix bugs in your own code and in legacy code from others
  • Be available for emergency fixing of severe issues on deployed products
  • Integrate software components and third-party libraries
  • Verify and deploy programs and systems
  • Troubleshoot, debug and upgrade software
  • Write documentation for the code
  • Write technical user manuals
  • Improve your knowledge of distributed and concurrent computation
  • Improve your knowledge of the basics of cryptography.


Requirements

Your expertise

  • Experience with Haskell, particularly type classes and type families
  • Experience with Nix is a big advantage.
  • Able to work on a complex system and have an aptitude for simplifying complexities
  • Good communication skills, both written and spoken


Benefits

Location

IOG is a fully distributed organization and therefore this is a remote position.

All Colleagues

  • Flexible schedule
  • Remote work - ability to work anywhere
  • Laptop reimbursement
  • New starter package to buy hardware essentials (headphones, monitor, etc)
  • Udemy for Business
  • Competitive PTO and Sick Leave plan

US Employees

  • Medical, Dental, and Vision benefits coverage through Anthem with 100% premium cost covered by IO Global for the employee and dependents
  • Health Savings Account
  • Life Insurance

UK Employees

  • Monthly Health Stipend to use towards any wellness or medical coverage/service
  • Pension