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:
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
Education:
Bachelor’s degree/University degree or equivalent experience
Technology Skills:
Proficient in industry standard best practices such as Design Patterns, Coding Standards, Coding modularity, Prototypes, Object oriented programming etc.
Thorough in-depth understanding of usage of the fundamental concepts of Java and J2EE
Knowledge and application of Java, J2EE, Spring, Spring Boot, HTML/CSS, JavaScript, JSP, Servlets, JDBC, Struts framework
Experience with any SQL/No SQL databases (Oracle, Sybase, Mongo etc.)
Strong knowledge of unit testing frameworks like JUnit, Mockito
Experience in debugging, tuning and optimizing Java micro service components
Expertise in technologies like JMS, Solace is a plus
Experience working in a Continuous Integration and Continuous Delivery environment and familiar with Teamcity, Jenkins, Code Quality/Style Tools -SonarLint, Blackduck etc.
Knowledge of application servers / webservers (weblogic, Tomcat)
Proficiency with Git for managing code versions and collaborating with other developers.
Work experience on the transactional applications for low latency, high availability uses is a plus
Experience with Single page application development like Angular or React is an added advantage