Job Responsibilities
Design and implement distributed systems and robust APIs using Java
Integrate and optimize messaging systems (e.g. Kafka), orchestration tools (e.g. Kubernetes), and high-performance communication protocols (e.g. Aeron, gRPC, Protobuf)
Lead the full software development lifecycle, including architecture, implementation, deployment, and monitoring
Develop comprehensive test coverage across unit, integration, and end-to-end layers
Define and maintain efficient CI/CD pipelines and scalable engineering workflows
Drive continuous improvement in engineering processes through automation and best practices
Collaborate cross-functionally with product, operations, and business teams to address complex challenges
Leverage AI tools to enhance development productivity and software quality
Job Requirements
We are looking for individuals who demonstrate a strong engineering mindset, technical depth, and a commitment to excellence.
Ideal candidates will possess:
At least 8 years of software engineering experience
Proficiency in Java and backend system architecture
Experience in designing distributed systems, APIs, and inter-service messaging
Familiarity with containerization, infrastructure orchestration, and performance-sensitive protocols
Knowledge of the FIX protocol is advantageous
Strong focus on code quality, testing, and observability
Hands-on experience with CI/CD and automation tools
A proactive, process-oriented approach to software development
Ability to navigate complex systems within regulated environments
Interest in applying AI tools to improve engineering outcomes
Front-end development experience is a plus