Senior Backend Engineer – Exchange

Essential Functions / Responsibilities
  • Analyze Business/Product requirements and propose effective and efficient technical solutions in delivering changes and innovations to the Pintu Exchange Accounts landscape within expected parameters of cost, time, and quality
  • Work with a project focus group (product engineering, product management, architecture, and CTO) to compile a work breakdown structure of tasks for given deliverables and provide realistic estimates for completion or project assignments.
  • Design, implement and maintain robust and effective solutions for client balances management, exposure monitoring, assets allocation, and locking for active orders that operate in real-time high throughput environment.
  • Develop and unit test all functional Account Management related modules created or modified according to software development best practices.
  • Together with Client APIs and Matching Engine Teams, develop, evolve and maintain effective internal components communication protocols between all elements on the Pintu Pro Exchange landscape.
  • Develop and maintain the respective operational benchmarking and monitoring models for all landscape modules related to the Pintu Pro Account Management infrastructure
  • Collaborate with other Developers, SREs, and QA Engineers to execute full-cycle integration, functional, and regression testing. Own and resolve all priority defects identified within the solution codebase efficiently and in a timely fashion
  • Promote software changes across all environments, safely and responsibly, through Development, Staging environments to deploying updates to the Production environment in a zero-downtime manner
  • Provide on-call Level 2 technical support during business and, occasionally, off hours depending on rotation, act as an escalation point for the Level 1 support in case of severe issues
  • Participate in team exercises to identify and implement areas for continuous improvement, and be proactive in bringing your ideas across
  • Educate and mentor your engineering colleagues in the areas of your own expertise and domain knowledge, and be open-minded and approachable
Experience Required
  • A minimum of 5 years of experience working in the financial trading domain (exchanges, proprietary trading firms, market makers, brokers, etc.) At least 2 years working in the crypto industry.
  • General understanding of the general Exchange microstructure model and components
  • Experience in developing high-load and high-throughput systems, serving large (thousands to millions) amounts of incoming API connections.
  • Good understanding of the CEX operating principles and client-facing APIs (market data, ordering, balance monitoring, historical inquiries, etc.)
  • Experience in designing and building various Exchange Risk Management engines and models, specifically:
  • margin models and engines
  • liquidation models and engines
  • derivative contract models, specifically
    • crypto futures/option
    • perpetual futures
    • perpetual options
  • Experience working in small focus teams of high-skilled developers.
  • The ideal candidate should also have experience building and running/operating Exchange’s client account-related components in production.
Necessary Skills
  • Good knowledge of the Linux operating system
  • Solid hands-on experience in Go
  • Understanding or messaging protocol engines and models (gRPC, Protobuf, Thrift, Avro, etc.)
  • Hands-on experience working with one of the Message Broker solutions (Kafka, RocketMQ, etc.)
  • Hands-on experience with the Continuous Integration principles (unit testing, pull requests, GitHub, or any specific continuous integration engine like GitLab/Jenkins/etc.)
  • Solid hands-on experience in building high memory load models and high throughput data processing pipelines
  • Good knowledge of code analysis and profiling techniques and tools (for example, Coverity, Valgrind, etc.)
  • Personal: self-sufficient with good hard and soft skills, committed and responsible, able to perform well under pressure
Preferred/Bonus Skills
  • Experience in C++ and/or Java (optional)
  • Experience working with Application Containers and Container Orchestrators (example: Kubernetes or Nomad)
  • Experience working under Continuous Delivery and Zero-Downtime models (for example: blue-green deployments, canary deployments, etc.)
  • Knowledge of Google Cloud and AWS Cloud Infrastructure and components (products)
  • Good understanding or experience in Scrum methodology
  • Understanding various trading models, types of trading, and rationale behind trading and market making
  • a solid plus goes to candidates that are doing any of the crypto trading (or any other asset classes) themselves on a private basis