- Design and develop business, application, data, and infrastructure solutions, seek opportunities to optimize performance, maintain and troubleshoot application components as required in the cloud.
- Play an active role in the architecture and be a key voice in technical initiatives and projects requiring integration of cross-functional systems.
- Design and develop with consideration for Non-Functional Requirements (Scalability, Reliability, Availability, Observability, Fault Tolerance, Security, and Maintainability).
- Create system documentation/playbook(s) and serve as technical reviewer and contributor in requirements, design, and code review.
- Develop test case design, perform test case execution, and work with product teams to resolve identified issues.
- Have the continuous improvement mindset on all areas of development and deployment.
- Use and contribute to the Continuous Integration and Continuous Delivery process.
- Write well designed, non-complex, testable, efficient code.
- Collaborate with developers across multiple products to build consensus on creation of reusable application components.
- Aid and cover for other team members where required, including troubleshooting and maintenance of production systems/programs/applications. Required Skills and experience.
- Minimum 7-10 years of Software Development experience in Java.
- Knowledge of relational and NoSQL databases and web service development standards and practices, including RESTful APIs, microservices, and SOA services.
- Expert in Functional Programming approaches, preferably in Java.
- experience working with containers, and managed container orchestrators (Kubernetes/Open Shift) in the cloud (For example AWS Elastic Kubernetes Service, Azure Kubernetes Service, Red Hat Open Shift)
- experience with microservices management like istio.
- Knowledge of Authentication and Authorization protocols like oAuth2.0 and openID Connect etc.
- Cloud-native development in the Spring/Spring Boot ecosystem and strong working knowledge of developing and deploying applications in major cloud providers (AWS or Azure)
- experience in cloud managed services and DB (RDS, NoSQL/DynamoDB, serverless, etc.)
- DevSecOps and/or automation experience in code testing, building, and deployment using tools like Vera Code, Sonar Qube, Tekton (preferred) or Jenkins, Git Hub and/or Git Lab.
- Have implemented code coverage, code complexity, code quality. Considering Observability, Monitoring, Logging, and Tracing as part of development leveraging managed services like AWS cloud watch, jaegar, kiali and Dynatrace etc. experience with Test Driven Development, exposure to Behavior Driven Development.
- Knowledge of Agile methodologies and experience working in an agile development environment using workload management tools like Version One.
- experience with system integrations, optimizing performance and data integrity.
- Passion for driving continuous improvement.
- Proactive and able to quickly pick up new technologies.
- Strong technical and non-technical communication skills. Assures smooth flowing, timely transmission of critical information.
- Excellent judgment and problem-solving skills; individual should be able to resolve problems in a calm and quick manner and display a high degree of initiative and drive.