Remote Staff Software Engineer, Onchain (Security) - Gemini

Other Jobs To Apply

No other job posts for this day.

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. The Department: Onchain The Role: Staff Software Engineer (Security) Security of customers’ digital assets and personal information held with Gemini is our first and foremost priority. Gemini’s Signing team develops and maintains a trusted execution environment 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 security tools and platforms, assisting users to design and assess the security internal systems, and simplifying manual or complex software security processes. In our work, we research and build applicable software and hardware security approaches to support our signing environment. An ideal candidate would have experience in the implementation of software that was used with one or more security 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: • 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. • Integrate the use of hardware security mechanisms into the Gemini software infrastructure. • Work with hardware security mechanisms of interest include a trusted platform module (TPM) and/or hardware security modules (HSMs), and/or other similar hardware key storage mechanisms. • Develop tools that integrate security into systems and process. • Participate in disaster recovery (DR) scenarios to validate operability of physical and digital material. Minimum Qualifications: • Hands-on expertise in the development of at least one area of software security that includes implementing software in any of the following: operating systems, kernel development, kernel modules, embedded security software, network security engineering, cryptographic protocols, or cryptographic hardware (PKCS#11, FIPS 201-1 PIV, smartcards, TPMs, HSMs, or TEEs). • Hands-on expertise in any one of the following areas: hardware security modules or discrete trusted platform modules or firmware trusted platform modules or secure enclaves. • Experience in network engineering and security. • 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: • 5+ years experience in software engineering. • 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. • Ability to read and write code written in Python, Java, Scala, C/C++, and Golang. • Knowledge of hardware security, verified/secure boot, tamper resistance, side-channel attacks, anti-cloning, and PUFs. • Solid understanding of Product Management and Product Ownership, Agile practices and methodologies. Apply tot his job Apply tot his job Apply tot his job

Back to blog

Common Interview Questions And Answers

1. HOW DO YOU PLAN YOUR DAY?

This is what this question poses: When do you focus and start working seriously? What are the hours you work optimally? Are you a night owl? A morning bird? Remote teams can be made up of people working on different shifts and around the world, so you won't necessarily be stuck in the 9-5 schedule if it's not for you...

2. HOW DO YOU USE THE DIFFERENT COMMUNICATION TOOLS IN DIFFERENT SITUATIONS?

When you're working on a remote team, there's no way to chat in the hallway between meetings or catch up on the latest project during an office carpool. Therefore, virtual communication will be absolutely essential to get your work done...

3. WHAT IS "WORKING REMOTE" REALLY FOR YOU?

Many people want to work remotely because of the flexibility it allows. You can work anywhere and at any time of the day...

4. WHAT DO YOU NEED IN YOUR PHYSICAL WORKSPACE TO SUCCEED IN YOUR WORK?

With this question, companies are looking to see what equipment they may need to provide you with and to verify how aware you are of what remote working could mean for you physically and logistically...

5. HOW DO YOU PROCESS INFORMATION?

Several years ago, I was working in a team to plan a big event. My supervisor made us all work as a team before the big day. One of our activities has been to find out how each of us processes information...

6. HOW DO YOU MANAGE THE CALENDAR AND THE PROGRAM? WHICH APPLICATIONS / SYSTEM DO YOU USE?

Or you may receive even more specific questions, such as: What's on your calendar? Do you plan blocks of time to do certain types of work? Do you have an open calendar that everyone can see?...

7. HOW DO YOU ORGANIZE FILES, LINKS, AND TABS ON YOUR COMPUTER?

Just like your schedule, how you track files and other information is very important. After all, everything is digital!...

8. HOW TO PRIORITIZE WORK?

The day I watched Marie Forleo's film separating the important from the urgent, my life changed. Not all remote jobs start fast, but most of them are...

9. HOW DO YOU PREPARE FOR A MEETING AND PREPARE A MEETING? WHAT DO YOU SEE HAPPENING DURING THE MEETING?

Just as communication is essential when working remotely, so is organization. Because you won't have those opportunities in the elevator or a casual conversation in the lunchroom, you should take advantage of the little time you have in a video or phone conference...

10. HOW DO YOU USE TECHNOLOGY ON A DAILY BASIS, IN YOUR WORK AND FOR YOUR PLEASURE?

This is a great question because it shows your comfort level with technology, which is very important for a remote worker because you will be working with technology over time...