Responsibilities
Job Description
The position is within a Global Technology team and we are seeking a Senior Java Developer with strong hands-on experience in developing server-side components in Java. Candidate must have experience in developing enterprise application using Java/J2EE & Spring.
The work will include strategic state-of-the-art solutions using new stack development using Agile/ DevOps high standard/ Micro services/ Docker for application hosting.
Candidate will be working on fast-paced, highly visible and challenging projects. Candidate is expected to be a self-starter and someone who loves technology in general and excels when challenged.
Responsibilities:
- As a Senior Java Developer, analyze and collaborate technical solutions and strategies with the team and provide the optimum solution for our clients.
- Responsible for systems analysis, Design, Coding, Unit Testing and other SDLC activities
- Code reviews, exposure to continuous integration, test case reviews and ensure code developed meets the requirements
- Explore existing application systems, determines areas of complexity, potential risks to successful implementation
- Communicate continually with the client and project teams – Clarify client’s needs, present tech team ideas and explains progress on the development efforts.
- Contributes to continual improvement by suggesting improvements to software architecture, software development process and new technologies etc.
- Strictly follow Citi’s engineering standards and ensure these are followed across all modules in the project.
- Perform code & design reviews consistently.
- Has the ability to operate with a limited level of direct supervision.
Technology Skills:
- Must have expert level (hands-on) knowledge and understanding in JAVA/J2EE spring boot, spring framework stack
- Must have Deep understanding of Microservice and Microservices best practices, patterns- Spring boot microservices is highly preferred
- Must have Hands-on SQL, MS SQL/Oracle database
- MongoDB knowledge / experience
- Must have experience in SCMs like GIT; and tools like JIRA
- Good understanding of OpenShift & Docker
- Good understanding of Kafka is highly desirable
- Agile/Scrum methodology experience is required.
- Strong systems analysis, design and architecture fundamentals, Unit Testing and other SDLC activities
- Ability to contribute in high- and low-level system design (Sequence diagram, class diagrams)
- Strong communication skills, should be able to communicate effectively with business and other stakeholders
Qualifications:
- Advance experience in Apps Development or systems analysis role
- Extensive experience system analysis and in UI programming of software applications
- Ability to adjust priorities quickly as circumstances dictate
- Demonstrated leadership skills
- Consistently demonstrates clear and concise written and verbal communication
Education:
Bachelor’s degree/University degree or equivalent experience
Education:
- Bachelor’s degree/University degree or equivalent experience