Job Purpose
As a Senior Java Developer in Risk, you will play a key role in building mission-critical, sophisticated applications supporting the Clearing and Risk systems underpinning ICE’s global markets. You will have the opportunity to shape the modernization of ICE’s platforms through cloud-native design patterns, novel quantitative algorithms, and cutting-edge technologies. Your contributions will directly impact essential financial infrastructure on a global scale across ICE’s derivative markets and asset classes.
Responsibilities
- Develop and deliver robust, high-performance systems and modules using Java, Spring, REST, and SQL
- Build creative, performant design and implementations consistent with established design patterns and in consideration of non-functional impacts and operational resiliency
- Take ownership of estimation, design, development, testing, production delivery, and team mentorship for critical components, applications and systems
- Drive scalability and performance optimization for systems processing millions of complex computations against immense datasets daily
- Collaborate with cross-functional teams, including business units, product management, quality assurance, and other stakeholders to understand system requirements and bring impactful solutions to life
- Assist in developing and ensuring complete functional and non-functional specifications
- Understand complex business logic in existing systems and transition it to new technologies and systems
- Work with system operations, database administration, and systems software in production support and defining system recovery procedures
- Identify, communicate, and develop solutions for root causes of program failures and defects
- Work in an agile and continuous integration environment with a command of SDLC tools
- Plan and execute unit tests to ensure developed code is free of functional defects
- Collaborate with business analysts and QA analysts in the design and execution of business feature, regression and integration testing
Knowledge and Experience
- Bachelor’s degree in CS or equivalent
- 5+ years of experience developing with Java technologies
- Strong working knowledge of:
- Java 8+
- Object Oriented Design and related Design Patterns
- Distributed messaging via frameworks such as IBM MQ, Rabbit MQ, Kafka, JMS
- Spring Framework (Spring Boot, Spring Cloud, Spring MVC, Spring Data)
- ORM technologies such as Hibernate, JPA
- Relational Databases (such as Oracle) and experience with SQL, PL/SQL
- Multi-threaded server-side development
- RESTful API design and development
- Unit testing tools such as JUnit, Mockito, and Spring Boot Test
- Proven experience in Java performance tuning, debugging and memory profiling
- Familiarity with CI/CD pipelines and modern development workflows using tools like Jenkins, ArgoCD, or GitHub Actions
- Experience supporting multiple projects, managing priorities, and multi-tasking effectively
- Strong problem-solving abilities and attention to detail
- Strong interpersonal skills and able to work well in a collaborative team environment
- Excellent communication skills, particularly in articulating technical concepts to varying audiences
- Excellent technical documentation skills
Preferred
- Passion for financial markets and experience with futures and options
- Experience with quantitative financial risk models and risk management systems
- Experience developing micro-services in container-based Kubernetes platforms (OpenShift, Tanzu)
- Experience orchestrating complex microservice-based dataflows using frameworks like Apache Airflow or Netflix Conductor
- Experience working with distributed cache frameworks such as Redis or Hazelcast
- Experience with modern messaging middleware such as RabbitMQ and Kafka
- Familiarity with advanced Spring frameworks, including Gateway, Data Flow, Stream, Function, and WebFlux
- Experience integrating with native C++ libraries via JNI
- Demonstrated contributions to open-source technologies