Skip to content

Open nowPosted 3 days ago

Functional Software Engineer

Obsidian Systems3 open roles

Where
USA - East Coast
Work mode
Remote
Get the CV for this job

From $25 per CV, paid once. No subscription.

Your applicationOpen nowFunctional Software EngineerObsidian Systems · USA - East Coast
  1. YouYes, apply to this one.

  2. CV RocketCV written for this posting.

  3. 25 readersRecruiter, hiring manager, skeptic. Round after round.

  4. CV RocketApplied on Obsidian Systems's own form.

The reply lands in your private mailbox

3×more interviews than doing it yourself with ChatGPT.

The clock on this job

Early applications get read.

11.8% of postings close within 7 days. Measured by our own scanner across the market. Obsidian Systems postings stay open a median of 20 days.

Share of postings closed within
  1. 2.1%1 day
  2. 4.4%3 days
  3. 11.8%7 days
  4. 18.6%14 days
  5. 35.6%30 days
  6. 45.1%60 days
This job: posted 3 days ago

Obsidian Systems median: 20 days open

The posting

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.

We're a remote-first, globally distributed team that values ownership, curiosity, and clear communication. We believe the best ideas come from people who ask difficult questions, take responsibility for their work, and collaborate openly to solve challenging problems.

About the Role

We're looking for a Functional Software Engineer to join our engineering team and contribute to challenging client projects across our technical domains. You'll 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. Knowledge in every technology is not necessary. We value strong engineering fundamentals, a willingness to learn, and the ability to apply sound technical judgment to unfamiliar problems.

KEY RESPONSIBILITIES

- 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.

- Write automated tests and use appropriate techniques to validate system behaviour.

- Review code, share technical knowledge, and contribute to engineering standards.

- Investigate and resolve complex technical issues across existing systems.

- Communicate technical decisions clearly and explain trade-offs to both technical and non-technical stakeholders.

- Adapt to different client environments, codebases, and technical challenges.

- Contribute to continuous improvement across our engineering practices, tools, and delivery processes.

KEY REQUIREMENTS

- 5+ years of 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.

- Strong debugging and problem-solving skills.

- Commitment to code quality, correctness, and maintainability.

- Ability to communicate effectively and collaborate with other engineers.

- Willingness to learn new technologies and work across different technical environments.

Preferred Requirements:

- 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.

- Experience with strongly typed domain modelling and functional design patterns.

- 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.

- Experience with Nix or reproducible development environments.

- Experience working in an engineering consultancy or collaborating directly with client teams.

HOW WE WORK

At Obsidian Systems, we believe great work comes from thoughtful people who take ownership, communicate openly, and enjoy solving difficult problems together. These principles guide how we work every day.

Own Your Work, Protect Your Team

- We take full ownership of our responsibilities while supporting the people around us. We believe accountability creates trust, and clear ownership allows teams to move quickly without stepping on one another's work.

Don't Settle for Superficial

- We aim to understand problems deeply rather than treating symptoms. We ask questions, challenge assumptions, and make unknowns explicit so we can build durable solutions instead of temporary fixes.

Be Honest Proactively

- We communicate openly and early. Raising risks before they become problems helps our team and our clients make better decisions. We value transparency over avoiding uncomfortable conversations.

Get to It

- Many of the challenges we solve have never been solved before. We don't wait for perfection; we start, learn, iterate, and move forward. Progress comes from taking the next concrete step.

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

From $25, paid onceGet the CV for this job

What happens when you press

One press. We do the rest.

  1. A CV for this posting

    Written against Obsidian Systems's own wording, from every piece of relevant proof in your profile.

  2. 25 readers review it

    Recruiter, hiring manager, skeptic and more read every draft, round after round. You get the best round.

    The review screen in CV Rocket: how each CV was read, round by round.
  3. We apply on Obsidian Systems's form

    Our application engine gets through the hardest forms there are. Where a question needs you, AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

    An application in CV Rocket: every answer filled in on the employer's form.
  4. Every reply, sorted

    Obsidian Systems's answer lands in your private mailbox, and we classify it on arrival: interview, question, rejection.

    The CV Rocket inbox: each employer reply classified as an interview, an action or a rejection.
  5. Reply with AI

    AI helps you write the email, checks it and sends it. We show you whether the recruiter read it.

  6. The interview in your calendar

    Full integration with your calendar. The invitation goes straight in.

    An interview invitation in the CV Rocket inbox, added to the candidate's calendar.
Get the CV for this job

From $25 per CV, paid once. No subscription.

Why it works

3×

more interviews than doing it yourself with ChatGPT.

ChatGPT writes a CV and never learns what happened to it. We see every reply. For each CV we know:

  • How it was written, and how the review scored it
  • When we applied, and how long after the posting went up
  • Which posting, which company, which city
  • Who got the interview, and who heard nothing

That is how we know which CVs get called.

Get the CV for this job

From $25 per CV, paid once. No subscription.

The numbers game

More applications. More interviews.

Every application goes out with its own CV, written for that posting and paid once. Send enough of them and the law of large numbers finds you the job.

By hand5–10
With CV Rocket100
applications a day

Nearby

Live postings like this one

Same employer first, then the same role elsewhere.

Before you press

Straight answers

Get the CV for this job

From $25 per CV, paid once. No subscription.

What if my background isn't good enough?

We make the most of the background you have. The CV uses every piece of relevant proof your profile holds, and one of the 25 readers reads your whole profile and flags what the CV left out.

Do you really apply for me?

Yes, on the employer's own form, the hardest ones included. Where a question needs you, you answer it right there and AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

Is it a subscription?

No. You pay once per CV, from $25. Every application goes out with its own CV, written for that posting.

One job. One CV.
Paid once.

Pick the posting you want. We write for it, apply for you and catch the reply.

Get the CV for this job

From $25 per CV, paid once. No subscription.