Staff Software Engineer, Trading Systems

Gemini (View all Jobs)

Remote (USA)

Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄


Interview Process

1. Phone chat 2. Take-home project 3. Discussion on-site. Questions on prior experiences and culture fit

Salary

$172,000 - $215,000

Programming Languages Mentioned

C++, Java


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: Trading Systems

The Role: Staff Software Engineer

Working 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 future state of our exchange and contribute towards improving the trading infrastructure.
  • Write robust code and APIs to support the company’s vital business.
  • Keep everyone informed about the health and viability of the platform by reporting known issues and status of ongoing investigations.
  • 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.

Minimum Qualifications:

  • 8+ years Java/C++ or functional programming language experience in an exchange/trading systems environment.
  • Experience with unit testing frameworks and continuous integration tools.
  • 8+ years working with order handling or matching engines.
  • 8+ years working with FIX or other market data/order protocols.
  • Experience in building real time Linux systems.
  • Solid understanding of IP multicast and TCP protocols.

Preferred Qualifications:

  • Low latency/lock-free development and design.
  • Multithreading and concurrency experience.
  • Binary or custom protocols (e.g. ITCH/OUCH).
  • Linux kernel tuning and optimization.
  • Scala experience.
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.

Please mention No Whiteboard if you apply!
I'm a one-man team looking to improve tech interviews, and could use any support! 😄


Get weekly alerts of new jobs from companies not using whiteboard interviews!