Functional Software Engineer
Core
Design, develop, and maintain production software using functional programming principles for capital markets, financial infrastructure, and blockchain applications.
Role type
Senior IC functional software engineer
Builds
Backend systems, distributed systems, financial infrastructure, blockchain applications, and developer tooling
Domain
Capital markets, financial infrastructure, blockchain
Required skills
functional programming, strong typing, domain modelling, abstraction, automated testing, complex system reasoning, debugging, code review
Preferred skills
Haskell, Scala, OCaml, F#, Clojure, type systems, algebraic data types, pattern matching, immutable data structures, distributed systems, concurrent programming, property-based testing, Nix, engineering consultancy experience
Technologies
Haskell, Scala, OCaml, F#, Clojure, Nix
Responsibilities
Design and implement reliable software using functional principles; develop composable solutions; apply strong typing and domain modelling; collaborate with engineers and clients; contribute to system architecture; write automated tests; review code and share knowledge; resolve complex technical issues; communicate technical decisions; adapt to different client environments; improve engineering practices
Seniority
Senior, hands-on IC