Role in brief
BitMEX is seeking a senior Java engineer to develop and enhance high-performance trading systems for crypto derivatives. This role involves designing new features, optimizing performance, and collaborating with financial product teams and quantitative researchers. Candidates with extensive experience in Java and financial trading applications, who are adept at problem-solving and software development fundamentals, are ideal for this remote position.
About the role
This role focuses on the design, development, and delivery of core trading system components. The engineer will be responsible for implementing new features, fixing bugs, and optimizing system performance to ensure BitMEX maintains its low latency and high availability for crypto derivatives trading. Success in this position means contributing to a platform that has upheld an impeccable security record since 2014.
The position requires close collaboration with financial product teams and quantitative researchers to deliver new products and enhancements. This involves translating complex requirements into robust technical solutions within a high-performance environment. The engineer will also have opportunities to mentor team members and contribute to broader firm initiatives, fostering a culture of continuous improvement and technical excellence.
The ideal candidate possesses deep knowledge of modern software development practices, including TDD and BDD, and a strong understanding of object-oriented design principles like SOLID. Expertise in Java Memory Model, concurrency, and algorithms is crucial for developing the sophisticated trading applications required. The role demands analytical and problem-solving skills to break down complex challenges into manageable abstractions.
The annual salary for this position ranges from $98,000 to $162,000 USD, with the option to be paid in fiat or cryptocurrency.
Skills that matter here
- Java: The primary language for developing high-performance trading applications.
- TDD: Used for ensuring code quality and reliability through test-driven development practices.
- Design patterns: Applied to create scalable and maintainable software architectures for trading systems.
- Concurrency: Essential for managing parallel processes and optimizing performance in a high-throughput trading environment.
- Docker: Used for containerizing applications, enabling consistent deployment and scaling of trading system components.
- FIX: Relevant for integrating with financial exchanges and handling trading messages.
Who this role suits
- A person with at least eight years of experience writing high-performance Java applications, specifically in financial trading.
- Someone who thrives in a remote setting and values work-life balance, with the flexibility to work from different countries.
- An individual who is passionate about software development, committed to continuous learning, and prioritizes quality in their work.
- A team player who can mentor others and contribute to broader company objectives beyond their immediate tasks.
From the employer
- Ownership in the design, development and delivery of trading system components
- New feature implementation, bug fixing, and performance tuning
- Partner with Financial Products and quantitative researchers on product delivery
- Mentor team members and drive firm initiatives
- 8+ years programming experience writing high-performance Java applications
- Bachelor's degree in a Computer Science or similar STEM discipline
- Experience in a related industry, such as within a Hedge Fund, Investment Bank, or an Exchange developing financial trading applications
- Understanding of the modern software development fundamentals and testing practices inclusive of TDD and BDD
- Understanding of design patterns and object-oriented programming such as SOLID, with in-depth understanding of algorithms and their complexities
- Understanding of the Java Memory Model and concurrency in practice
- Demonstrable analytical and problem-solving skills, with an ability to break larger problems down and turning complex problems into simpler abstractions
- Genuine passion for software development, and a keen lifetime learner who puts quality over quantity
- Work from home to help you find the perfect balance between work, family and personal life
- Paid holidays and leave so you won’t miss out any important events
- Team building & offsite events to bring our global team closer
- Beyond Border Remote Working policy, where you get to work away from your home country
- Option to choose to be paid in fiat or crypto currency, providing the flexibility to shape your financial freedom
Questions about this role
What is the remote work policy for this role?
This is a fully remote position with a "Beyond Border Remote Working" policy, allowing employees to work from outside their home country.
What level of seniority is expected for this position?
This is a senior-level role, requiring at least 8 years of programming experience in high-performance Java applications.
What are the key technical skills required for this role?
Key technical skills include Java, TDD, BDD, design patterns, object-oriented programming, SOLID principles, algorithms, Java Memory Model, concurrency, Docker, Kubernetes, REST, and FIX.