Job Description
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.
Responsibilities:
- 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.
Qualifications:
- 10+ 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
Technical Skills
- Strong knowledge of JAVA (Core JAVA, Spring, JPA, RESTful Services), Spring Boot, Spring Batch, Hibernate, , JSON, RESTful Web Services, RDBMS, IBM Websphere, OpenShift ECS.
- 5+ years of Microservices development experience using Spring boot
- At least 5 years or more years of technical leadership experience
- Good track record of relevant experience in design and development of full stack Java applications and distributed systems.
- Experience designing APIs
- Databases – Oracle or equivalent with SQL, PL/SQL programming expertise, familiarity with NoSQL databases
- Unix/Linux scripting skills (Shell and PERL)
- Experience on DEVOPS, CI/CD, Build Tools Maven, Ant, with knowledge on using Sonar, Blackduck and Jenkins.
- Experience in Agile / Scrum based development methodology, work with multiple internal stake holders and interfacing application development teams in delivering application changes throughout an agile calendar.
- Excellent coding discipline
- Strong analytical and problem solving skill
- Ability to mentor team members
- Passion for technology and self- starter
- Experience with Finance applications is plus
Education:
- 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.
Job ID: 30768