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:
Write good quality code in Java, Sprint Boot (related stack)
Well versed with JUnit, Mockito, Integration Tests and Performance Tests
Well versed with UI/UX Designs, Unit test
Ability to design, develop components with minimal assistance
Ability to effectively interact, collaborate with development team
Work with developers onshore, offshore and matrix teams to implement a business solution
Write user/supported documentation
Evaluate and adopt new dev tools, libraries, and approaches to improve delivery quality
Perform peer code review of project codebase changes
Acts as SME to senior stakeholders and /or other team members
Utilize knowledge of applications development procedures and concepts, and basic knowledge of other technical areas to identify and define necessary system enhancements, including using script tools and analyzing/interpreting code
Consult with users, clients, and other technology groups on issues, and recommend programming solutions, install, and support customer exposure systems
Apply fundamental knowledge of programming languages for design specifications
Analyze applications to identify vulnerabilities and security issues, as well as conduct testing and debugging
Serve as advisor or coach to new or lower level analysts
Identify problems, analyze information, and make evaluative judgements to recommend and implement solutions
Resolve issues by identifying and selecting solutions through the applications of acquired technical experience and guided by precedents
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:
Deep Knowledge of Spring including Spring Framework, Spring Boot, Spring Security, Spring Web, Spring Data
Deep Knowledge of: Threading, Collections, Exception Handling, JDBC, Java OOD/OOP Concepts, GoF Design Patterns, MoM and SOA Design Patterns, File I/O, and parsing XML and JSON, delimited files and fixed length files, String matching, parsing, building, working with binary data / byte arrays
Good Knowledge of UI/UX Design and Angular JS and Jest for unit testing
Good knowledge of SQL (DB2/Oracle dialect is preferable)
Good knowledge of building and deploy application running in Kubernetes and Docker
Experience working with SOA & Micro-services utilizing REST
Experience with design and implementations of cloud-ready applications and deployment pipelines on large-scale container platform clusters is a plus
Experience working in a Continuous Integration and Continuous Delivery environment and familiar with Tekton, Harness, Jenkins, Code Quality, etc.
Knowledge in industry standard best practices such as Design Patterns, Coding Standards, Coding modularity, Prototypes etc.
Apply depth of analytical understanding of a variety of New ways of working such as problem solving, Extreme programming, Behavior Driven Development, DevOps
Experience in debugging, tuning and optimizing components
Understanding of the SDLC lifecycle for Agile methodologies
Excellent written and oral communication skills
7+ 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
Nice to have:
Experience developing application in Financial Services industry is preferred
Experience with design and implementations of cloud-ready applications and deployment pipelines on large-scale container platform clusters is a plus