As an experienced member of our Software Engineering Group, we look first and foremost for people who are passionate around solving business problems through innovation and engineering practices. You'll be required to apply your depth of knowledge and expertise to all aspects of the software development lifecycle, as well as partner continuously with your many stakeholders on a daily basis to stay focused on common goals. We embrace a culture of experimentation and constantly strive for improvement and learning. You'll work in a collaborative, trusting, thought-provoking environment-one that encourages diversity of thought and creative solutions that are in the best interests of our customers globally.
The role is within the FX Services Technology team which rolls up to the Macro eTrading group. The team provides innovative technology solutions for internal and external clients across multiple JP Morgan lines of business through the provision of APIs and services to capture, price and execute passive FX transaction flows. This includes best-in-class products for Custody FX and FX Payments flows with significant transaction volumes.
The global team consists of people based in London, New York, Bournemouth, Houston, Singapore and India.
The successful candidate will be involved in the full development life cycle of analysis, design, implementation, testing, deployment and support of FX Services trading/sales software. Specifically you can expect to:
Design technology solutions on different scales with specific emphasis on cloud technology
Be mindful of cost/benefit analysis in everything they do
Advise management and project managers on build or buy decisions - and will have autonomy to make these decisions within existing technical business context
Cut code to deliver enhanced functionality across our suite of in-house components and applications
Produce documentation for other technologists, users and support
Develop and unit test software application modules using disciplined software development processes including waterfall and agile.
Be involved in requirements gathering and business analysis tasks
Co-ordinate systems integration test with other teams
This role requires a wide variety of strengths and capabilities, including:
Minimum 10 years of experience using any JVM language (Java, Kotlin Scala, Groovy)
Substantial experience with software design and senior development skills in a high pressure, time critical environment
Excellent knowledge of Design Patterns
Messaging middleware, IBM MQ or other, in the context of event driven reactive systems
Experience with SQL databases - especially Oracle SQL
Ability to own multiple streams of work and to organize self and others to deliver in a timely fashion
Experience of multi-tier architectures
Good understanding of functional programming
Strong interpersonal and communication skills
Test Driven Development
Experience in Kotlin, Amazon Web Services, Micro Services, Unix Scripting and FIX Messaging preferred
Experience in low-latency, high throughput systems and business / technical analysis experience in a financial environment advantageous
FX product knowledge and experience in building rules engine systems beneficial