Java Development Lead
Role details
Job location
Tech stack
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., * 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
- Possess expert level (hands-on) knowledge and understanding in JAVA/J2EE spring boot, spring framework stack
- Spring Boot / Microservices and event based architecture / Consuming REST API experience
- Ability to code, do code reviews and recommend best practices
- Ability to contribute in high and low level system design (Sequence diagram, class diagrams)
- Deep understanding of Microservice and Microservices best practices, patterns
- Strong systems analysis, design and architecture fundamentals, Unit Testing and other SDLC activities
- Strong communication skills, should be able to communicate effectively with business and other stakeholders
- Hands-on MongoDB experience and understanding of Kafka highly desirable
- Strong Real-time UI development experience
- Kafka, Streaming experience
- Agile/Scrum methodology experience is required.
- Experience in SCMs like GIT; and tools like JIRA
Leadership Skills:
- Excellent organization skills, attention to detail
- Demonstrated sense of responsibility and capability to deliver quickly
- Proactive problem-solver. Relationship builder and team player
- Negotiation, difficult conversation management and prioritization skills
- Flexibility to handle multiple complex projects and changing priorities
- Excellent verbal, written and interpersonal communication skills, * 8-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/method
Education:
- Bachelor's degree/University degree or equivalent experience