Staff Software Engineer, Onchain (Applied Cryptography)

Remote (USA)

About the Company

Gemini is a global crypto and Web3 platform founded by Tyler Winklevoss and Cameron Winklevoss in 2014. Gemini offers a wide range of crypto products and services for individuals and institutions in over 70 countries.

Crypto is about giving you greater choice, independence, and opportunity. We are here to help you on your journey. We build crypto products that are simple, elegant, and secure. Whether you are an individual or an institution, we help you buy, sell, and store your bitcoin and cryptocurrency. 

At Gemini, our mission is to unlock the next era of financial, creative, and personal freedom.

In the United States, we have a flexible hybrid work policy for employees who live within 30 miles of our office headquartered in New York City and our office in Seattle. Employees within the New York and Seattle metropolitan areas are expected to work from the designated office twice a week, unless there is a job-specific requirement to be in the office every workday. Employees outside of these areas are considered part of our remote-first workforce. We believe our hybrid approach for those near our NYC and Seattle offices increases productivity through more in-person collaboration where possible.

The Department: Onchain

The Role: Staff Software Engineer (Applied Cryptography)

Security of customers’ digital assets and personal information held with Gemini is our first and foremost priority. Gemini’s Signing team develops and maintains software for the purpose of working with Gemini customers’ digital assets. To directly support our cryptographic software, hardware, and trusted execution environments, this work includes developing and managing cryptographic security tools and libraries and building new tools to help customers securely interact with various blockchains.

In our work, we research and develop approaches in our signing environment. Among other projects, this may include implementing secure multi-party computation, partial homomorphic schemes, and applying zero knowledge proofs. We do this all while using hardware to protect our keys in trusted platform modules (TPMs), hardware security modules (HSMs), and trusted execution environments (TEEs). An ideal candidate would have experience in the implementation of cryptographic software that was used with one or more of these hardware areas (e.g., signing, encrypting, load-time attestation, digital signatures, sealing, binding). This engineer will also work closely with various teams including our Security Operations, Custody, Product Security, Wallet Engineering, and Platform Engineering teams. 

We are a dynamic group with both entrepreneurial spirit and security engineering experience. We have incredibly high aspirations, and we are looking for like-minded individuals who want to guide the transition to a new more decentralized world where access to digital assets is normalized and ubiquitous.

Responsibilities:

  • Maintain and build the software that is the foundation for our MPC work
  • Implement software applications that may include key storage, signing, encryption, code attestation, or secure boot
  • Design, deploy, and maintain security solutions supporting maintenance of digital assets
  • Work closely with software security engineers to develop the capabilities of the existing signing security infrastructure with a goal of security and scalability
  • Develop tools that integrate security into systems and process
  • Participate in disaster recovery (DR) scenarios to validate operability of physical and digital material
  • Work with hardware security mechanisms of interest including a trusted platform module (TPM) and/or hardware security modules (HSMs), and/or other similar hardware key storage mechanisms

Minimum Qualifications:

  • Software development experience in at least one of homomorphic encryption, secure multiparty computation, security protocols, PAKE protocols, zero knowledge proofs, or pallier encryption
  • Strong understanding of encryption and key management
  • Experience in systems architecture, computer architecture, trustworthy computing, or cryptographic protocols
  • Experience in system algorithms with performance understanding and optimizations (hardware and software)
  • Experience integrating or deploying in production environments
  • Familiarity with a modern programming language (e.g., Rust, Python, C++, Scala) and a shell environment
  • Experience in researching and addressing complex business topics around TPMs, HSMs, TEEs, secure build infrastructure, and applied cryptography. Candidates without a strong understanding in one of these areas may still be a strong candidate if this is offset by a strong background in a systems security area (e.g., operating systems, embedded systems security, firmware security, network security engineering)
  • Strong understanding of systems/network security, secure protocol design, secure build and supply chain management, encryption, authentication, key management and applied cryptography
  • Demonstrated ability to convert theoretical security concepts into production
  • Proficiency in a common scripting language including but not limited to Python, Ruby, etc.
  • Able to troubleshoot and debug issues, and demonstrate a methodical approach to root cause analysis
  • Experience working with engineering teams, teaching, training, and mentoring on how to implement best-practice technical solutions
  • Strong written and verbal communication skills; attentive to details

Preferred Qualifications:

  • 4+ years experience in software development with a focus in applied cryptography
  • 2+ years experience in reading/writing code in Rust, Python, Linux, Scala, C/C++
  • 2+ years experience with secure software that makes use of a trusted platform module (TPM), hardware security module (HSM), trusted execution environment (TEE), smartcard, and/or other similar hardware key storage mechanism
  • Solid understanding of product management and product ownership, software development practices (e.g., SDLC), and methodologies
  • Knowledge of hardware security, verified/secure boot, tamper resistance, side-channel attacks, anti-cloning, and PUFs
  • Having prior knowledge in the blockchain space is not a requirement but good to have
It Pays to Work Here
 
The compensation & benefits package for this role includes:
  • Competitive starting salary
  • A discretionary annual bonus
  • Long-term incentive in the form of a new hire equity grant
  • Comprehensive health plans
  • 401K with company matching
  • Paid Parental Leave
  • Flexible time off

Salary Range: The base salary range for this role is between $172,000 - $215,000 in the State of New York, the State of California and the State of Washington. This range is not inclusive of our discretionary bonus or equity package. When determining a candidate’s compensation, we consider a number of factors including skillset, experience, job scope, and current market data.

At Gemini, we strive to build diverse teams that reflect the people we want to empower through our products, and 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. Equal Opportunity is the Law, and Gemini is proud to be an equal opportunity workplace. If you have a specific need that requires accommodation, please let a member of the People Team know.

#LI-AH1

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Select...
Select...
Applicant Privacy Statement *

Please review our Applicant Privacy Statement, which describes the data we collect, why we collect it, and how we use it.