
Senior Software Engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
We are seeking a highly skilled Senior Software Engineer with 4 to 9 years of experience to join our dynamic team in Bengaluru. This role focuses on designing, developing, and maintaining robust microservices and REST APIs critical for our banking products and digital ecosystems. You will leverage Java 8 and 17, along with modern frameworks like Micronaut and Spring Data JPA, to build scalable and secure backend services. Essential skills include expertise in Spring Security with JWT, API Gateway, and OpenShift for secure microservice deployment.
Proficiency in API design using Open API/Swagger and tools such as Gradle, Jenkins, and GitHub Copilot is expected to streamline CI/CD pipelines. Familiarity with Oracle databases, Flyway for database migrations, and multithreading concepts will be crucial for enhancing service performance and reliability. You will collaborate within agile teams to implement REST API-based communication between microservices, aiming to significantly reduce development time through automation and code generation.
Strong candidates will possess experience with testing frameworks like JUnit and API testing platforms such as Insomnia to uphold high code quality standards. A solid understanding of concurrency and asynchronous programming is important for optimizing system throughput. While not strictly required, a broad understanding of IT software development principles and general software engineering best practices is beneficial.
This position is based in Bangalore and calls for a proactive approach to problem-solving and innovation within a fast-paced banking technology environment. You will contribute to over 20 microservices in our digital ecosystem, ensuring seamless integration and functionality. Excellent collaboration and communication skills are necessary to work effectively with cross-functional teams and stakeholders. This role offers an excellent opportunity to work with cutting-edge technologies and contribute to the digital transformation of financial services. Continuous learning and adaptation to new tools and frameworks are encouraged.
Responsibilities:
- Design, develop, and maintain Java Spring Boot microservices and RESTful APIs, utilizing Java 8-17, Spring Boot, Micronaut, and RESTful architecture to support key banking products and services.
- Implement secure authentication and authorization mechanisms using Spring Security with JWT to safeguard microservices.
- Develop and optimize API communication between microservices using Open API/Swagger and Swagger Codegen with WebClient, enhancing development efficiency.
- Collaborate with DevOps teams to deploy applications on OpenShift and manage CI/CD pipelines using Jenkins, Gradle, and GitHub Copilot.
- Utilize Oracle databases and Flyway for schema migrations, ensuring data integrity and consistency across services.
- Write comprehensive unit and integration tests using JUnit and perform API testing with Insomnia to maintain high code quality.
- Apply multithreading and concurrency principles to improve application performance and scalability within the bank's digital ecosystem.
The Senior Software Engineer position requires a strong foundation in Java, RESTful architecture, and Spring Boot, complemented by a good understanding of IT software development practices. Candidates with 4 to 9 years of experience will find this role ideal for leveraging their technical expertise to build scalable, secure, and efficient microservices in a dynamic banking environment.