We are searching for a Software Engineer with an affinity for TypeScript to join our rapidly expanding Engineering function. You will be working on one of our most exciting projects – Cardano – as part of the Adrestia team. You’ll take responsibility for writing high-quality code for our products and for promoting developer-friendly high-level interfaces. As a Software Engineer at IOHK you will have the exciting challenge of working on cutting-edge research and technology with a focus on the market’s needs. This role will suit someone who is passionate about their work and changing people's lives, and very self-motivated and proactive with outstanding problem-solving and interpersonal skills.
IOHK is a fully distributed organization and therefore this is a remote position. Team distribution for this role means we are ideally searching for someone in a European time zone.
- Design, document, test and support developer-friendly open-source SDKs and APIs.
- Write clean, straightforward, efficient code with automated acceptance tests to meet engineering specifications.
- Follow eXtreme Programming principles.
- Be proactive and require minimal supervision or mentoring to complete tasks.
- Work with teams across time zones.
- TypeScript / NodeJS / Webpack
- Development and maintenance of open-source libraries, API services and/or CLIs.
- Experience configuring the TypeScript compiler using modern features to establish quality project structure when considering handling of test code, linting, and packaging concerns.
- Handling, encoding, and decoding binary data.
- Demonstrated use of functional programming patterns, optionally implementing libraries such as Rx.js, and interest in other functional languages such Elm, PureScript or Haskell
- Proficient with git and GitHub.
- Able to work autonomously, with DevOps skills to establish and maintain CI/CD (distribution) processes
- GraphQL / JSON-RPC / JSON-WSP / PostgreSQL / Electron
- Familiarity with UTXO-based blockchains and/or any Cardano products.
- Experience with Swagger, OpenAPI or RAML.
- Proficiency with Docker.
- Basic understanding of compilers and language semantics.