Principal Software Engineer, Custody Team
Gemini (View all Jobs)
New York, New York; Seattle, Washington; San Francisco, California
1. Phone chat 2. Take-home project 3. Discussion on-site. Questions on prior experiences and culture fit
$198,000 - $277,000
Programming Languages Mentioned
Java, Ruby, Golang, Python, C++
Empower the Individual Through Crypto
Gemini is a crypto exchange and custodian that allows customers to buy, sell, store, and earn more than 30 cryptocurrencies like bitcoin, bitcoin cash, ether, litecoin, and Zcash. Gemini is a New York trust company that is subject to the capital reserve requirements, cybersecurity requirements, and banking compliance standards set forth by the New York State Department of Financial Services and the New York Banking Law. Gemini was founded in 2014 by twin brothers Cameron and Tyler Winklevoss to empower the individual through crypto.
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 want to help you buy, sell, and store your bitcoin and cryptocurrency. Crypto is not just a technology, it's a movement.
At Gemini, our mission is to empower the individual and that includes giving our employees flexibility of choice — our Office Optional Policy allows employees to choose to work from one of our physical locations or from home.
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.
- 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
- 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
- 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
- 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
- Annual Learning & Development stipend
- Paid Parental Leave
- Flexible time off
Salary Range: The base salary range for this role is between $198,000 - $277,000 in New York City, 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.
Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄