Key Responsibilities:
1. Apply widely agreed software engineering principles and methodologies to design, develop, test, and maintain applications and services to achieve the stated business and technology goals within required budgets and timelines.
2. Oversee the quality of work, ensuring it meets the technical standards for all services output.
3. Design and implement microservices based solutions and strategy, and manage the microservices adoption process within the organization.
4. Lead and guide a team on developing solutions that fully integrate and collaborate with existing integrated systems to solve complex business problems.
5. Maintain a holistic view of enterprise solutions, considering operational costs, security, performance engineering, application development, and systems management.
6. Design and develop reusable libraries and application programming interfaces for use across the bank.
7. Design and develop software for greater automation of build, release testing, and deployment processes on all environments.
8. Design and develop high-volume, high-performance, and high-availability applications using proven frameworks and technologies.
9. Deliver software components to enable the delivery of platforms, applications, and services.
10. Support and monitor technical progress against plans, safeguarding functionality, scalability, and performance while providing updates to stakeholders.
Skills:
1. Background in software engineering, software design, or database design and architecture.
2. Minimum experience of 6-8 years in development.
3. Experience with test-driven development and the use of automated test frameworks, mocking, stubbing, and unit testing tools.
4. Knowledge of key phases of the software delivery lifecycle and established software development methodologies.
5. 15+ years of experience in software development, with at least 8 years in microservices architecture and cloud-native solutions.
6. Experience in Java full stack including Microservices, ReactJS, AWS, Spring, Spring Boot, Spring Batch, PL/SQL, Oracle, PostgreSQL, Junit, Mockito.
7. Strong knowledge of microservices design patterns (e.g., API Gateway, Service Discovery, CQRS, Event Sourcing, Saga Pattern).
8. Hands-on experience in containerization technologies such as Docker and Kubernetes.
9. Expertise in cloud platforms (AWS, GCP) and cloud-native architecture best practices.
10. Strong understanding of CI/CD pipelines, automation, and DevOps practices (e.g., Jenkins, GitLab CI).
11. Proficient in designing and developing RESTful and GraphQL APIs, integrating third-party services, and handling API versioning.
12. Expertise in event-driven architecture using message brokers such as Apache Kafka or AWS SNS/SQS.
13. Experience with container orchestration platforms like Kubernetes and Docker Swarm.
14. Proficiency in at least one programming language commonly used for microservices development (e.g., Java, Spring Boot, Node.js, Go, Python).
15. Hands-on experience with NoSQL databases (e.g., MongoDB, Cassandra) and SQL databases (e.g., PostgreSQL).
16. Strong knowledge of distributed systems, fault tolerance, and scalability.
17. Security expertise in securing microservices, including using OAuth2, JWT, and TLS encryption.
18. Experience with monitoring tools such as Grafana, Elasticsearch, and Kibana.
19. Excellent communication skills and the ability to collaborate effectively with cross-functional teams.
#J-18808-Ljbffr