OObsidian Systems is hiringSoftware Engineer
TYPEFull Time
REMOTE
Software Engineer – Scala/Typescript
Location: USA or Canada – Remote
Time Zone: Eastern Standard (EST) 9am – 6pm
About Obsidian Systems
Since 2014, Obsidian Systems has built unusually high‐quality software by combining the best ideas from industry and academia. We started as a Haskell-first company—so much so that we used to call ourselves “Haskellers.” That foundation still shapes how we build software: valuing correctness, clarity, and well-designed systems. While our clients use many different technologies, we bring that same Haskell-inspired mindset to every project, whether it’s Scala, Rust, or something else entirely.
Position Overview
We are looking for a Software Engineer to work on distributed applications supporting clients in a multi-party, privacy-preserving environment. This role is ideal for engineers who are strong in core functional programming software engineering and excited to work in complex systems.
You will contribute to systems that model real-world workflows using smart contracts, alongside backend and service-layer development in Scala and TypeScript. You’ll work on problems that require careful thinking about correctness, data ownership, and coordination across multiple participants. This role is part of a consulting project team with daily interaction with the client.
We believe in giving people a chance to grow into new technical domains. If you have solid engineering fundamentals, curiosity, and evidence of hands-on work, we are interested in talking with you.
What You Will Do:
- Build and maintain backend services and integration layers using Scala.
- Develop TypeScript services, APIs, and tooling that interact with blockchain based applications.
- Write well-tested, readable, and maintainable code.
- Participate in design discussions, code reviews, and iterative improvement of the platform.
- Work with a team of talented software developers in a distributed work environment
- Represent the engineering team in daily client interactions, communicating progress, tradeoffs, and technical decisions clearly and effectively.
Required
A minimum of four years of software development with functional language programs.
Experience building production-quality software in Scala and/or TypeScript (experience in one with willingness to learn the other is acceptable).
- Experience in Linux, Nix, NixOS, or reproducible builds
- Strong understanding of software engineering fundamentals:
- data modeling
- APIs and service boundaries
- testing and debugging
- Comfort working with complex logic and non-trivial problem spaces.
- Ability to learn new technologies and frameworks independently.
- Experience working in a remote/distributed team environment with evidence of clear written and verbal communication skills.
Nice to Have
- Exposure to distributed systems, event-driven architectures, or workflow engines.
- Familiarity with DAML, smart contracts, or ledger-based systems.
- Experience working in regulated, high-reliability, or enterprise environments.
- Prior work with open-source projects or public codebases.
Why This Role
- Exposure to distributed, multi-party architectures used by large institutions.
- Deep technical challenges with real intellectual substance
- Strong learning culture and support for skill development
- Remote‑first, flexible work environment
- Competitive compensation based on experience and location
How to Apply
We care more about what you can build than where you’ve worked. In addition to sending your resume/CV, please include:
- Links to GitHub, GitLab, or other public repositories showing code you’ve written or contributed to.
- Open-source contributions, side projects, or examples of non-trivial systems are highly encouraged.
- If a repository represents collaborative work, briefly note what you personally worked on.
Apply for this job
Please let Obsidian Systems know you discovered this position on TRYremote so we can keep providing you with quality remote tech jobs.
