RemoteRemoteGlobalfull-timeNov 3

About the Role

# Senior Consensus Protocol Engineer (Haskell / Functional Programming) **Location:** Remote-first | Global **Employment:** Full-time **Seniority:** Senior / Staff ## About the Role We are seeking an experienced **Consensus Protocol Engineer** to help build and evolve the distributed consensus protocols powering a high-assurance Proof-of-Stake blockchain platform. This is an opportunity to work on challenging problems at the intersection of distributed systems, cryptography, advanced functional programming and formal methods. You will design, implement, test and optimise critical protocol components where correctness, resilience, performance and security are paramount. Our engineering approach places a strong emphasis on **Haskell, functional programming, property-based testing, rigorous reasoning and correctness by construction**. We welcome exceptional engineers from outside the blockchain industry who bring deep expertise in functional programming, distributed systems or formal verification. ## What You'll Do - Design, implement and maintain Proof-of-Stake consensus protocols and distributed algorithms. - Develop core components supporting leader election, chain selection, block production, validation and synchronisation. - Reason about protocol safety, liveness, consistency and fault tolerance in adversarial network environments. - Write sophisticated, production-quality Haskell using advanced functional programming techniques and strong type systems. - Apply property-based testing, model-based testing and deterministic simulation to validate protocol behaviour. - Use formal methods, mathematical specifications and invariants to reason about correctness. - Diagnose complex concurrency, performance and distributed systems issues. - Optimise protocol scalability, throughput, latency and resource efficiency. - Collaborate with protocol researchers to translate theoretical designs into robust production implementations. - Contribute to architecture reviews, technical specifications and the safe evolution of a live decentralised network. ## What We're Looking For **Advanced Functional Programming** - Significant professional experience with Haskell or comparable strongly typed functional programming languages. - Deep understanding of algebraic data types, type classes, monads, effect management, immutable data structures and compositional design. - Strong practical knowledge of concurrency, lazy evaluation, strictness, profiling and performance optimisation. - Experience developing and maintaining complex production systems using functional programming. **Distributed Systems** - Strong understanding of distributed algorithms, consensus, replication and fault tolerance. - Experience reasoning about asynchronous systems, network partitions, concurrency and failure recovery. - Understanding of safety and liveness properties, state machines and distributed protocol design. - Ability to diagnose subtle correctness and performance problems across interacting components. **Testing and Formal Methods** - Extensive practical experience with property-based testing frameworks such as QuickCheck or Hedgehog. - Experience designing generators, shrinking strategies, state-machine tests and executable specifications. - Familiarity with formal methods, mathematical reasoning, invariants, refinement or model checking. - A disciplined approach to verification, reproducible testing and evidence-based engineering. **Engineering Excellence** - Strong software architecture, design and code review skills. - Ability to work independently on technically demanding problems. - Clear written communication and effective collaboration across distributed teams. - Commitment to producing simple, maintainable and highly reliable software. ## Nice to Have - Experience with Proof-of-Stake protocols or blockchain consensus. - Familiarity with Ouroboros, Praos, HotStuff, Tendermint, Paxos or Raft. - Experience with TLA+, Isabelle/HOL, Coq, Agda or related formal verification tools. - Knowledge of cryptographic primitives, digital signatures or verifiable random functions. - Experience with peer-to-peer networking, diffusion protocols or distributed simulation. - Contributions to open-source distributed systems, programming language tooling or research-led engineering projects. **Previous blockchain experience is not essential.** We place greater value on exceptional functional programming ability, rigorous engineering judgment and a deep understanding of distributed systems. ## How We Work We are a **remote-first engineering team**, collaborating across countries and time zones. We value technical autonomy, asynchronous communication, thoughtful code reviews and clear engineering documentation. Our culture emphasises correctness over shortcuts, rigorous testing over assumptions, and constructive technical debate. Engineers are encouraged to take ownership of difficult problems, challenge designs thoughtfully and work closely with colleagues who care deeply about engineering quality. ## Why Join Us? - Work on foundational distributed systems technology with demanding correctness and security requirements. - Apply advanced Haskell and functional programming to real-world protocol engineering. - Collaborate with highly experienced engineers and protocol researchers. - Solve difficult problems involving concurrency, distributed algorithms, formal reasoning and performance. - Enjoy meaningful technical ownership within a flexible, remote-first environment. **If you enjoy advanced functional programming, elegant distributed algorithms and building systems where correctness genuinely matters, we'd love to hear from you.**

Responsibilities

  • •- Apply advanced Haskell and functional programming to real-world protocol engineering.

Requirements

  • •- Apply advanced Haskell and functional programming to real-world protocol engineering.

About BlockPQR.io

Learn more about this company and their mission.

Senior Consensus Protocol Engineer at BlockPQR.io: FAQ

Related Salaries in Web3