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 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.
Job Responsibility:
Use Core Java, Python, JavaScript, Multi-Threading, Exception Handling, and GoF Pattern to perform applications systems analysis and develop applications
Utilize spring technologies including Spring Boot, Spring Framework, Spring Security, and Spring Data to process large amounts of data in real-time by utilizing streaming techniques to calculate real-time business metrics used to publish dashboards to business stakeholders
Use Kafka, Event-Driven Microservices, and Distributed Systems to develop highly scalable distributed enterprise applications that optimally process large data sets
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
Monitor and control all phases of development process and analysis, design, construction, testing, and implementation as well as provide user and operational support on applications to business users
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 essential procedures are followed and help define operating standards and processes
Serve as advisor or coach to new or lower level analysts
Has the ability to operate with a limited level of direct supervision
Can exercise independence of judgement and autonomy
Acts as SME to senior stakeholders and /or other team members
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:
8 years of hands-on software development experience, with strong expertise in either Java or Python
Proven experience designing and developing system with real-time streaming technologies (e.g. Kafka, Flink, Spark Streaming or equivalent)
Strong understanding of database systems including both SQL and NoSQL databases
Ability to engage directly with business stakeholders to gather, clarity and translate business requirement into well-defined technical specification
Strong skills in technical analysis, including identifying gaps, dependencies and opportunities for improvement
Comfortable acting as a bridge between business and engineering teams, ensuring solutions align with business goals
Excellent communication, problem-solving and documentation skills
Bachelor’s degree/University degree or equivalent experience
Nice to have:
A strong background in AI/ML concepts and demonstrated experience with Generative AI (GenAI) and Large Language Models (LLMs)