Job responsibilities
- Executes creative software solutions, design, development, and technical troubleshooting with ability to think beyond routine or conventional approaches to build solutions or break down technical problems
- Develops secure high-quality production code, and reviews and debugs code written by others
- Identifies opportunities to eliminate or automate remediation of recurring issues to improve overall operational stability of software applications and systems
- Leads communities of practice across Software Engineering to drive awareness and use of new and leading-edge technologies
- Adds to team culture of diversity, equity, inclusion, and respect
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 5+ years applied experience
- Hands-on practical experience in system design, application development, testing, and operational stability
- Experience in building high-performance latency-sensitive event-driven applications
- Strong experience in building concurrent/multi-threaded software in Java and/or Kotlin, Microservices, latency sensitive applications
- Experience developing web-based applications, preferably with large user bases
- Proficiency in automation and continuous delivery methods
- Excellent understanding of application resiliency, and security
- Strong computer science foundations
- Ability to work well in a team environment, contributing to a culture of collaboration and mutual support
- Strong communication skills, with the ability to effectively collaborate with both technical and non-technical stakeholders
Preferred qualifications, capabilities, and skills
- Experience with containerised technologies (Docker, Kubernetes)
- Experience in forex (FX), options, emerging markets, commodities, or rates products
- Experience with the following tools & technologies: FIX, Solace, ActiveMQ / RabbitMQ / Kafka or similar
- Experience in cloud technologies
- Familiarity with agile development practices