GBBC Member Careers

Software Engineer - Plutus (Haskell)

Input Output

Input Output

Software Engineering
United Kingdom
Posted on Tuesday, September 12, 2023


The Sidechains team builds a solution to enable Sidechains to the Cardano ecosystem .. Our published work includes the Cardano sidechains tooling and the proof of concept EVM sidechain . We also support both internal and external projects through our open-source workflows. One of the internal partners includes Midnight, a recently announced Data protection-based chain.

The Sidechains team are working together to build the core of Cardano’s functionality on the bedrock of functional programming languages. This interdisciplinary team carries out original R&D and turns the results into production systems.

As a Haskell Engineer/Plutus you are responsible for writing high-quality code. To support you, 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.


  • Following the agile software development practices used by the team
  • Working with teams across time zones
  • Carrying out software development tasks independently
  • Covering your code with unit, property, and integration tests when applicable
  • Creating high quality pull requests with clear communication of design intent
  • Reviewing the pull requests of others in the team
  • Fixing bugs in your own and legacy code
  • Integrating software components and third-party libraries
  • Troubleshooting, debugging, and upgrading software
  • Writing documentation for code and technical user manuals
  • Developing your knowledge of distributed and concurrent computation, and of cryptography.
  • Developing your knowledge of blockchain and related financial technologies
  • Implementing and maintaining functionality within the smart contract runtime codebase
  • Following the technical guidance of senior engineers

Key Competencies

  • Empathetic
  • Highly organized
  • Excellent communication skills
  • Thoughtful, and able to provide critical feedback to design decisions
  • Collaborative and inquisitive

Education / Experience

  • Good exposure to programming languages/functional programming theory
  • A minimum of five years development experience (professional or otherwise) in functional programming with Haskell
  • A minimum of one year of development experience with Plutus is desirable
  • Some exposure to blockchain and UTXO-based ledgers would be a bonus
  • Experience with git/github/open-source workflows
  • The most important skill is the ability to set a good example of working in an encouraging and collaborative manner.
  • Advanced knowledge of the Haskell type system.
  • Good working knowledge of Plutus tools for development of Plutus Apps.
  • Experience working on a large Haskell codebase.
  • The ability to write performant (both in terms of speed and memory) Haskell programs.
  • Haskell specific packaging tools and concepts, such as Cabal and PVP.
  • Excellent documentation skills.
  • The ability to write code to a formal specification.
  • Experience working with cryptography engineers to ensure the proper use of our most critical components.
  • Knowledge of property based testing.