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 an intermediate level position responsible for participation in the establishment and implementation of new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to contribute to applications systems analysis and programming activities.
Job Responsibility:
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
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:
5+ years of relevant experience in Apps Development or systems analysis role
Extensive experience system analysis and in programming of software applications
Subject Matter Expert (SME) in at least one area of Applications Development
Ability to adjust priorities quickly as circumstances dictate
Consistently demonstrates clear and concise written and verbal communication
Strong hands-on core Java, functional programming, and Spring Boot microservices development experience
Understanding of concurrent and parallel programming, including threads, processes, synchronization, and handling race conditions
Knowledge of reactive programming for building asynchronous, event/message-driven systems in microservices based applications that are highly concurrent
Proficient in containerizing applications, continuous integration, and continuous delivery in Java ecosystem
Knowledge of distributed tracing and API Gateway integration for microservices architecture
Proficient in functional programming concepts with Streams API, Lambda Expressions and Optional
Understanding of secure coding practices, SSL/TLS, OAuth, and JWT token handling in Java-based applications
Expertise in integrating Java with NoSQL databases such as MongoDB for scalable, high availability applications
Understanding of integrating APIs with third party libraries/vendors and handle the security around it
Understanding of the principles of distributed systems, including data partitioning, replication, and consistency models
Understanding of microservices architecture, including service discovery, API gateways, and inter-service communication
Exceptional Problem-Solving and Analytical Skills to diagnose and resolve issues in distributed environments
Hands-on experience using AI-powered coding assistants e.g. Github Copilot
Above average skills in monitoring, logging, and debugging distributed systems to ensure reliability and performance
Expertise in fundamental concepts such as consistency, availability, partition tolerance, fault tolerance, and scalability
Familiarity with container orchestration (e.g., Kubernetes), and distributed messaging systems (e.g., Kafka)
Experience using Git/BitBucket
Good communication skills, both written and verbal
Nice to have:
Knowledge of ElasticSearch, and GraphQL
Experience with building apps which are highly performant and scalable will be great
Familiarity with Generative AI, Machine learning concepts, and Large Language Models (LLMs), including practical exposure to integrating AI-assisted capabilities into applications or development workflows