Enable job alerts via email!

Software Engineer (Haskell) Compiler - Plutus Core - IOE: Cardano - Part Time

Input Output (IOHK)

United Kingdom

Remote

GBP 40,000 - 60,000

Part time

Today
Be an early applicant

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

A leading technology company focused on blockchain research is seeking a Software Engineer specializing in Haskell for part-time work. The role involves developing high-quality software solutions, collaborating with interdisciplinary teams, and contributing to innovative blockchain projects. Ideal candidates will have a strong background in functional programming and a passion for blockchain technology.

Benefits

Remote work
Laptop reimbursement
Hardware essentials package
Learning & Development opportunities
Competitive PTO

Qualifications

  • 1 year of experience in software development, data structures, and algorithms.
  • Experience in designing and implementing programming languages, compilers, and runtime systems.

Responsibilities

  • Develop high-quality software solutions and write clean, efficient code.
  • Conduct code reviews and implement CI pipelines using GitHub Actions.
  • Write and execute tests to ensure code quality.

Skills

Haskell
Leadership
Communication

Education

Bachelor's degree in Computer Science

Tools

Git
Jira

Job description

Software Engineer (Haskell) Compiler - Plutus Core - IOE: Cardano - Part Time

Get AI-powered advice on this job and more exclusive features.

Who are we?
IOHK is a technology company focused on Blockchain research and development. We are renowned for our scientific approach to blockchain development, emphasizing peer-reviewed research and formal methods to ensure security, scalability, and sustainability. Our projects include decentralized finance (DeFi), governance, and identity management, aiming to advance the capabilities and adoption of blockchain technology globally.

We invest in the unknown, applying our curiosity and desire for positive change to everything we do. By fueling creativity, innovation, and progress within our teams, our products and services are designed for people to be fearless, to be changemakers.

What the role involves:

The primary purpose of this role is to develop high-quality software solutions that meet customer needs. You will be responsible for writing high-quality code for our products. You will work with cutting-edge research and technology. To support you on this challenge, our products have software architects, product managers, project managers, formal methods specialists, and QA test engineers, with whom you must communicate professionally, effectively, and efficiently.

The Plutus Core team is building the core of Cardano's smart contract functionality on the bedrock of functional programming languages. This interdisciplinary team carries out original R&D and turns the results into production systems. This team has designed and implemented four languages for Cardano smart contracts (Plinth, Plutus IR, Typed Plutus Core, and Untyped Plutus Core) and improved the compiler and runtime with more built-in functions and optimizations, expanding the expressiveness, capability, and security of smart contracts on Cardano. They have formalized the semantics of Typed and Untyped Plutus Core using Agda, developed novel compilation techniques for data types, and implemented a compiler for Plinth into Untyped Plutus Core, which uses Plutus IR and Typed Plutus Core as intermediate representations. They also implemented evaluators for Typed and Untyped Plutus Core, in Haskell and Agda. They contributed to Cardano ledger updates for smart contracts and published peer-reviewed research.

Coding and Development:
  • Write and maintain code in Haskell
  • Use Git for version control, committing often, and submitting small pull requests
  • Write clean, efficient code that meets acceptance criteria and specifications
Testing and Debugging:
  • Write and execute unit, property-based, and integration tests to ensure code quality
  • Identify and fix bugs, including emergency fixes for severity 1 issues
  • Troubleshoot, debug, and upgrade existing software
Code Reviews and CI/CD:
  • Conduct and participate in code reviews to maintain code quality
  • Implement and manage CI pipelines using GitHub Actions, troubleshooting and improving as needed, optionally using Nix
Software Architecture and Security:
  • Design and architect software components
  • Design secure software and perform security analysis
  • Review specifications from architects and formal methods specialists
  • Contribute to algorithm design
Documentation and Research:
  • Write clear software documentation and technical user manuals
  • Simplify complex blockchain concepts
  • Read and comprehend research papers on cryptography and blockchain
Release Management and Agile Practices:
  • Follow release processes, manage SRPs, and use GitHub Actions
  • Split work into tickets with acceptance criteria and maintain ticket status using Jira
  • Adhere to agile software development practices
Blockchain and Distributed Systems Knowledge:
  • Understand Cardano, Blockchain, and Distributed systems
  • Be knowledgeable in distributed and concurrent computation
Collaboration and Independence:
  • Work independently on software tasks, being proactive and requiring minimal supervision
  • Collaborate with teams across multiple time zones
  • Integrate software components and third-party libraries
  • Verify and deploy programs and systems
Plutus Core:
  • Enhance Plutus Core tooling to create a world-class product that meets diverse user needs within technical constraints of the system
  • Collaborate with engineers and researchers to design and implement features for Cardano smart contract languages, compilers, and runtime systems, along with documentation
  • Engage in technical discussions with peers and stakeholders
  • Conduct code and design reviews to ensure quality
  • Provide expert Plutus guidance to partner teams for alignment and knowledge sharing
Requirements:
  • Bachelor's degree in Computer Science or equivalent experience
  • 1 year of experience in software development, data structures, and algorithms
  • Experience in Haskell or other functional languages
  • Experience in designing and implementing programming languages, compilers, and runtime systems
  • Knowledge of blockchain and UTXO-based ledgers is a plus
  • Strong English communication skills, both spoken and written
  • Ability to work independently on tasks
  • Leadership qualities to foster craftsmanship and innovation
  • Experience in writing documentation and user manuals
Are you an IOGer?

If you question the status quo, tinker with ideas, and aspire to turn ideas into solutions, you might be a great fit. We value curiosity, debate, and continuous growth. Join us to reimagine possibilities and break limits.

Benefits:
  • Remote work
  • Laptop reimbursement
  • Hardware essentials package
  • Learning & Development opportunities
  • Competitive PTO

At IOG, we value diversity and do not discriminate based on race, religion, gender, or other protected statuses.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.