Tech Jobs: Software Engineer, Backend
Job Type: Remote
Spruce is currently seeking talented programmers who are passionate about open global standards in identity to join our team. We are dedicated to creating world-class open-source products and libraries that revolutionize trusted interactions and enable the digital packaging of beliefs.
At Spruce, we value intellectual honesty, user privacy, and innovation, and we seek programmers who share these same values. As a Rust developer, you will be responsible for building cross-platform libraries and server software that meet the highest security standards, including professional auditing and suitability for high-stakes applications.
In this role, you will also have the opportunity to contribute to the development of emerging global technology standards for digital identity. While we don’t require prior experience with Rust, we expect you to have a strong foundation in statically typed languages, memory management, and secure programming practices, enabling you to learn Rust quickly.
If you are a tech enthusiast who is passionate about developing innovative solutions in digital identity, we encourage you to apply to join our team at Spruce.
Responsibilities
- Contribute to new and existing Rust codebases, with a focus on high code quality (e.g., tasteful use of traits, code/memory footprint reduction, minimizing dependency trees, refactoring between enums/structs, using macros to reduce copy-paste errors, etc.).
- Utilize best practices for unit tests, integration tests, benchmarking, documentation, version control hygiene, and open-source release cycle management.
- Implement low-level systems code that is cross-compiled and performantly ran across platforms, including backend servers, mobile devices, and in the browser through WASM.
- With support and review from cryptographers, use cryptographic APIs to implement digital signatures, message authentication, encryption/decryption, data structures, and zero-knowledge proof protocols for production applications. For this role, you are not expected to know the math, but you will be responsible for correct low-level implementations, “blocking and tackling” such as zeroing memory, preventing timing attacks, writing test vectors, and configuring fuzzers.
- Interface directly with security auditing firms that have experience evaluating implementations that rely on applied cryptography.
Qualifications
- Excellent written communications skills (necessary for remote work).
- Experience writing widely-distributed backend software in statically-typed languages.
- Aptitude for computer security, correct use of cryptography, and user data privacy.
- Proficiency in backend web frameworks, API design, databases, and scalability.
- Experience setting up or configuring CI/CD pipelines based on containers and cloud services.
- Comfortable with rapid directional changes of focus in a startup environment.
Bonus
- Experience building distributed storage systems at scale.
- Proficiency with functional programming paradigms and use of advanced type systems found in languages such as Rust, C++, OCaml, or Haskell.
- Contributions to open-source software projects and technology standards.
- Full-time experience working remotely.
- Familiarity with operating system internals, compiler internals, memory management, and low-level programming.
- Professional experience in a high-stakes industry such as cloud infrastructure, finance, healthcare, social media, or online gaming.
We are passionate about cultivating a thriving culture of diverse individuals who bring unique perspectives to our mission. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, or Veteran status.
.
See More Jobs: