We are seeking an experienced Senior Java Developer to join our dynamic development team. The ideal candidate will be responsible for designing, developing, and maintaining backend solutions using Spring Boot and Java, while ensuring system security and integration with various services. You will play a crucial role in backend development, authentication, and utilizing development tools and processes to enhance our systems.
Responsibilities
Backend Development (65%): - Design and implement robust backend solutions using Spring Boot, Spring Data (JPA, JDBC), and Java (versions 8 and 17). - Develop and maintain integration between ATM/middleware, mainframe databases, transactions database systems, and other web services/APIs. - Ensure the security and integrity of systems by implementing Spring Security features, including OAuth and LDAP.
Development Tools and Processes (20%): - Utilize development tools and frameworks such as Maven, Jenkins, Gradle, Git, and Nexus to streamline development processes and improve efficiency. - Collaborate with the DevOps team to implement CI/CD pipelines and enhance deployment strategies.
Authentication and Security (15%): - Gain expertise in Single Sign-On (SSO), Multi-Factor Authentication (MFA), PingFederate, OpenID Connect (OIDC), and OAuth protocols. - Contribute to the design and implementation of secure authentication mechanisms for backend systems.
Must Have Skills
Mandatory Skills:
Proven experience programming with Spring Boot, Spring Data (JPA, JDBC), Java (8/17), Scala, and Spring Security (OAuth, LDAP).
Proficiency with development tools such as Maven, Jenkins, Gradle, Git, and Nexus.
Strong understanding of authentication protocols including SSO, MFA, PingFederate, OIDC, and OAuth.
Desirable Skills:
Familiarity with Azure development and cloud technologies.
Experience with backend systems, middleware, and database integration.
Strong analytical and problem-solving skills, with a focus on delivering high-quality code.
Strong communication skills and the ability to work collaboratively within a team.