IO Global is searching for a Senior Software Engineer (Haskell Developer) to join its Node 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
- Following agile software development practices
- 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.
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
Salary - $100k-$175k (depending on exp and 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
For more information please reach out to me directly at paushali.bhowmik@iohk.io