Spruce Systems

Spruce lets users control their data across the web.

Software Engineer, Backend

Location
REMOTE / Remote (US)
Job Type
Full-time
Apply to Spruce Systems and hundreds of other fast-growing YC startups with a single profile.
Apply to role ›

About the role

Spruce is hiring programmers to develop world-class open source products and libraries implementing open global standards in identity. At Spruce, we are reimagining trusted interactions by creating the world’s best software for packaging beliefs digitally. We hire programmers who love technology and are committed to intellectual honesty, user privacy, and innovation. 

You will be responsible for developing cross-platform libraries and server software in Rust. Our software is secure by design, professionally audited, and suitable for high stakes applications. You will also have the opportunity to contribute to emerging global technology standards for digital identity. While we don't require you to have Rust experience to apply for this job, you should demonstrate a strong aptitude for statically typed languages, memory management, and secure programming practices so we feel confident you can pick it up without a hitch.

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

About Spruce Systems

Spruce lets users control their data across the web. We believe that the world is evolving toward one based on cryptography, networks, and digital economies that are user-controlled. Today, the dominant use case for user keys is the signing of blockchain transactions, but we think this barely scratches the surface of what is possible. Soon, the entirety of a user’s digital interactions will be based on their keypairs, and we’re unlocking this transition with our constellation of products.

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.

  • We hire those who love technology and are committed to intellectual honesty, user privacy, and innovation.
  • We are fully remote with a focus on diversity, inclusion and a family friendly work environment.
  • We have an open vacation and sick policy the prioritizes shipping results over hours worked.
Spruce Systems
Founded:2020
Team Size:25
Location:New York
Founders
Wayne Chang
Wayne Chang
Founder
Gregory Rocco
Gregory Rocco
Founder