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 Applications Development Technology Sr Programmer Analyst role is a Senior position responsible for establishing and implementing new or revised application systems and programs. The overall objective of this role is analysis and programming activities.
Job Responsibility:
Conduct tasks related to feasibility studies, time and cost estimates, IT planning, risk technology, applications development, model development, and establish and implement new or revised applications systems and programs to meet specific business needs or user areas
Participate in the development process including analysis, design, construction, testing, and implementation as well as provide user and operational support on applications to business users
Work closely with other technical and business teams across multiple locations to respond to technical enquiries, gather requirements and deliver technical solutions
Implement well-tested and fully maintainable software, involving both new and existing components as required
Review and analyze code using tools to improve the quality of code and highlight vulnerabilities early in the software development lifecycle
Write unit and integration tests for all code, ensuring it is tested to a high standard
Apply a security-by-design approach to development, using recommended controls and techniques to secure software, and remediate vulnerabilities where identified
Utilize in-depth specialty knowledge of applications development to analyze complex problems/issues, provide evaluation of business process, system process, and industry standards, and make evaluative judgement
Recommend and develop security measures in post implementation analysis of business usage to ensure successful system design and functionality
Consult with users/clients and other technology groups on issues, recommend advanced programming solutions, and install and assist customer exposure systems
Ensure the right engineering standards are being applied by the team at all stages of software development and maintaining/evolving these as required
Contribute to the team’s documentation, ensuring data flows and components are well documented, as well as appropriate onboarding, troubleshooting and technical guides
Ensure essential procedures are followed and help define operating standards and processes
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-10 years of relevant experience
Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements
Strong hands‑on experience with Java, Spring, Spring Boot, JPA/Hibernate
Expertise in building microservices, REST APIs, Swagger/OpenAPI, and SOAP integrations
Experience designing & implementing event‑driven systems (Kafka, RabbitMQ)
Solid understanding of RDBMS (SQL, PL/SQL) + familiarity with NoSQL databases
Experience with caching (Redis)
Strong knowledge of OAuth2, token‑based security, and API security best practices
Prior experience with WebSphere, JSP/Servlets, EJB, and application modernization (migration to modern Java/Spring microservices)
Hands-on work experience with advanced AI software engineering tools like Devin.AI or similar autonomous AI software agents
Experience with cloud platforms (e.g., AWS, Azure, GCP)
Familiarity with containerization technologies like Docker and Kubernetes
Knowledge of CI/CD pipelines and DevOps practices
Bachelor’s degree/University degree or equivalent experience