This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
We are seeking a highly skilled and experienced Backend Java Developer to join our dynamic engineering team. The ideal candidate will be responsible for designing, developing, and maintaining scalable, high-performance, and resilient backend services. This role involves working with a modern technology stack focused on asynchronous, event-based microservices, reactive programming, and robust data persistence solutions. A strong commitment to quality through Test-Driven Development (TDD) and comprehensive unit testing is essential.
Job Responsibility
Design, develop, and deploy asynchronous, event-driven microservices using Java
Implement solutions leveraging Java Lambdas and Reactive Functional Programming paradigms
Work with NoSQL databases, specifically MongoDB, for efficient data storage and retrieval
Utilize Elasticsearch for building powerful search and analytics capabilities
Integrate and develop event streaming solutions with Apache Kafka
Ensure high code quality through adherence to Test-Driven Development (TDD) principles and writing thorough JUnit tests
Collaborate with frontend developers, product managers, and other stakeholders to define and deliver features
Participate in code reviews to maintain code quality, share knowledge, and ensure best practices
Troubleshoot and debug production issues, providing timely resolutions
Contribute to the continuous improvement of our development processes, tools, and methodologies
Stay up-to-date with emerging trends and technologies in backend development
Partner with multiple management teams to ensure appropriate integration of functions to meet goals as well as identify and define necessary system enhancements to deploy new products and process improvements
Resolve variety of high impact problems/projects through in-depth evaluation of complex business processes, system processes, and industry standards
Provide expertise in area and advanced knowledge of applications programming and ensure application design adheres to the overall architecture blueprint
Utilize advanced knowledge of system flow and develop standards for coding, testing, debugging, and implementation
Develop comprehensive knowledge of how areas of business, such as architecture and infrastructure, integrate to accomplish business goals
Provide in-depth analysis with interpretive thinking to define issues and develop innovative solutions
Serve as advisor or coach to mid-level developers and analysts, allocating work as necessary
Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients and assets, by driving compliance with applicable laws, rules and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct and business practices, and escalating, managing and reporting control issues with transparency
Requirements
Strong proficiency in Java (Java 8+)
Extensive experience in building scalable backend applications
Experience with designing and implementing asynchronous, event-based microservices architectures
Hands-on experience with Java Lambdas and Reactive Programming frameworks (e.g., Spring WebFlux, Reactor, RxJava)
Strong experience with MongoDB
Proficiency with Elasticsearch
Solid experience with Apache Kafka for event streaming and messaging
Expert-level understanding and practical application of JUnit for unit testing and Test-Driven Development (TDD)
Proficient with Git and collaborative development workflows
Familiarity with continuous integration and continuous deployment pipelines
6-10 years of relevant experience in Apps Development or systems analysis role
Extensive experience system analysis and in programming of software applications
Experience in managing and implementing successful projects
Subject Matter Expert (SME) in at least one area of Applications Development
Ability to adjust priorities quickly as circumstances dictate
Demonstrated leadership and project management skills
Consistently demonstrates clear and concise written and verbal communication
Bachelor's or Master's degree in Computer Science, Engineering, or a related field
Strong understanding of data structures, algorithms, and object-oriented design principles
Experience with RESTful API design and development
Excellent problem-solving, analytical, and debugging skills
Ability to work independently and as part of a collaborative team
Nice to have
Experience with Docker and Kubernetes for containerization and orchestration
Knowledge of other NoSQL databases
Contributions to open-source projects
Experience in a fast-paced, agile development environment
Familiarity with cloud platforms (e.g., AWS, Azure, GCP)