Citi Transaction Services is undergoing a multi-year transformation to modernize its trade processing, middle-office, and fund services applications. This strategic initiative aims to create a robust, scalable, and configurable system for processing financial instruments, utilizing a cutting-edge, cloud-ready technology stack adaptable for future expansion. We are responding to the evolving Securities Services landscape by prioritizing platform efficiency, a consistent global operating model, enhanced capabilities, a robust data strategy, and value-added services.
Requirements
- 5+ years of hands-on experience in Java backend development (Java 8+ preferred), including deep understanding of core Java concepts, object-oriented programming, data structures, algorithms, and design patterns.
- Experience with Spring Boot, Spring JPA, Spring Cloud, JDBC, Hibernate, REST, and Maven is essential.
- Demonstrated proficiency in Java 8+ features (lambda expressions, streams, functional interfaces) and functional programming paradigms is required.
- Extensive experience with microservices architecture and related technologies, including Docker, Kubernetes/OpenShift, and cloud computing platforms (AWS, Azure, GCP).
- Strong understanding of microservice design patterns, principles, and best practices.
- Experience implementing Kafka consumers, producers, and streaming applications.
- Solid understanding of both SQL and NoSQL databases.
- Hands-on experience with MongoDB is preferred, and experience with other NoSQL databases is a plus.
Responsibilities
- Collaborate with cross-functional teams to ensure specifications are converted into flexible, scalable, and maintainable solution designs.
- Work as part of development teams to design and build complex solutions, ensuring alignment with the architecture blueprint, standards, target state architecture, and strategies.
- Coordinate, execute, and participate in component integration (CIT), system integration testing (SIT), and user acceptance testing (UAT) to identify and resolve application errors and ensure quality software deployment.
- Possess a solid grasp of software design patterns and approaches.
- Understand application-level software architecture and make technical trade-off decisions.
- Provide mentoring and guidance to junior engineers, offering feedback and direction on specific engineering tasks.
- Handle code releases in various environments.
Other
- Strong communication, analytical, problem-solving, and leadership skills are essential.
- Demonstrated ability to take ownership, collaborate effectively, and communicate technical concepts clearly.
- Bachelor's degree/University degree or equivalent experience
- Master's degree preferred
- Ideal candidates are innovators with well-rounded backgrounds who bring their authentic selves to work and complement our culture of delivering results with pride.