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:
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
Design, develop, and implement new features and functionalities for web applications using Java and related frameworks
Develop and maintain robust back-end services, APIs, and databases, with a strong emphasis on the Spring Boot framework
Implement engaging and responsive user interfaces using modern front-end technologies
Collaborate with cross-functional teams to define, design, and ship new features
Write clean, maintainable, and efficient code following best practices and coding standards
Participate in code reviews to ensure code quality and share knowledge
Troubleshoot, debug, and upgrade existing systems
Contribute to all phases of the development lifecycle, including requirements gathering, design, coding, testing, and deployment
Optimize applications for maximum speed and scalability
Stay up-to-date with emerging technologies and industry trends
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-8 years of relevant experience
Experience in systems analysis and programming of software applications
Experience in managing and implementing successful projects
Working knowledge of consulting/project management techniques/methods
Ability to work under pressure and manage deadlines or unexpected changes in expectations or requirements
Strong proficiency in Java and deep, hands-on experience with the Spring ecosystem (Spring Boot, Spring MVC, Spring Data, reactive spring)
Proven experience building and consuming RESTful APIs and designing microservices with Spring Boot
Experience with relational databases (e.g., PostgreSQL, MySQL) and NoSQL databases (e.g., MongoDB)
Solid understanding of data access layers and ORM frameworks like Spring Data JPA/Hibernate
Experience with build tools like Maven or Gradle
Proficiency in modern front-end technologies (e.g., HTML5, CSS3, JavaScript/TypeScript)
Experience with working on ReactJS and Redux
Familiarity with front-end build tools (e.g., Webpack, npm, yarn)
Experience with version control systems (e.g., Git)
Understanding of software development best practices, including agile methodologies, continuous integration, and continuous delivery (CI/CD)
Excellent problem-solving skills and attention to detail
Strong communication and interpersonal skills, with the ability to work effectively in a team environment
Bachelor’s degree/University degree or equivalent experience
Nice to have:
Experience with GraphQL API design and development
Familiarity with Spring Cloud for building distributed systems
Knowledge of containerization technologies like Docker and orchestration tools like Kubernetes
Experience with cloud platforms (e.g., AWS, Azure, GCP)