Description

Summary

Want to work in a cutting-edge, research-driven project with an impact on millions of users?

IO Global is searching for a Senior Software Engineer to join the Hydra team and work with us on the next big thing for the Cardano ecosystem. As a vital part of the Basho era, Hydra supports the growth and adoption of Cardano. By increasing the speed of transactions and ensuring low transaction fees, Hydra will be an enabling factor to applications that require these conditions, and it will be off-loading transactions from the main chain. Based on research done at IOG, we are creating the first implementation of the Hydra protocols as a full functionality layer-two solution for Cardano, providing scalability with the same level of security.

Within our team of seasoned Haskell engineers, you'll be working on the implementation of a "hydra-node", which is a decentralized, event-sourced backend application acting as a component in a layer 2 stack for the Cardano network. Blockchain interaction (Utxo-based ledger + Plutus scripts in our case), networking, cryptography, APIs, persistence and resilience are some of the topics that engage us.

We develop in an agile, amenable, and iterative approach inspired by eXtreme Programming (XP) and its values. Despite (or rather because of) the fact that we all work in a fully remote setting, we communicate daily and prefer working in an ensemble/pair programming setting as much as possible. But we also leave room for some more traditional solo programming with pull requests. Most of the time, we drive our development using end-to-end, integration, unit, and (our favorite) property tests.

Although we only use Haskell in this project, extensive knowledge and expertise in it is not required as we try to practice "non-fancy" (aka simple or boring) Haskell. Instead, experience in one or more areas of our domain, seniority in another statically typed or functional programming language, substantial experience in building, delivering, and running distributed systems, as well as willingness to learn are more important to us.

We look for someone who shares our values and mentality to create working software in a highly collaborative and iterative way, strives for correctness and simplicity, and appreciates our open discussion culture.

Your responsibilities

  • Following agile software development and open source best practices
  • Working with teams across multiple time zones in pair- and ensemble-programming sessions, but also independently on software development tasks
  • Contributing to and reviewing software specifications and designs
  • Assuring quality of your code with unit, property, and integration tests
  • Integrating software components and third-party libraries
  • Creating and maintaining continuous integration and deployment workflows
  • Writing documentation and technical user manuals.

Requirements

Your expertise

  • A degree in Computer Science is desirable but not essential
  • Practical experience working in agile software development projects
  • Minimum of three years experience in a statically typed or functional programming language; Haskell is ideal, but not strictly required
  • An appreciation of the value of test-driven development and formal methods (ie. correctness), and ideally a knowledge of property-based testing
  • Background in working with (UTXO) blockchains, distributed systems/networking, cryptography, or owning open-source projects is beneficial
  • Experience with nix and docker to build and distribute code is beneficial
  • Solid written and spoken communication skills in English.

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 time zone (UK, Ireland or Poland).

All Colleagues

  • Flexible schedule
  • Laptop reimbursement
  • New starter package to buy hardware essentials (headphones, monitor, etc)
  • Learning & Development Opportunities
  • Competitive PTO and Sick Leave plan

UK & Irish Employees

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