As Software Engineer at IOHK you will be responsible for implementing smart contracts using the IOHK blockchain framework, in particular using Marlowe (a DSL for financial contracts) and Plutus (functional scripting language on the Cardano blockchain). You will be a talented software engineer with strong functional programming skills and experience to join our growing in-house team.
You will work closely with our Programming Language Theory (PLT) and cryptography researchers, our formal methods team, and our engineering team throughout the smart contracts development programme involving design, coding, testing and integrating of new smart scripting languages and DSLs into our blockchain technology. You will play a key role in Project Goguen and be responsible for design and implementation in Cardano of financial contracts from the ACTUS standard using smart scripting languages and DSLs for smart contracts. This will ultimately allow third parties to independently develop, deploy, and execute smart contracts on the Cardano platform; a major milestone in the evolution of the technology.
- Working closely with a global base of respected researchers, product management, and development teams to understand and implement financial contracts using smart scripting languages and DSLs.
- Working with the Marlowe team, reflect on the design of Marlowe and support its evolution and further development.
- Work in collaboration with external stakeholders, including the ACTUS team.
- Design and create code, tests, supporting documentation and teaching materials for face to face and online presentation.
- Work with Subject Matter Experts (SMEs) to develop features to meet the needs of particular industry verticals.
- Excellent interpersonal skills.
- Ability to work autonomously with minimal supervision.
- Attention to detail.
- Program development in a strongly-typed functional programing language.
- Programming analysis & tools.
- Design and use of domain specific languages (DSLs) would be a bonus.
- Some knowledge of the financial sector would be an advantage.
- Show resourcefulness across role
- Take initiative in role in order to reach best solutions and work well with colleagues
- Exercises judgment in selecting methods, techniques and evaluation criteria for obtaining results.
- Networks with key contacts outside own area of expertise.
Education / Experience:
- At least 3 years of Haskell software development experience is required for this role (or comparable FP language experience; for example, in OCaml, Scala or PureScript).
- At least 2 years programming experience within the financial sector, or comparable skills or experience in another sector.
- Experience of working in the financial sector would be an advantage.