We are Quadcode, a fintech company excelling in financial brokerage activities and delivering advanced financial products to our global clientele. Our flagship product, an internal trading platform, is offered as a Software-as-a-Service (SaaS) solution to other brokers.
Due to growth and expansion, we’re looking for a Senior Go Developer to join our Trading Exchange team. We are building an options exchange for the U.S. market — a full-featured exchange with a matching engine, order book, and all the necessary components. The project complies with all regulatory requirements for derivatives exchanges in the United States.We have a fresh codebase (less than 3 years old), no deep legacy, and minimal technical debt.
What we're building:
1. An exchange for trading high-risk instruments (binary options, event-based options, etc.).2. A proprietary clearing system, used not only by our exchange but also by our partner exchanges.3. An SDK for market makers working on our platform.
Our tech stack and development approach:
1. Golang is our primary programming language.2. A service-oriented architecture with a custom transport layer (a variation of RPC) inherited from our parent company. We use service discovery and code generation.3. PostgreSQL is the main database. We actively use stored procedures but avoid implementing business logic or complex logic in them.4. We generate statically typed functions for calling procedures — no ORMs or SQL code generation tools.5. Performance is a priority at the architectural level, and we’re planning deeper optimization after implementing the core business logic.6. We actively write unit, integration, and end-to-end tests.7. We also work with CI/CD, Docker, Kubernetes, and GitLab. However, infrastructure-related tasks are not part of our day-to-day responsibilities — we have dedicated engineers for that.7. We follow Scrum with SAFe framework: 2-week sprints, daily stand-ups at 12:30 GMT+3, retrospectives, and grooming sessions.
Team composition: 3 Go developers, QA engineer, 2 AQA engineers, and a team lead.
Tasks
- Developing backend components of the trading system, including: the matching engine, the clearing system, and internal reporting storage.
- Designing and implementing protocols and services for external system integration.
- Maintaining and evolving the existing codebase: fixing bugs, improving architecture.
- Ensuring service performance and fault tolerance.
- Participating in code reviews and architectural discussions as part of delivering stable releases.
Requirements
- 5+ years of commercial backend development experience.
- At least 2 years of experience in Go development (commercial experience or pet projects).
- Hands-on experience with PostgreSQL: query optimization, partitioning, and replication setup.
- Strong understanding of multithreading principles and distributed service/microservice architecture.
- Deep understanding of performance aspects: differences between low latency, high load, and high performance, and the ability to balance these with code complexity.
- A thoughtful approach to ensuring consistency and determinism in the system — minimizing dependencies on timing, delays, and randomness.
- A mindset focused on resilience — system failures must not compromise data consistency.
- Fluent in Russian and English at B1 level or higher.
Nice to have
- Experience in the Forex/Fintech industry (especially in exchange-based trading).
- Practical knowledge of trading on traditional or crypto exchanges.
- Understanding of networking and basic internet protocols.
- Development experience in C++ or PHP.
- Experience using PL/pgSQL.
We offer
- Full-time remote work model (Service Provider), with the opportunity for full-time employment based on your location.
- Competitive remuneration.
- 20 paid days off annually.
- Flexible working hours.
- Training and development opportunities.
- A friendly, enjoyable, and positive work environment.
Join us today, and let's shape the future of fintech together!
Note: All applications will be treated with strict confidence. We thank all applicants for their interest, however, only those candidates selected for interviews will be contacted.