Remote Job Description

IO Global is searching for a Senior Software Engineer (Haskell Developer) to join its Consensus team. The Cardano node is a large Haskell codebase, making nontrivial use of some of the programming language’s more advanced features, and tested using property-based testing. We are looking for someone to join our Consensus team and help us improve and add features to the Cardano blockchain, such as consensus, on-chain governance and support for light clients and sidechains. As a member of the team, you will have the exciting challenge of working on cutting-edge research and technology, translating it into the design and implementation necessary for the Cardano proof-of-stake blockchain to be globally available and reliable.

Your mission

  • Working with teams in multiple time zones
  • Carrying out software development tasks independently, with minimal supervision or mentoring
  • Design, architect, and build our Haskell backend with well-documented, tested code that can gracefully scale.
  • Reviewing specifications produced by architects and formal methods specialists
  • Contributing to the design of algorithms
  • Writing clean, straightforward, efficient code that satisfies acceptance criteria and specifications
  • Committing often and submitting pull requests frequently, and reviewing the pull requests of your teammates
  • Covering your code with unit, property, and integration tests when applicable
  • Fixing bugs in your own and legacy code
  • Being available for emergency fixing of severity 1 issues on deployed products
  • Integrating software components and third-party libraries
  • Verifying and deploying programs and systems
  • Troubleshooting, debugging, and upgrading existing software
  • Writing documentation for code and technical user manuals.
  • Willing to learn and extend the technical architecture of new protocols.
Requirements

Your expertise

  • A minimum of four years’ development experience (professional or otherwise) in Haskell
  • You have owned and maintained a non-trivial codebase with longstanding active development
  • Proficient knowledge of functional programming
  • Experience with Git
  • Good understanding of QuickCheck/Hedgehog and property testing, and of call-by-need, memoization, and lazy evaluation
  • Familiarity with frameworks/libraries such as conduit and pipes, cryptonite, lens, optparse-applicative, stm, Template-Haskell, CBOR, GHC Generics, etc
  • Strong knowledge of distributed systems and concurrent computation, and the basics of cryptography
  • Proficiency with advanced FP techniques such as advanced functional data structures, dependent types, extensible effects, generic programming, streaming, and type-level programming.
Nice to haves

  • Prior experience with blockchain projects is helpful but not required.
  • Prior experience in developing high-quality backend system architecture and knowledge of how such architecture principles should apply to blockchains
Benefits

Location

IOG is a fully distributed organization and therefore this is a remote position. Due to team distribution we are ideally searching for someone in a European timezone.

All Colleagues

  • Flexible schedule
  • Remote work - ability to work anywhere
  • Laptop reimbursement
  • New starter package to buy hardware essentials (headphones, monitor, etc)
  • Learning & Development opportunities
  • 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