About the company
Gemini is a regulated cryptocurrency exchange, wallet, and custodian that makes it simple and secure to buy bitcoin, ether, and other cryptocurrencies.
Job Summary
The Department: Software Engineering
Gemini is regulated and licensed like a bank, but it’s run like a tech startup, and engineering is the core of the company. There’s a wide range of tough problems to solve at Gemini – from properly securing hundreds of millions of dollars worth of customer funds, to developing innovative new blockchain products, to finding new techniques to combat fraud, to shaving microseconds off our API response times, and everything in between.
All of Gemini’s engineers are able to work across the software platform, not just on their own specialization or subteam. We value a thoughtful, collaborative software development process, coupled with a pragmatic approach to problem solving and delivering software.
The Role: Principal Software Engineer, Custody Team
Security of customers’ digital assets and personal information held with Gemini is our first and foremost priority. The Custody team at Gemini develops and manages security tools and platforms, assists users to design and assess the security internal systems, and builds automation to simplify manual or complex processes. This team works with other Gemini stakeholders to simplify the use of cryptographic software and hardware.
In our work, we work with stakeholders who wish to store digital assets in our custodian storage systems, determine the best approach for using these storage systems, implement tools and approaches to support needs, and then maintain these tools and approaches. Example applications include the support of a new network like Solana or Monero and their integration into our Custodian platform. This engineer will also work closely with various teams including our Custodial Security Operations, Signing, Asset storage, 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:
Design, implement, deploy, and maintain software supporting new cryptocurrency networks or tokens that interact with our Custody platform For the custody platform, perform fee forensics, implement fee computation, and implement/maintain fee billing Integrate the use of hardware security mechanisms into the secure build infrastructure. Example hardware security mechanisms include a trusted platform module (TPM), hardware security module (HSM), trusted execution environment (TEE), smartcard, and/or other similar hardware key storage mechanisms. Example applications of these mechanisms include key storage, signing, encryption, code attestation, and secure boot. Improve the capabilities of the existing signing security infrastructure with a mindset towards infrastructure as code Develop tools and automation that integrate security into systems and process Participate in disaster recovery (DR) scenarios to validate operability of physical and digital material
Qualifications:
Hands-on expertise with at least one area of software security Strong understanding of systems/network security, secure protocol design, secure build and supply chain management, encryption, authentication, key management and applied cryptography Experience implementing software in any of the following: operating systems, kernel development, kernel modules, embedded security software, cryptographic protocols, or cryptographic hardware (PKCS#11, FIPS 201-1 PIV, smartcards, TPMs, HSMs, or TEEs) 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 Strong written and verbal communication skills; attentive to details
Preferred Qualifications:
5+ years experience with secure build software infrastructure 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 1+ years implementing or using security monitoring, alerting, and automation tooling Experience in a code-first environment, developing automated solutions to solve support and operational issues Experience with automation or configuration tools including Ansible, Chef, Puppet, etc. Experience working with engineering teams, teaching, training, and mentoring on how to implement best-practice technical solutions Experience in researching and addressing complex business topics around TPMs, HSMs, TEEs, secure build infrastructure, and applied cryptography Ability to read and write code written in Python, Java, Scala, C/C++, and Golang Hands-on expertise with hardware security modules or hands-on expertise with discrete or firmware trusted platform modules or hands-on expertise with trusted execution engines and secure enclaves Knowledge of hardware security, verified/secure boot, tamper resistance, side-channel attacks, anti-cloning, and PUFs Demonstrated ability to convert theoretical security concepts into production Experience in network engineering and security Solid understanding of Product Management and Product Ownership, Agile practices and methodologies Having prior knowledge in the blockchain space is not a requirement but good to have
It Pays to Work Here
We take a holistic approach to compensation at Gemini, which includes:
Competitive Compensation and Profit-Sharing Equity Flexible vacation policy Retirement Plan Matching Generous Parental leave Comprehensive health plans Training and professional development