Applications Development Programmer Analyst - C12
Listed on 2026-10-03
-
Software Development
Java Developer, Backend Developer, Software Engineer, Full Stack Developer
The Applications Development Senior Programmer Analyst 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. Automation and process simplification will be the key theme.
Responsibilities:- o Design, develop, test, deploy, and maintain robust, scalable, and efficient Java applications following architectural patterns of Spring Boot microservices.
- o Implement REST, async messaging, service-to-service integration) and ensure seamless integration with proper fault tolerance.
- o Build cloud-native services using Spring Cloud components (e.g., config, discovery, gateway, circuit breaker patterns where applicable).
- o Develop and implement Event‑Driven Architecture (EDA) using Kafka for asynchronous communication, event streaming, and decoupled processing.
- o Apply deep knowledge of Java Collections, concurrency, and multi-threading to build safe and performant systems.
- o Perform performance tuning, profiling, and optimization across services (latency, throughput, memory utilization, GC tuning where required).
- o Write clean, well-documented, and efficient code adhering to best practices and coding standards.
- o Collaborate with product managers, architects, and other developers to understand requirements and translate them into technical designs for microservices.
- o Participate in all phases of the software development lifecycle, including analysis, design, development, testing, and deployment of microservices.
- o Troubleshoot, debug, and upgrade existing microservices and monolithic systems as part of a migration strategy.
o 5-8 years of relevant experience
o Experience in systems analysis and programming software applications
o Experience in managing and implementing successful projects
o Working knowledge of consulting/project management techniques/methods
o Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements
Education:- o Bachelor’s degree/University degree or equivalent experience
This job description provides a high-level review of the types of work performed. Other job-related duties may be assigned as required.
Additional Job Description
Additional Job Description
o 3-6 years of professional experience in Java development with strong proficiency in Java (JDK 8+).
o Demonstrable experience with designing, developing, and deploying microservices.
o Solid experience with Spring Framework, particularly Spring Boot for building microservices.
o Proven experience in building and consuming RESTful APIs.
o Understanding of microservices architecture patterns (e.g., API Gateway, Service Discovery, Circuit Breaker, Centralized Configuration).
o
Experience with containerization technologies such as Docker
.
o Experience with version control systems (e.g., GITHUB).
o Knowledge of Agile development methodologies (Scrum, Kanban).
o Knowledge of Snowflake a plus
In addition to salary, Citi’s offerings may also include, for eligible employees, discretionary and formulaic incentive and retention awards. Citi offers competitive employee benefits, including: medical, dental & vision coverage; 401(k); life, accident, and disability insurance; and wellness programs. Citi also offers paid time off packages, including planned time off (vacation), unplanned time off (sick leave), and paid holidays. For additional information regarding Citi employee benefits, please visit Available offerings may vary by jurisdiction, job level, and date of hire.
Job Family Group:Technology
Job Family:Applications Development
Time Type:Full…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).