← Browse all jobs

O

Software Programmers

Obsidian Systems · Remote, United States

FULL TIMEpermanent

Job Description

Obsidian Systems is a software engineering consultancy that builds production systems for capital markets and other regulated industries. Our clients include market infrastructure providers, national exchanges, and global financial institutions. Much of our work today centers on the Canton Network, the privacy-enabled blockchain adopted by major capital markets institutions, where Obsidian is one of the most experienced engineering firms in the ecosystem.

Were a remote-first, globally distributed team that values ownership, curiosity, and clear communication. Were looking for a

Functional Software Engineer

to join our engineering team and contribute to challenging client projects across our technical domains. Youll design, develop, and maintain software using functional programming principles, working with engineers and client teams to turn complex requirements into robust, maintainable solutions. Depending on the project, your work may involve backend systems, domain modelling, distributed systems, financial infrastructure, blockchain applications, or developer tooling.
This role is suited to an engineer who enjoys reasoning about complex systems, values strong types and clear abstractions, and sees software development as more than simply making code work. Design, implement, test, and maintain reliable software using functional programming principles.
Develop clear, composable, and maintainable solutions to complex engineering problems.
Apply strong typing, domain modelling, and abstraction to improve software correctness and reliability.
Collaborate with engineers, technical leads, and client stakeholders to understand requirements and deliver effective solutions.
Contribute to the design and architecture of systems, making thoughtful trade-offs between correctness, simplicity, performance, and maintainability.
Review code, share technical knowledge, and contribute to engineering standards.
Professional experience developing and delivering production software.
Strong understanding of software engineering fundamentals, including data structures, algorithms, testing, and software design.
Experience with functional programming, either professionally or through substantial projects.
Ability to reason about complex problems and translate requirements into well-structured software.
Commitment to code quality, correctness, and maintainability.
Experience with Haskell, Scala, OCaml, F#, Clojure, or another functional programming language.
Familiarity with type systems, algebraic data types, pattern matching, and immutable data structures.
Exposure to distributed systems, concurrent programming, or backend infrastructure.
Experience in blockchain, financial infrastructure, capital markets, or other domains where correctness and reliability are particularly important.
Familiarity with property-based testing and other techniques for validating complex software behaviour.
We ask questions, challenge assumptions, and make unknowns explicit so we can build durable solutions instead of temporary fixes.

Raising risks before they become problems helps our team and our clients make better decisions. Progress comes from taking the next concrete step.

If youre excited by continuous learning and playing a real role in building the next generation of financial market infrastructure, youll feel at home at Obsidian.

Details

CompanyObsidian Systems
LocationRemote, United States
TypeFULL TIME
Nichetech
Experiencepermanent

Similar Jobs

C

Instrumentation Technician - Sign-on Bonus Offered!

Consolidated Precision Products

C

Automation Maintenance Tech (Aerospace Manufacturing)

Consolidated Precision Products

C

Instrumentation Technician - Sign-on Bonus Offered!

Consolidated Precision Products

C

Automation Maintenance Tech (Aerospace Manufacturing)

Consolidated Precision Products

P

NDT Quality Technician II - Titanium Aerospace Manufacturing

PCT - Pacific Cast Technologies