Role in brief
Gemini is seeking a Staff Software Engineer to develop and maintain core money-movement systems. This role involves building ledger and payment services, ensuring data integrity, and collaborating with financial teams. It is ideal for experienced backend engineers with a background in distributed systems and an interest in financial technology, particularly those familiar with Scala or Go.
About the role
This Staff Software Engineer role focuses on the critical infrastructure that handles all crypto and fiat money movement within Gemini. You will design, develop, deploy, and support ledger and payment services, ensuring accurate recording and processing of transactions. A key part of the work involves building and evolving systems that connect Gemini to external banking partners and payment rails.
The position requires a strong emphasis on data integrity and operational reliability. You will apply sound engineering principles to identify and mitigate risks, implementing safeguards to prevent incidents. This involves close collaboration with finance, reconciliation, and treasury teams to translate real-world financial workflows into robust, auditable system behaviors. You will also design scalable APIs and data models to support new transaction types and regulatory requirements.
Success in this role means delivering well-tested, production-grade code that other critical systems depend on. You will be responsible for monitoring the health of ledger and payment systems, proactively identifying issues, and participating in incident response. Additionally, you will mentor teammates to ensure new functionalities are correct and production-ready, contributing to the overall technical excellence of the team.
The base salary for this role ranges from $168,000 to $240,000 in New York, California, and Washington, not including bonuses or equity.
Skills that matter here
- Scala: This role primarily uses Scala for backend development, and proficiency or willingness to learn is expected.
- Go: Go is another primary backend language used in this role, with proficiency or willingness to learn being important.
- AWS: Familiarity with AWS is relevant as the role involves working with cloud-based infrastructure.
- GCP: Familiarity with GCP is relevant as the role involves working with cloud-based infrastructure.
- Azure: Familiarity with Azure is relevant as the role involves working with cloud-based infrastructure.
Who this role suits
- A person who thrives on ensuring data integrity and correctness in complex distributed systems.
- Someone who enjoys collaborating closely with non-technical teams, like finance, to build robust solutions.
- An engineer who is proactive in identifying and mitigating operational risks before they lead to incidents.
- A mentor who enjoys guiding teammates to produce high-quality, production-ready code.
From the employer
- Design, develop, deploy, and support ledger and payments services that accurately record all crypto and fiat money movement across the platform.
- Build and evolve bank settlement and reconciliation pipelines that connect Gemini to external payment rails and banking partners.
- Apply sound engineering principles to identify correctness, consistency, and operational risks — and implement safeguards in software before they become incidents.
- Partner with finance, reconciliation, and treasury teams to understand real-world workflows and translate them into robust, auditable system behavior.
- Design scalable APIs and data models that support new transaction types, products, and regulatory requirements without increasing operational burden.
- Write well-tested, production-grade code that other critical systems depend on.
- Monitor and communicate the health of ledger and payment systems, proactively identify issues, and participate in incident response and remediation.
- Mentor teammates to ensure new functionality is correct, auditable, and production-ready.
- Participate in on-call rotations as needed.
Minimum Qualifications
- 5+ years of experience building backend systems in a production environment.
- Strong experience designing and operating distributed, stateful systems where data integrity is critical.
- Proficiency in at least one backend language — we primarily use Scala and Go, but are open to candidates willing to learn.
- Experience with unit testing, integration testing, and CI/CD pipelines.
- Familiarity with cloud-based infrastructure (AWS, GCP, or Azure).
- Ability to reason about and debug complex system behavior across services and data stores.
- Strong communication skills and the ability to work effectively with cross-functional partners.
Preferred Qualifications
- Experience working on ledger systems, accounting platforms, payments infrastructure, or financial transaction processing.
- Familiarity with double-entry bookkeeping, reconciliation processes, audit requirements, or regulatory reporting.
- Experience integrating with external payment rails or banking partners (ACH, wire, card networks).
- Familiarity with workflow orchestration systems (e.g. Temporal, Cadence) for durable, retryable financial processes.
- Background in fintech or financial services.
- Competitive starting pay
- 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 $168,000 - $240,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.
Questions about this role
What is the remote work policy for this position?
This is a fully remote position.
What level of seniority is expected for this role?
This role is for a senior-level engineer, specifically a Staff Software Engineer.
What are the primary programming languages used in this role?
The primary programming languages used are Scala and Go, though candidates willing to learn are encouraged to apply.