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).
The Java Developer is a senior-level position responsible for designing, developing, and implementing enterprise-grade application systems and programs in coordination with the Technology team. The overall objective of this role is to lead technical development initiatives, architect scalable solutions, and drive best practices in Java-based application development.
Job Responsibility:
Design, develop, and maintain high-performance enterprise applications using Java 17+, Spring Boot, and Spring Batch frameworks
Architect and implement microservices-based solutions with strong emphasis on scalability, reliability, and maintainability
Develop and optimize complex database solutions using SQL and Oracle databases, including stored procedures, performance tuning, and query optimization
Design and implement event-driven architectures using Apache Kafka for real-time data streaming and message processing
Implement and manage distributed caching solutions using Redis to enhance application performance and scalability
Utilize deep knowledge of applications development procedures and concepts to identify and define necessary system enhancements, including analyzing/interpreting code and implementing technical solutions
Consult with users, clients, and other technology groups on technical issues, recommend programming solutions, and support customer-facing systems
Apply advanced knowledge of Java programming languages, design patterns, and architectural principles for design specifications
Analyze applications to identify vulnerabilities and security issues, conduct comprehensive testing, debugging, and code reviews
Serve as technical advisor, mentor, and coach to junior and intermediate developers
Lead technical problem-solving initiatives, analyze complex information, and make evaluative judgements to recommend and implement optimal solutions
Resolve critical technical issues by identifying and selecting solutions through the application of extensive technical experience and industry best practices
Operate with a high degree of independence and minimal supervision
Exercise strong independence of judgement and autonomy in technical decision-making
Act as Subject Matter Expert (SME) to senior stakeholders, architects, and team members on Java technologies and best practices
Participate in technical design reviews, architecture discussions, and technology evaluation initiatives
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:
Java 17+: Advanced proficiency in modern Java features, including records, sealed classes, pattern matching, and virtual threads
Spring Boot: Expert-level experience in building production-grade Spring Boot applications
Spring Batch: Strong experience in designing and implementing batch processing solutions
SQL & Oracle: Advanced database development skills, including complex queries, performance optimization, and PL/SQL
Apache Kafka: Hands-on experience with event streaming, message brokers, and distributed messaging patterns
Redis: Proficiency in implementing caching strategies, session management, and distributed data structures
4-6 years of relevant experience in enterprise application development, preferably in the Financial Services industry
3+ years of hands-on experience with Java 17+ and Spring ecosystem (Spring Boot, Spring Batch, Spring Data)
Proven experience designing and implementing microservices architectures
Strong experience with relational databases, particularly Oracle, including performance tuning and optimization
Demonstrated experience with message-driven architectures using Kafka or similar technologies
Hands-on experience with distributed caching solutions (Redis, Hazelcast, or similar)
Experience with CI/CD pipelines, containerization (Docker/Kubernetes), and cloud platforms is a plus
Consistently demonstrates clear and concise written and verbal communication skills
Demonstrated strong problem-solving, analytical, and decision-making skills
Proven ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements
Experience with Agile/Scrum methodologies and collaborative development practices
Bachelor's degree/University degree or equivalent experience
Nice to have:
Experience with CI/CD pipelines, containerization (Docker/Kubernetes), and cloud platforms is a plus