Senior Software Engineer, Rust
About Fedi
Fedi empowers communities everywhere so they can secure and use their money and data with Fedimint. We connect the most fundamental human technology — community — with freedom technologies, like bitcoin, to level up humanity. As a Senior Software Engineer at Fedi, you’ll have the opportunity to be part of this exciting, life-changing journey and help us empower communities around the world.
Role Overview
At Fedi, our mission is simple but bold: to empower humanity with freedom technology. We build on Bitcoin, Lightning, and Fedimint to help communities secure and use their money and data.
We’re looking for a Senior Rust Engineer to join our collaborative engineering team working across Fedi’s mobile app, web platform, and backend services. In this role, you’ll contribute to and evolve the Rust “bridge” layer—the critical FFI and WASM boundary where Fedimint’s protocol logic meets Fedi’s React Native and Progressive Web App clients. You’ll also build and maintain backend services that power Fedi’s products.
This is a role for someone who thrives on systems-level Rust work—cross-compiling to iOS, Android, and WASM targets, optimising async runtimes across FFI boundaries, and building reliable services in a fast-moving startup. We operate at the cutting edge of freedom tech, which means the path forward isn’t always paved. We value engineers who can navigate ambiguity, make pragmatic trade-offs, and ship high-quality work with a strong bias toward security and reliability.
Responsibilities
- Collaborate with the Bridge team to design, build, and refine the Rust APIs used by the mobile and web clients.
- Collaborate with the mobile/UI team to define clean, type-safe interfaces between the TypeScript frontend and Rust core, iterating on the bridge API as product requirements evolve.
- Design, implement, and ship backend services and APIs that support the product (APIs, background workflows, and “glue” between systems).
- Debug difficult cross-platform issues involving async runtimes, storage, networking, build artifacts, and platform-specific constraints (Android/iOS/browser).
- Write well-tested code with strong unit, integration, and end-to-end test coverage.
- Contribute to the upstream Fedimint open-source ecosystem by filing issues, submitting patches, and participating in developer calls when appropriate.
- Write clean, well-tested, and well-documented code following security best practices appropriate for financial software handling real user funds.
- Participate in code reviews, architecture discussions, and cross-functional planning with Product and CX teams.
- Help identify and address technical debt, improve developer tooling, and contribute to shaping the long-term systems architecture as the product scales.
Requirements
- 4+ years of experience building production software; strong Rust proficiency.
- Experience shipping Rust via WASM and working within browser runtime constraints.
- Familiarity with tokio-style async Rust stacks, service observability (tracing/metrics), and production debugging.
- Experience building backend services and a solid understanding of API design, reliability, and operational concerns (logging/metrics/tracing, failure modes, rollouts).
- Solid engineering fundamentals around correctness, security-minded development, and maintainable architecture.
- Strong debugging and problem-solving skills across multiple layers of abstraction.
- Experience using AI tools to accelerate software delivery through implementation, debugging, testing, and automation.
- Excellent written and verbal communication skills in English, with the ability to work effectively in a fully remote, globally distributed team.
Nice to Haves
- Experience building client-heavy applications, where significant product logic lives on-device rather than in backend services.
- Experience with FFI/bindings generation and cross-compilation (especially for iOS/Android).
- Experience shipping Rust via WASM and working within browser runtime constraints.
- Familiarity with tokio-style async Rust stacks, service observability (tracing/metrics), and production debugging.
- Familiarity with Bitcoin/Lightning/Fedimint, cryptography, or distributed systems.
- Previous experience working in a startup environment.
- Experience maintaining and contributing to open-source projects.
- Nix/NixOS experience for reproducible build environments.
- Working hours that overlap with teams across Africa and Europe (GMT-2 to GMT+2).
Note: When applying, please include examples of your previous work and any projects related to the above that you have been involved in.
Benefits
Salary: We offer a competitive salary package based on your skills, experience, and expertise, as well as stock options.
Paid Vacation: We believe in a healthy work-life balance, so we offer employees the flexibility to take as much vacation time as they need to recharge and return refreshed.
Travel: As a global company, we offer opportunities to travel to different parts of the world to attend conferences, events, and industry-related activities—an opportunity to expand your knowledge and professional network.
Training and Mentorship: At Fedi, we invest in your personal and professional growth. We offer financial resources for personal development and leadership training sessions to help you continuously improve and advance your career.
Equipment: We contribute to work-related expenses, ensuring you have the tools you need to perform your job effectively.
Join Us!
If you’re passionate about securing systems that protect real people’s money and data, and you want to shape security culture at a mission-driven company from the ground up, we want to hear from you. Please email your CV to engineeringjobs@fedi.xyz. We look forward to receiving your application for this exciting position.