Remote Exchange Engineer - Gemini

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. Select roles that are location-specific will still be eligible for flexible schedules. 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: Trading Systems Engineer Work with our team of core trading systems developers to improve and expand the functionality of our matching engine, order entry mechanisms, and market data publication. We design, develop, deploy, and support real-time systems for our digital asset trading platform. Time is measured in microseconds and we aim to start measuring in nanoseconds. Reliability, fault tolerance, recoverability, throughput, and latency are what we look for in our systems. If something on the spaceship is broken we aim to fix it, if something can be automated we automate it, and we ship our code weekly. Responsibilities: • Use engineering principles to identify and measure risk and to implement quantitative and technical risk management solutions in software • Understand business needs, facilitate and develop process workflows, data requirements, and specifications required to support implementation of our real time exchange • Develop scalable architecture for the current new version of our exchange as well as any future state while contributing towards improving the trading infrastructure • Write robust code and APIs to support the company’s vital business • Build systems to monitor the status and health of the trading platform. • Identify and advocate for changes vital to the stability and supportability of the system. • Mentor and advise teammates to ensure new features are efficient, highly available, and fault tolerant. • Provide continuity and stability to the production environment. • Provide quick response to production issues to help eliminate down time thereby ensuring high availability and performance of our trading platform. • Coordinate, prioritize and plan the changes to our trading software thereby ensuring smooth exchange migrations, quick time to market for new features and software. Qualifications: • Significant experience developing exchange or trading systems with C++, Java or Scala • Delivers testable code using unit testing frameworks such as Googletest and JUnit • Experience working with order handling or matching engines • Experience working with FIX or other market data/order protocols • Experience building real-time Linux systems • In-depth understanding of networking protocols and some experience programming with low-level sockets APIs Preferred Qualifications: • Multithreading and concurrency experience • Binary or custom protocols (e.g. ITCH/OUCH, SBE etc.) • Linux kernel tuning and optimization • Experience with margins/derivatives products • Experience with continuous integration tools like Jenkins • Experience working with multi-language build tools such as Bazel • Low latency/lock-free development and design • Experience supporting a low-latency, containerized production environment • Experience working with modern message brokers such as Apache Kafka or Apache Pulsar 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 • Retire

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