Expert-level Java with Kotlin experience or a strong willingness to learn.
BS or MS in Computer Science, Software Engineering, Machine Learning, or a related field.
Experience designing event-driven systems with a focus on failure handling and data integrity.
Proficient in Test-Driven Development (TDD) with a strong emphasis on quality ownership.
Hands-on experience in capital markets, particularly in trade lifecycle and post-trade operations.
Demonstrated ability in iterative delivery methodologies, including CI/CD and trunk-based development.
Proven experience in modernizing large-scale legacy systems while ensuring stability.
Responsibilities
Re-engineer core trading systems into cloud-native services using Java and Kotlin.
Modernize legacy components while maintaining platform stability.
Build new data and market-expansion platforms for advanced client features.
Design systems with a focus on failure handling and data integrity under market pressure.
Practice TDD and ensure quality ownership throughout the development cycle.
Deliver iteratively with frequent production releases and minimal service interruption.
Engage directly with stakeholders to build domain knowledge and avoid reliance on Business Analysts.
Benefits
Opportunity to work on cutting-edge projects.
Collaborate with a highly motivated and dedicated team.
Flexible work schedule.
Comprehensive benefits package including medical, vision, and dental insurance.
Participation in corporate social events.
Access to professional development opportunities.
Well-equipped office environment.
Full Job Description
Grid Dynamics/JUXT is partnering with a Tier 1 investment bank on a strategic initiative to build its next-generation FX Risk Platform: consolidating risk management capabilities into a modern, scalable architecture and decommissioning multiple legacy risk applications. This role builds the platform's FX Options end-of-day Official Valuation capabilities, supporting the bank's Asia FX trading desk. The platform is built in Java and Kotlin on Apache Flink, and the work runs the full delivery cycle from requirements through design, development, testing and release, embedded with the bank's engineers who own the EOD module.
Essential functions
Re-engineering core trading and post-trade systems into event-driven, cloud-native services on the JVM (Java and Kotlin).
Modernising legacy components while keeping a live, financially significant platform stable.
Building the new data and market-expansion platforms that underpin the programme, and the plumbing for advanced client features such as cross-margining and credit financing.
Designing for the realities of event-driven systems: failure handling, ordering guarantees, replay semantics, and data integrity under market pressure.
Practising TDD and shift-left testing as the default. Local-first testing with containerised dependencies, fast feedback loops, and owning the quality of your deliverables end-to-end rather than handing it to a QA group.
Delivering iteratively: trunk-based development, CI/CD, and frequent (weekly or better) production releases during business hours with no service interruption.
Engaging directly with business stakeholders and upstream/downstream teams to build your own domain knowledge, rather than relying on Business Analysts to hold it for you.
Using AI-assisted and agentic development tooling as a genuine accelerator for analysis of legacy code, test generation, prototyping and refactoring.
Qualifications
Expert-level Java, with Kotlin experience or a clear appetite for it (enterprise-grade systems, multi-threading, performance).
BS, MS in Computer Science, Software Engineering, Machine Learning, or equivalent degree with applicable experience
Practical experience designing and building event-driven systems on message-passing and event-sourcing patterns, including failure handling, ordering guarantees and replay semantics.
Test-Driven Development as a practice, not an aspiration: you own quality end-to-end, you design for testability, and you can demonstrate it through how you approach a problem (this is assessed at interview).
Hands-on experience in or alongside a capital markets trading or post-trade environment: the trade lifecycle, trade booking and position management, and post-trade operations such as cashflow calculation, settlement and wires, client reporting, and accounting principles. You should be able to back this up with concrete examples, not high-level familiarity.
A track record in genuine iterative delivery incl. short feedback loops, trunk-based development, CI/CD, and regular zero-downtime production releases. No waterfall projects labelled as agile.
Proven ability to analyse, refactor and modernise large-scale legacy systems while maintaining stability.
Senior-level autonomy: you contribute to design discussions, push back constructively on technical decisions, and operate with minimal supervision in a complex production environment.
We offer
Opportunity to work on cutting-edge projects
Work with a highly motivated and dedicated team
Competitive salary
Flexible schedule
Benefits package - medical insurance, vision, dental, etc.
Corporate social events
Professional development opportunities
Well-equipped office
Please note that all onboardings must occur in person and you may be asked to travel to attend.